model

package
v0.0.0-...-60f5d5a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 18, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PageSize   = "page_size"
	PageNumber = "page_number"
	SortColumn = "sort_column"
)
View Source
const (
	DefaultPageSize              = "10"
	DefaultPageNumber            = "1"
	DefaultOrderDescendingColumn = "created_at"
)

Variables

This section is empty.

Functions

func IsUUID

func IsUUID(s string) bool

IsUUID - tests whether provided string is a valid UUID

func ResolveQueryParams

func ResolveQueryParams(l logger.Logger, queryParams map[string]any) (*coresql.Options, int, error)

func TruncateID

func TruncateID(ID string) string

Types

type Model

type Model struct {
	Config       configurer.Configurer
	Log          logger.Logger
	Store        storer.Storer
	Repositories map[string]repositor.Repositor
	Queries      map[string]querier.Querier
	Tx           *sqlx.Tx
	Err          error

	// composable functions
	RepositoriesFunc func(p preparer.Repository, tx *sqlx.Tx) ([]repositor.Repositor, error)
	QueriesFunc      func(p preparer.Query, tx *sqlx.Tx) ([]querier.Querier, error)
}

Model -

func NewModel

func NewModel(c configurer.Configurer, l logger.Logger, s storer.Storer) (m *Model, err error)

NewModel - intended for testing only, maybe move into test files..

func (*Model) Commit

func (m *Model) Commit() error

Commit -

func (*Model) Init

func (m *Model) Init(pRepo preparer.Repository, pQ preparer.Query, tx *sqlx.Tx) (err error)

Init -

func (*Model) IsUUID

func (m *Model) IsUUID(s string) bool

This remains here until all references instead call the above package function

func (*Model) NewQueriers

func (m *Model) NewQueriers(p preparer.Query, tx *sqlx.Tx) ([]querier.Querier, error)

NewQueriers - default repositor.QueriesFunc, override this function for custom queriers

func (*Model) NewRepositories

func (m *Model) NewRepositories(p preparer.Repository, tx *sqlx.Tx) ([]repositor.Repositor, error)

NewRepositories - default repositor.RepositoriesFunc, override this function for custom repositories

func (*Model) Rollback

func (m *Model) Rollback() error

Rollback -

func (*Model) SetTxLockTimeout

func (m *Model) SetTxLockTimeout(timeoutSecs float64) error

SetTxLockTimeout -

func (*Model) ValidateNullBoolField

func (m *Model) ValidateNullBoolField(field sql.NullBool, fieldName string) error

func (*Model) ValidateNullStringField

func (m *Model) ValidateNullStringField(field sql.NullString, fieldName string) error

func (*Model) ValidateStringArrayField

func (m *Model) ValidateStringArrayField(field pq.StringArray, fieldName string) error

func (*Model) ValidateStringField

func (m *Model) ValidateStringField(field string, fieldName string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL