gorm2op

package
v0.0.0-...-932f57c Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func DBCascade

func DBCascade(id model.ID, db *gorm.DB) *gorm.DB

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,
	SharedDB,
	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) GetOk

func (s *CallbackState) GetOk(key any) (v any, ok bool)

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

func (*Callbacks[T]) Clone

func (b *Callbacks[T]) Clone() *Callbacks[T]

func (*Callbacks[T]) Dot

func (b *Callbacks[T]) Dot() T

func (*Callbacks[T]) Merge

func (b *Callbacks[T]) Merge(other ...*Callbacks[T]) *Callbacks[T]

func (*Callbacks[T]) Post

func (b *Callbacks[T]) Post(f ...Callback) *Callbacks[T]

func (*Callbacks[T]) Pre

func (b *Callbacks[T]) Pre(f ...Callback) *Callbacks[T]

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 (*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 Creator

type Creator func(db *gorm.DB, obj interface{}, ctx *web.EventContext) (err error)

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 (*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 (*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 Deleter

type Deleter func(db *gorm.DB, obj interface{}, id model.ID, cascade bool, ctx *web.EventContext) (err error)

type Field

type Field struct {
	// contains filtered or unexported fields
}

func (*Field) DBName

func (f *Field) DBName() string

func (*Field) FullDBName

func (f *Field) FullDBName() string

func (*Field) GormField

func (f *Field) GormField() *schema.Field

func (*Field) Name

func (f *Field) Name() string

func (*Field) QuotedDBName

func (f *Field) QuotedDBName() string

func (*Field) QuotedFullDBName

func (f *Field) QuotedFullDBName() string

func (*Field) String

func (f *Field) String() string

type Finder

type Finder func(db *gorm.DB, obj interface{}, ctx *web.EventContext) (result any, err error)

type Mode

type Mode uint8
const (
	Search Mode = 1 << iota
	Create
	Fetch
	FetchTitle
	Update
	Delete

	Read  = Search | Fetch
	Write = Create | Update
)

func (Mode) Has

func (m Mode) Has(o Mode) bool

func (Mode) Is

func (m Mode) Is(other ...Mode) bool

func (Mode) Split

func (m Mode) Split() (r []Mode)

type NamedCallbacksRegistrator

type NamedCallbacksRegistrator map[string]*CallbacksRegistrator[*DataOperatorBuilder]

func NamedCallbacksRegistratorOf

func NamedCallbacksRegistratorOf(mb *presets.ModelBuilder) (v NamedCallbacksRegistrator)

func (NamedCallbacksRegistrator) When

type Preparer

type Preparer func(db *gorm.DB, mode Mode, obj interface{}, id model.ID, params *presets.SearchParams, ctx *web.EventContext) *gorm.DB

type SaveHasManyAssociationBuilder

type SaveHasManyAssociationBuilder struct {
	// contains filtered or unexported fields
}

func SaveHasManyAssociation

func SaveHasManyAssociation(field string) *SaveHasManyAssociationBuilder

func (*SaveHasManyAssociationBuilder) Build

func (*SaveHasManyAssociationBuilder) Post

func (*SaveHasManyAssociationBuilder) Pre

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 NewSchema

func NewSchema(db *gorm.DB, model any) *Schema

func (*Schema) FieldByName

func (s *Schema) FieldByName(name string) model.Field

func (*Schema) Fields

func (s *Schema) Fields() (fields model.Fields)

func (*Schema) FieldsByName

func (s *Schema) FieldsByName(name ...string) (fields model.Fields)

func (*Schema) Model

func (s *Schema) Model() any

func (*Schema) PrimaryFields

func (s *Schema) PrimaryFields() (fields model.Fields)

func (*Schema) Quote

func (s *Schema) Quote(v string) string

func (*Schema) QuotedTable

func (s *Schema) QuotedTable() string

func (*Schema) String

func (s *Schema) String() string

func (*Schema) Table

func (s *Schema) Table() string

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)

type Updator

type Updator func(db *gorm.DB, obj interface{}, id model.ID, ctx *web.EventContext) (err error)

Jump to

Keyboard shortcuts

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