Documentation
¶
Index ¶
- Constants
- func Count(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.SelectDataset) (int64, error)
- func Del(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.DeleteDataset) error
- func DeleteByKey(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.DeleteDataset, ...) error
- func DeleteWhere(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.DeleteDataset, ...) error
- func EmptyResult(err error) bool
- func Exec(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.SelectDataset) error
- func Exists(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.SelectDataset, ...) (bool, error)
- func Fetch(ctx context.Context, conn SqlxReaderCtx, qry *goqu.SelectDataset, target any) error
- func FetchByKey(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.SelectDataset, ...) error
- func FetchOne(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.SelectDataset, ...) error
- func FetchRecord(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.SelectDataset, ...) error
- func FetchWhere(ctx context.Context, conn SqlxReaderCtx, qry *goqu.SelectDataset, ...) error
- func Insert(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.InsertDataset, ...) error
- func InsertReturning(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.InsertDataset, ...) error
- func RawExec(ctx context.Context, conn sqlx.ExecerContext, sql string, args ...any) error
- func RegisterFactory(driverName string, factory FnRepositoryFactory)
- func Update(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.UpdateDataset) error
- func UpdateByKey(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.UpdateDataset, ...) error
- func UpdateRecord(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.UpdateDataset, ...) error
- type Builder
- type Client
- type ConnectionOptions
- type Counter
- type Deleter
- type Executor
- type FV
- type FieldSpec
- func (f *FieldSpec) AddField(dbField, alias string, searchable bool, sortable bool, filterable bool) error
- func (f *FieldSpec) FieldAliasMap() map[string]string
- func (f *FieldSpec) FilterFields() []string
- func (f *FieldSpec) LookupAlias(alias string) (string, bool)
- func (f *FieldSpec) SearchFields() []string
- func (f *FieldSpec) SortFields() []string
- type FnRepositoryFactory
- type Grid
- type GridError
- type GridFilterFunc
- type GridOps
- type GridQuery
- type Identifier
- type Reader
- type Repository
- type SqlClient
- type SqlxReaderCtx
- type Transaction
- type Updater
- type Writer
Constants ¶
const ( SortAscending = "asc" SortDescending = "desc" SearchNone = 0 SearchStart = 1 SearchEnd = 2 SearchAny = 3 DefaultPageSize = 100 )
const ( ErrDuplicatedAlias = utils.Error("alias already exists") ErrDuplicatedField = utils.Error("field already exists") ErrInvalidStructPtr = utils.Error("field spec requires a pointer to a struct") ErrNilPointer = utils.Error("ptr to struct to be parsed by field spec is nil") ErrInvalidStruct = utils.Error("field spec requires a pointer to a struct; invalid type") )
const (
ErrInvalidParameters = utils.Error("invalid parameter count or parameter is nil")
)
Variables ¶
This section is empty.
Functions ¶
func Count ¶ added in v0.2.9
func Count(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.SelectDataset) (int64, error)
func Del ¶ added in v0.2.9
func Del(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.DeleteDataset) error
func DeleteByKey ¶ added in v0.2.9
func DeleteByKey(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.DeleteDataset, keyField string, value any) error
func DeleteWhere ¶ added in v0.2.9
func DeleteWhere(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.DeleteDataset, fieldNameValue map[string]any) error
func EmptyResult ¶ added in v0.2.0
EmptyResult returns true if error is empty result
func Exec ¶ added in v0.2.9
func Exec(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.SelectDataset) error
func Fetch ¶ added in v0.2.9
func Fetch(ctx context.Context, conn SqlxReaderCtx, qry *goqu.SelectDataset, target any) error
func FetchByKey ¶ added in v0.2.9
func FetchByKey(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.SelectDataset, keyField string, value any, target any) error
func FetchOne ¶ added in v0.2.9
func FetchOne(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.SelectDataset, target any) error
func FetchRecord ¶ added in v0.2.9
func FetchRecord(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.SelectDataset, fieldValues map[string]any, target any) error
func FetchWhere ¶ added in v0.2.9
func FetchWhere(ctx context.Context, conn SqlxReaderCtx, qry *goqu.SelectDataset, fieldValues map[string]any, target any) error
func Insert ¶ added in v0.2.9
func Insert(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.InsertDataset, rows ...any) error
func InsertReturning ¶ added in v0.2.9
func InsertReturning(ctx context.Context, conn sqlx.QueryerContext, qry *goqu.InsertDataset, record any, returnFields []interface{}, target ...any) error
func RegisterFactory ¶ added in v0.4.0
func RegisterFactory(driverName string, factory FnRepositoryFactory)
RegisterFactory registers a repository factory for the given driver name
func Update ¶ added in v0.2.9
func Update(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.UpdateDataset) error
func UpdateByKey ¶ added in v0.2.9
func UpdateByKey(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.UpdateDataset, record any, keyField string, value any) error
func UpdateRecord ¶ added in v0.2.9
func UpdateRecord(ctx context.Context, conn sqlx.ExecerContext, qry *goqu.UpdateDataset, record any, whereFieldsValues map[string]any) error
Types ¶
type Builder ¶ added in v0.2.0
type Builder interface {
Sql() goqu.DialectWrapper
SqlSelect() *goqu.SelectDataset
SqlInsert() *goqu.InsertDataset
SqlUpdate() *goqu.UpdateDataset
SqlDelete() *goqu.DeleteDataset
}
type ConnectionOptions ¶ added in v0.2.0
type FieldSpec ¶ added in v0.4.0
type FieldSpec struct {
// contains filtered or unexported fields
}
func NewEmptyFieldSpec ¶ added in v0.4.0
func NewEmptyFieldSpec() *FieldSpec
func NewFieldSpec ¶ added in v0.4.0
func (*FieldSpec) AddField ¶ added in v0.4.0
func (f *FieldSpec) AddField(dbField, alias string, searchable bool, sortable bool, filterable bool) error
AddField add a field to the field map; alias is the public name of the field
func (*FieldSpec) FieldAliasMap ¶ added in v0.4.0
FieldAliasMap returns a copy of the fieldAlias map that maps db fields to alias
func (*FieldSpec) FilterFields ¶ added in v0.4.0
FilterFields return the list of filterable field alias
func (*FieldSpec) LookupAlias ¶ added in v0.4.0
LookupAlias lookup an alias and return the DbField
func (*FieldSpec) SearchFields ¶ added in v0.4.0
SearchFields return the list of filterable field alias
func (*FieldSpec) SortFields ¶ added in v0.4.0
SortFields return the list of filterable field alias
type FnRepositoryFactory ¶ added in v0.4.0
type FnRepositoryFactory func(ctx context.Context, conn *SqlClient, tableName string) Repository
type Grid ¶ added in v0.4.0
type Grid struct {
// contains filtered or unexported fields
}
func NewGridWithSpec ¶ added in v0.4.0
func (*Grid) AddFilterFunc ¶ added in v0.4.0
func (grid *Grid) AddFilterFunc(dbField string, f GridFilterFunc) *Grid
AddFilterFunc register a new filtering function filtering functions translate filtering values to db-compatible values
func (*Grid) Build ¶ added in v0.4.0
func (grid *Grid) Build(qry *goqu.SelectDataset, args GridQuery) (*goqu.SelectDataset, error)
func (*Grid) ValidQuery ¶ added in v0.4.0
ValidQuery validates if a GridQuery request is valid
type GridError ¶ added in v0.4.0
type GridFilterFunc ¶ added in v0.4.0
type GridQuery ¶ added in v0.4.0
type GridQuery struct {
SearchType uint `db:"searchType"`
SearchText string `json:"searchText,omitempty"`
FilterFields map[string]any `json:"filterFields,omitEmpty"`
SortFields map[string]string `json:"sortFields,omitempty"`
Offset uint `json:"offset,omitempty"`
Limit uint `json:"limit,omitempty"`
}
func NewGridQuery ¶ added in v0.4.0
NewGridQuery helper to create a GridQuery
type Identifier ¶ added in v0.2.0
type Reader ¶ added in v0.2.0
type Reader interface {
FetchOne(qry *goqu.SelectDataset, target any) error
FetchRecord(fieldValues map[string]any, target any) error
Fetch(qry *goqu.SelectDataset, target any) error
FetchWhere(fieldValues map[string]any, target any) error
FetchByKey(keyField string, value any, target any) error
Exists(fieldName string, fieldValue any, skip ...any) (bool, error)
}
type Repository ¶ added in v0.2.0
type Repository interface {
Identifier
Builder
Reader
Executor
Writer
Deleter
Updater
Counter
GridOps
NewTransaction(opts *sql.TxOptions) (Transaction, error)
}
func NewRepository ¶ added in v0.2.0
func NewRepository(ctx context.Context, conn *SqlClient, tableName string) Repository
type SqlClient ¶ added in v0.1.1
type SqlClient struct {
Conn *sqlx.DB
Dsn string
DriverName string
// contains filtered or unexported fields
}
func NewSqlClient ¶ added in v0.1.1
func NewSqlClient(dsn string, driverName string, connOptions ConnectionOptions) *SqlClient
func (*SqlClient) Disconnect ¶ added in v0.1.1
func (c *SqlClient) Disconnect()