Documentation
¶
Index ¶
- Variables
- func AddCallbacksToContext(ctx context.Context, cb ...*CallbacksRegistrator[*DataOperatorBuilder]) context.Context
- func DBCascade(id model.ID, db *gorm.DB) *gorm.DB
- func NewCallbacks[T CallbacksGetter[T]](dot T) T
- type Callback
- type CallbackMerger
- type CallbackSlice
- type CallbackState
- type Callbacks
- func (b *Callbacks[T]) Build(do ...Callback) CallbackSlice
- func (b *Callbacks[T]) Clone() *Callbacks[T]
- func (b *Callbacks[T]) Dot() T
- func (b *Callbacks[T]) Merge(other ...*Callbacks[T]) *Callbacks[T]
- func (b *Callbacks[T]) Post(f ...Callback) *Callbacks[T]
- func (b *Callbacks[T]) Pre(f ...Callback) *Callbacks[T]
- type CallbacksGetter
- type CallbacksKeyType
- type CallbacksRegistrator
- func (b *CallbacksRegistrator[T]) Callbacks() *CallbacksRegistrator[T]
- func (b *CallbacksRegistrator[T]) CreateCallbacks() *Callbacks[T]
- func (b *CallbacksRegistrator[T]) DeleteCallbacks() *Callbacks[T]
- func (b *CallbacksRegistrator[T]) Dot() T
- func (b *CallbacksRegistrator[T]) EachModeSplitCallbacks(mode Mode, do func(cb *Callbacks[T])) *CallbacksRegistrator[T]
- func (b *CallbacksRegistrator[T]) FetchCallbacks() *Callbacks[T]
- func (b *CallbacksRegistrator[T]) Merge(other *CallbacksRegistrator[T]) *CallbacksRegistrator[T]
- func (b *CallbacksRegistrator[T]) ModeCallbacks(mode Mode) (cb *Callbacks[T])
- func (b *CallbacksRegistrator[T]) SearchCallbacks() *Callbacks[T]
- func (b *CallbacksRegistrator[T]) SetDot(dot T) T
- func (b *CallbacksRegistrator[T]) UpdateCallbacks() *Callbacks[T]
- func (b *CallbacksRegistrator[T]) WithCallbacks(c *Callbacks[T], do func(cb *Callbacks[T])) T
- func (b *CallbacksRegistrator[T]) WithCreateCallbacks(do func(cb *Callbacks[T])) T
- func (b *CallbacksRegistrator[T]) WithDeleteCallbacks(do func(cb *Callbacks[T])) T
- func (b *CallbacksRegistrator[T]) WithFetchCallbacks(do func(cb *Callbacks[T])) T
- func (b *CallbacksRegistrator[T]) WithModeCallbacks(mode Mode, do func(cb *Callbacks[T])) T
- func (b *CallbacksRegistrator[T]) WithModeSplitCallbacks(mode Mode, do func(cb *Callbacks[T])) T
- func (b *CallbacksRegistrator[T]) WithReadCallbacks(do func(cb *Callbacks[T])) T
- func (b *CallbacksRegistrator[T]) WithSearchCallbacks(do func(cb *Callbacks[T])) T
- func (b *CallbacksRegistrator[T]) WithUpdateCallbacks(do func(cb *Callbacks[T])) T
- func (b *CallbacksRegistrator[T]) WithWriteCallbacks(do func(cb *Callbacks[T])) T
- type Creator
- type DataOperatorBuilder
- func (b DataOperatorBuilder) Clone() *DataOperatorBuilder
- func (b *DataOperatorBuilder) CloneDataOperator() data.DataOperator
- func (b *DataOperatorBuilder) Create(obj interface{}, ctx *web.EventContext) (err error)
- func (b *DataOperatorBuilder) Creator() Creator
- func (b *DataOperatorBuilder) DB() *gorm.DB
- func (b *DataOperatorBuilder) Delete(obj interface{}, id model.ID, cascade bool, ctx *web.EventContext) (err error)
- func (b *DataOperatorBuilder) Deleter() Deleter
- func (b *DataOperatorBuilder) Fetch(obj interface{}, id model.ID, ctx *web.EventContext) (err error)
- func (b *DataOperatorBuilder) FetchTitle(obj interface{}, id model.ID, ctx *web.EventContext) (err error)
- func (b *DataOperatorBuilder) Finder() Finder
- func (b *DataOperatorBuilder) GetCallbacks(mode Mode, ctx *web.EventContext) *Callbacks[*DataOperatorBuilder]
- func (b *DataOperatorBuilder) NewCallbackState(db *gorm.DB, obj any, ctx *web.EventContext) *CallbackState
- func (b *DataOperatorBuilder) Prepare(mode Mode, obj interface{}, id model.ID, params *presets.SearchParams, ...) *gorm.DB
- func (b *DataOperatorBuilder) Preparer() Preparer
- func (b *DataOperatorBuilder) Save(obj interface{}, id model.ID, ctx *web.EventContext) (err error)
- func (s *DataOperatorBuilder) Schema(model any) (ms model.Schema, _ error)
- func (b *DataOperatorBuilder) Search(obj interface{}, params *presets.SearchParams, ctx *web.EventContext) (r interface{}, totalCount int, err error)
- func (b *DataOperatorBuilder) SetCreator(creator Creator) *DataOperatorBuilder
- func (b *DataOperatorBuilder) SetDB(db *gorm.DB) *DataOperatorBuilder
- func (b *DataOperatorBuilder) SetDeleter(deleter Deleter) *DataOperatorBuilder
- func (b *DataOperatorBuilder) SetFinder(finder Finder) *DataOperatorBuilder
- func (b *DataOperatorBuilder) SetPreparer(prepare Preparer) *DataOperatorBuilder
- func (b *DataOperatorBuilder) SetUpdator(updator Updator) *DataOperatorBuilder
- func (b *DataOperatorBuilder) Update(obj interface{}, id model.ID, ctx *web.EventContext) (err error)
- func (b *DataOperatorBuilder) Updator() Updator
- func (b *DataOperatorBuilder) WrapPrepare(f func(old Preparer) Preparer) *DataOperatorBuilder
- type Deleter
- type Field
- type Finder
- type Mode
- type NamedCallbacksRegistrator
- type Preparer
- type SaveHasManyAssociationBuilder
- func (b *SaveHasManyAssociationBuilder) Build(ob *DataOperatorBuilder) *DataOperatorBuilder
- func (b *SaveHasManyAssociationBuilder) Post(f ...Callback) *SaveHasManyAssociationBuilder
- func (b *SaveHasManyAssociationBuilder) Pre(f ...Callback) *SaveHasManyAssociationBuilder
- func (b *SaveHasManyAssociationBuilder) Updator(f func(db *gorm.DB, r any) (err error)) *SaveHasManyAssociationBuilder
- type Schema
- func (s *Schema) FieldByName(name string) model.Field
- func (s *Schema) Fields() (fields model.Fields)
- func (s *Schema) FieldsByName(name ...string) (fields model.Fields)
- func (s *Schema) Model() any
- func (s *Schema) PrimaryFields() (fields model.Fields)
- func (s *Schema) Quote(v string) string
- func (s *Schema) QuotedTable() string
- func (s *Schema) String() string
- func (s *Schema) Table() string
- type SetTableNameClauseBuilder
- type Updator
Constants ¶
This section is empty.
Variables ¶
View Source
var Modes = []Mode{Search, Create, Fetch, FetchTitle, Update, Delete}
Functions ¶
func AddCallbacksToContext ¶
func AddCallbacksToContext(ctx context.Context, cb ...*CallbacksRegistrator[*DataOperatorBuilder]) context.Context
func NewCallbacks ¶
func NewCallbacks[T CallbacksGetter[T]](dot T) T
Types ¶
type Callback ¶
type Callback func(state *CallbackState) (err error)
type CallbackMerger ¶
type CallbackMerger func(mode Mode, params *presets.SearchParams, ctx *web.EventContext) []CallbacksRegistrator[*DataOperatorBuilder]
type CallbackSlice ¶
type CallbackSlice []Callback
func (CallbackSlice) Execute ¶
func (b CallbackSlice) Execute(state *CallbackState) (err error)
type CallbackState ¶
type CallbackState struct { CommonDB, DB *gorm.DB SearchParams *presets.SearchParams Return any Obj interface{} Ctx *web.EventContext // contains filtered or unexported fields }
func (*CallbackState) Done ¶
func (s *CallbackState) Done(f func() error) *CallbackState
func (*CallbackState) Get ¶
func (s *CallbackState) Get(key any) any
func (*CallbackState) Set ¶
func (s *CallbackState) Set(key any, value any) *CallbackState
type Callbacks ¶
type Callbacks[T any] struct { // contains filtered or unexported fields }
func (*Callbacks[T]) Build ¶
func (b *Callbacks[T]) Build(do ...Callback) CallbackSlice
type CallbacksGetter ¶
type CallbacksGetter[T any] interface { Callbacks() *CallbacksRegistrator[T] }
type CallbacksKeyType ¶
type CallbacksKeyType string
const ( NamedCallbacksRegistratorKey CallbacksKeyType = "callbacksRegistrator" CallbacksKey CallbacksKeyType = "callbacks" )
type CallbacksRegistrator ¶
type CallbacksRegistrator[T any] struct { // contains filtered or unexported fields }
func GetContextCallbacks ¶
func GetContextCallbacks(ctx context.Context) (v []*CallbacksRegistrator[*DataOperatorBuilder])
func NewCallbacksRegistrator ¶
func NewCallbacksRegistrator() *CallbacksRegistrator[*DataOperatorBuilder]
func (*CallbacksRegistrator[T]) Callbacks ¶
func (b *CallbacksRegistrator[T]) Callbacks() *CallbacksRegistrator[T]
func (*CallbacksRegistrator[T]) CreateCallbacks ¶
func (b *CallbacksRegistrator[T]) CreateCallbacks() *Callbacks[T]
func (*CallbacksRegistrator[T]) DeleteCallbacks ¶
func (b *CallbacksRegistrator[T]) DeleteCallbacks() *Callbacks[T]
func (*CallbacksRegistrator[T]) Dot ¶
func (b *CallbacksRegistrator[T]) Dot() T
func (*CallbacksRegistrator[T]) EachModeSplitCallbacks ¶
func (b *CallbacksRegistrator[T]) EachModeSplitCallbacks(mode Mode, do func(cb *Callbacks[T])) *CallbacksRegistrator[T]
func (*CallbacksRegistrator[T]) FetchCallbacks ¶
func (b *CallbacksRegistrator[T]) FetchCallbacks() *Callbacks[T]
func (*CallbacksRegistrator[T]) Merge ¶
func (b *CallbacksRegistrator[T]) Merge(other *CallbacksRegistrator[T]) *CallbacksRegistrator[T]
func (*CallbacksRegistrator[T]) ModeCallbacks ¶
func (b *CallbacksRegistrator[T]) ModeCallbacks(mode Mode) (cb *Callbacks[T])
func (*CallbacksRegistrator[T]) SearchCallbacks ¶
func (b *CallbacksRegistrator[T]) SearchCallbacks() *Callbacks[T]
func (*CallbacksRegistrator[T]) SetDot ¶
func (b *CallbacksRegistrator[T]) SetDot(dot T) T
func (*CallbacksRegistrator[T]) UpdateCallbacks ¶
func (b *CallbacksRegistrator[T]) UpdateCallbacks() *Callbacks[T]
func (*CallbacksRegistrator[T]) WithCallbacks ¶
func (b *CallbacksRegistrator[T]) WithCallbacks(c *Callbacks[T], do func(cb *Callbacks[T])) T
func (*CallbacksRegistrator[T]) WithCreateCallbacks ¶
func (b *CallbacksRegistrator[T]) WithCreateCallbacks(do func(cb *Callbacks[T])) T
func (*CallbacksRegistrator[T]) WithDeleteCallbacks ¶
func (b *CallbacksRegistrator[T]) WithDeleteCallbacks(do func(cb *Callbacks[T])) T
func (*CallbacksRegistrator[T]) WithFetchCallbacks ¶
func (b *CallbacksRegistrator[T]) WithFetchCallbacks(do func(cb *Callbacks[T])) T
func (*CallbacksRegistrator[T]) WithModeCallbacks ¶
func (b *CallbacksRegistrator[T]) WithModeCallbacks(mode Mode, do func(cb *Callbacks[T])) T
func (*CallbacksRegistrator[T]) WithModeSplitCallbacks ¶
func (b *CallbacksRegistrator[T]) WithModeSplitCallbacks(mode Mode, do func(cb *Callbacks[T])) T
func (*CallbacksRegistrator[T]) WithReadCallbacks ¶
func (b *CallbacksRegistrator[T]) WithReadCallbacks(do func(cb *Callbacks[T])) T
func (*CallbacksRegistrator[T]) WithSearchCallbacks ¶
func (b *CallbacksRegistrator[T]) WithSearchCallbacks(do func(cb *Callbacks[T])) T
func (*CallbacksRegistrator[T]) WithUpdateCallbacks ¶
func (b *CallbacksRegistrator[T]) WithUpdateCallbacks(do func(cb *Callbacks[T])) T
func (*CallbacksRegistrator[T]) WithWriteCallbacks ¶
func (b *CallbacksRegistrator[T]) WithWriteCallbacks(do func(cb *Callbacks[T])) T
type DataOperatorBuilder ¶
type DataOperatorBuilder struct { CallbacksRegistrator[*DataOperatorBuilder] // contains filtered or unexported fields }
func DataOperator ¶
func DataOperator(db *gorm.DB) (r *DataOperatorBuilder)
func (DataOperatorBuilder) Clone ¶
func (b DataOperatorBuilder) Clone() *DataOperatorBuilder
func (*DataOperatorBuilder) CloneDataOperator ¶
func (b *DataOperatorBuilder) CloneDataOperator() data.DataOperator
func (*DataOperatorBuilder) Create ¶
func (b *DataOperatorBuilder) Create(obj interface{}, ctx *web.EventContext) (err error)
func (*DataOperatorBuilder) Creator ¶
func (b *DataOperatorBuilder) Creator() Creator
func (*DataOperatorBuilder) DB ¶
func (b *DataOperatorBuilder) DB() *gorm.DB
func (*DataOperatorBuilder) Delete ¶
func (b *DataOperatorBuilder) Delete(obj interface{}, id model.ID, cascade bool, ctx *web.EventContext) (err error)
func (*DataOperatorBuilder) Deleter ¶
func (b *DataOperatorBuilder) Deleter() Deleter
func (*DataOperatorBuilder) Fetch ¶
func (b *DataOperatorBuilder) Fetch(obj interface{}, id model.ID, ctx *web.EventContext) (err error)
func (*DataOperatorBuilder) FetchTitle ¶
func (b *DataOperatorBuilder) FetchTitle(obj interface{}, id model.ID, ctx *web.EventContext) (err error)
func (*DataOperatorBuilder) Finder ¶
func (b *DataOperatorBuilder) Finder() Finder
func (*DataOperatorBuilder) GetCallbacks ¶
func (b *DataOperatorBuilder) GetCallbacks(mode Mode, ctx *web.EventContext) *Callbacks[*DataOperatorBuilder]
func (*DataOperatorBuilder) NewCallbackState ¶
func (b *DataOperatorBuilder) NewCallbackState(db *gorm.DB, obj any, ctx *web.EventContext) *CallbackState
func (*DataOperatorBuilder) Prepare ¶
func (b *DataOperatorBuilder) Prepare(mode Mode, obj interface{}, id model.ID, params *presets.SearchParams, ctx *web.EventContext) *gorm.DB
func (*DataOperatorBuilder) Preparer ¶
func (b *DataOperatorBuilder) Preparer() Preparer
func (*DataOperatorBuilder) Save ¶
func (b *DataOperatorBuilder) Save(obj interface{}, id model.ID, ctx *web.EventContext) (err error)
func (*DataOperatorBuilder) Schema ¶
func (s *DataOperatorBuilder) Schema(model any) (ms model.Schema, _ error)
func (*DataOperatorBuilder) Search ¶
func (b *DataOperatorBuilder) Search(obj interface{}, params *presets.SearchParams, ctx *web.EventContext) (r interface{}, totalCount int, err error)
func (*DataOperatorBuilder) SetCreator ¶
func (b *DataOperatorBuilder) SetCreator(creator Creator) *DataOperatorBuilder
func (*DataOperatorBuilder) SetDB ¶
func (b *DataOperatorBuilder) SetDB(db *gorm.DB) *DataOperatorBuilder
func (*DataOperatorBuilder) SetDeleter ¶
func (b *DataOperatorBuilder) SetDeleter(deleter Deleter) *DataOperatorBuilder
func (*DataOperatorBuilder) SetFinder ¶
func (b *DataOperatorBuilder) SetFinder(finder Finder) *DataOperatorBuilder
func (*DataOperatorBuilder) SetPreparer ¶
func (b *DataOperatorBuilder) SetPreparer(prepare Preparer) *DataOperatorBuilder
func (*DataOperatorBuilder) SetUpdator ¶
func (b *DataOperatorBuilder) SetUpdator(updator Updator) *DataOperatorBuilder
func (*DataOperatorBuilder) Update ¶
func (b *DataOperatorBuilder) Update(obj interface{}, id model.ID, ctx *web.EventContext) (err error)
func (*DataOperatorBuilder) Updator ¶
func (b *DataOperatorBuilder) Updator() Updator
func (*DataOperatorBuilder) WrapPrepare ¶
func (b *DataOperatorBuilder) WrapPrepare(f func(old Preparer) Preparer) *DataOperatorBuilder
type Field ¶
type Field struct {
// contains filtered or unexported fields
}
func (*Field) FullDBName ¶
func (*Field) QuotedDBName ¶
func (*Field) QuotedFullDBName ¶
type NamedCallbacksRegistrator ¶
type NamedCallbacksRegistrator map[string]*CallbacksRegistrator[*DataOperatorBuilder]
func NamedCallbacksRegistratorOf ¶
func NamedCallbacksRegistratorOf(mb *presets.ModelBuilder) (v NamedCallbacksRegistrator)
func (NamedCallbacksRegistrator) When ¶
func (n NamedCallbacksRegistrator) When(name string) (v *CallbacksRegistrator[*DataOperatorBuilder])
type SaveHasManyAssociationBuilder ¶
type SaveHasManyAssociationBuilder struct {
// contains filtered or unexported fields
}
func SaveHasManyAssociation ¶
func SaveHasManyAssociation(field string) *SaveHasManyAssociationBuilder
func (*SaveHasManyAssociationBuilder) Build ¶
func (b *SaveHasManyAssociationBuilder) Build(ob *DataOperatorBuilder) *DataOperatorBuilder
func (*SaveHasManyAssociationBuilder) Post ¶
func (b *SaveHasManyAssociationBuilder) Post(f ...Callback) *SaveHasManyAssociationBuilder
func (*SaveHasManyAssociationBuilder) Pre ¶
func (b *SaveHasManyAssociationBuilder) Pre(f ...Callback) *SaveHasManyAssociationBuilder
func (*SaveHasManyAssociationBuilder) Updator ¶
func (b *SaveHasManyAssociationBuilder) Updator(f func(db *gorm.DB, r any) (err error)) *SaveHasManyAssociationBuilder
type Schema ¶
type Schema struct {
// contains filtered or unexported fields
}
func (*Schema) PrimaryFields ¶
func (*Schema) QuotedTable ¶
type SetTableNameClauseBuilder ¶
type SetTableNameClauseBuilder struct {
TableName string
}
func (SetTableNameClauseBuilder) Build ¶
func (h SetTableNameClauseBuilder) Build(builder clause.Builder)
func (SetTableNameClauseBuilder) ModifyStatement ¶
func (h SetTableNameClauseBuilder) ModifyStatement(stmt *gorm.Statement)
Click to show internal directories.
Click to hide internal directories.