Documentation ¶
Index ¶
- Constants
- Variables
- func BuildBooleanFilter(field string, filter *query.BooleanFilterOperators) func(db *gorm.DB) *gorm.DB
- func BuildDateFilter(field string, filter *query.DateFilterOperators) func(db *gorm.DB) *gorm.DB
- func BuildDoubleFilter(field string, filter *query.DoubleFilterOperators) func(db *gorm.DB) *gorm.DB
- func BuildFloatFilter(field string, filter *query.FloatFilterOperators) func(db *gorm.DB) *gorm.DB
- func BuildInt32Filter(field string, filter *query.Int32FilterOperators) func(db *gorm.DB) *gorm.DB
- func BuildInt64Filter(field string, filter *query.Int64FilterOperators) func(db *gorm.DB) *gorm.DB
- func BuildNullFilter(field string, filter *query.NullFilterOperators) func(db *gorm.DB) *gorm.DB
- func BuildStringFilter(field string, filter *query.StringFilterOperation) func(db *gorm.DB) *gorm.DB
- func NewConnStrResolver(c *conf.Endpoints, ts common.TenantStore) data.ConnStrResolver
- func NewDbOpener() (sgorm.DbOpener, func())
- func NewDbProvider(cs data.ConnStrResolver, c *sgorm.Config, opener sgorm.DbOpener) sgorm.DbProvider
- func NewGormConfig(databases *conf.Endpoints, name string) *sgorm.Config
- func PageScope(page query.Page) func(db *gorm.DB) *gorm.DB
- func RegisterCallbacks(db *gorm.DB)
- func SortScope(sort query.Sort, d []string) func(db *gorm.DB) *gorm.DB
- func WhereUserId(id interface{}) func(db *gorm.DB) *gorm.DB
- type AuditedModel
- type BuildDetailScope
- type BuildFilterScope
- type BuildPageScope
- type BuildSortScope
- type DefaultSorting
- type GetDb
- type Repo
- func (r *Repo[TEntity, TKey, TQuery]) BatchCreate(ctx context.Context, entity []*TEntity, batchSize int) error
- func (r *Repo[TEntity, TKey, TQuery]) Count(ctx context.Context, query *TQuery) (total int64, filtered int64, err error)
- func (r *Repo[TEntity, TKey, TQuery]) Create(ctx context.Context, entity *TEntity) error
- func (r *Repo[TEntity, TKey, TQuery]) Delete(ctx context.Context, id TKey) error
- func (r *Repo[TEntity, TKey, TQuery]) First(ctx context.Context, query *TQuery) (*TEntity, error)
- func (r *Repo[TEntity, TKey, TQuery]) Get(ctx context.Context, id TKey) (*TEntity, error)
- func (r *Repo[TEntity, TKey, TQuery]) List(ctx context.Context, query *TQuery) ([]*TEntity, error)
- func (r *Repo[TEntity, TKey, TQuery]) Update(ctx context.Context, id TKey, entity *TEntity, p query.Select) error
- func (r *Repo[TEntity, TKey, TQuery]) Upsert(ctx context.Context, entity *TEntity) error
- type UIDBase
- type UpdateAssociation
Constants ¶
View Source
const (
ConcurrentUpdateCode = "CONCURRENT_UPDATE"
)
Variables ¶
View Source
var (
ErrConcurrency = kerrors.Conflict(ConcurrentUpdateCode, "")
)
Functions ¶
func BuildBooleanFilter ¶ added in v0.0.2
func BuildDateFilter ¶ added in v0.0.2
func BuildDoubleFilter ¶ added in v0.0.2
func BuildFloatFilter ¶ added in v0.0.2
func BuildInt32Filter ¶ added in v0.0.2
func BuildInt64Filter ¶ added in v0.0.2
func BuildNullFilter ¶ added in v0.0.2
func BuildStringFilter ¶ added in v0.0.2
func NewConnStrResolver ¶ added in v0.0.2
func NewConnStrResolver(c *conf.Endpoints, ts common.TenantStore) data.ConnStrResolver
func NewDbOpener ¶ added in v0.0.2
func NewDbProvider ¶ added in v0.0.2
func NewDbProvider(cs data.ConnStrResolver, c *sgorm.Config, opener sgorm.DbOpener) sgorm.DbProvider
func NewGormConfig ¶ added in v0.0.2
NewGormConfig generate config from database endpoint by name.
func RegisterCallbacks ¶
RegisterCallbacks register callback into GORM DB
Types ¶
type AuditedModel ¶
type AuditedModel struct { CreatedBy *string UpdatedBy *string CreatedAt time.Time `gorm:"timestamp"` UpdatedAt time.Time `gorm:"timestamp"` }
AuditedModel make Model Auditable, embed `audited.AuditedModel` into your model as anonymous field to make the model auditable
type User struct { gorm.AuditedModel }
func (AuditedModel) GetCreatedBy ¶
func (model AuditedModel) GetCreatedBy() *string
GetCreatedBy get created by
func (AuditedModel) GetUpdatedBy ¶
func (model AuditedModel) GetUpdatedBy() *string
GetUpdatedBy get updated by
func (*AuditedModel) SetCreatedBy ¶
func (model *AuditedModel) SetCreatedBy(createdBy interface{})
SetCreatedBy set created by
func (*AuditedModel) SetUpdatedBy ¶
func (model *AuditedModel) SetUpdatedBy(updatedBy interface{})
SetUpdatedBy set updated by
type BuildDetailScope ¶ added in v0.0.2
type BuildFilterScope ¶ added in v0.0.2
type BuildPageScope ¶ added in v0.0.2
type BuildSortScope ¶ added in v0.0.2
type DefaultSorting ¶ added in v0.0.2
type DefaultSorting interface {
DefaultSorting() []string
}
type Repo ¶
type Repo[TEntity any, TKey any, TQuery any] struct { DbProvider sgorm.DbProvider Eventbus *eventbus.EventBus // contains filtered or unexported fields }
func (*Repo[TEntity, TKey, TQuery]) BatchCreate ¶ added in v0.0.2
Click to show internal directories.
Click to hide internal directories.