base

package
v0.0.0-...-97b7911 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CommonDealList

func CommonDealList(db *gorm.DB, example interface{}, option *meta.ListOption) (tx *gorm.DB)

func CompositeQuery

func CompositeQuery(db *gorm.DB, chainRoot *meta.WhereNode) (tx *gorm.DB)

Types

type BaseModel

type BaseModel any

type BasicCURD

type BasicCURD[T BaseModel] interface {
	CreateMixin[T]
	DeleteMixin[T]
	UpdateMixin[T]
	GetMixin[T]
}

type CreateMixin

type CreateMixin[T BaseModel] interface {
	Create(ctx context.Context, t *T, option *meta.CreateOption) error
	// CreateMany2Many(ctx context.Context, t *T, ids interface{}, option *meta.CreateOption) error
	CreateCollection(ctx context.Context, t []*T, option *meta.CreateCollectionOption) []error
}

type DeleteMixin

type DeleteMixin[T BaseModel] interface {
	Delete(ctx context.Context, t *T, option *meta.DeleteOption) error
	DeleteCollection(ctx context.Context, t []*T, option *meta.DeleteCollectionOption) []error
}

type GetMixin

type GetMixin[T BaseModel] interface {
	Get(ctx context.Context, t *T, option *meta.GetOption) (*T, error)
	Count(ctx context.Context, t *T, option *meta.GetOption) (int64, error)
	CountComplex(ctx context.Context, example *T, condition *meta.WhereNode, option *meta.GetOption) (int64, error)
	List(ctx context.Context, t *T, option *meta.ListOption) ([]*T, error)
	ListComplex(ctx context.Context, example *T, condition *meta.WhereNode, option *meta.ListOption) ([]*T, error)
}

type PgModel

type PgModel[T BaseModel] struct {
	DB *gorm.DB
}

func (*PgModel[T]) Count

func (p *PgModel[T]) Count(ctx context.Context, t *T, option *meta.GetOption) (int64, error)

func (*PgModel[T]) CountComplex

func (p *PgModel[T]) CountComplex(ctx context.Context, example *T, condition *meta.WhereNode, option *meta.GetOption) (int64, error)

func (*PgModel[T]) CountComplexDB

func (p *PgModel[T]) CountComplexDB(ctx context.Context, example *T, condition *meta.WhereNode, option *meta.GetOption) *gorm.DB

func (*PgModel[T]) CountComplexUnscoped

func (p *PgModel[T]) CountComplexUnscoped(ctx context.Context, example *T, condition *meta.WhereNode, option *meta.GetOption) (int64, error)

func (*PgModel[T]) CountDB

func (p *PgModel[T]) CountDB(ctx context.Context, t *T, option *meta.GetOption) *gorm.DB

func (*PgModel[T]) CountUnscoped

func (p *PgModel[T]) CountUnscoped(ctx context.Context, t *T, option *meta.GetOption) (int64, error)

func (*PgModel[T]) Create

func (p *PgModel[T]) Create(ctx context.Context, t *T, option *meta.CreateOption) error

func (*PgModel[T]) CreateCollection

func (p *PgModel[T]) CreateCollection(ctx context.Context, t []*T, option *meta.CreateCollectionOption) []error

func (*PgModel[T]) CreateMany2Many

func (p *PgModel[T]) CreateMany2Many(ctx context.Context, t *T, ids interface{}, option *meta.CreateOption) error

func (*PgModel[T]) Delete

func (p *PgModel[T]) Delete(ctx context.Context, t *T, option *meta.DeleteOption) error

func (PgModel[T]) DeleteByIds

func (p PgModel[T]) DeleteByIds(ctx context.Context, ids []uint) error

func (*PgModel[T]) DeleteCollection

func (p *PgModel[T]) DeleteCollection(ctx context.Context, t []*T, option *meta.DeleteCollectionOption) []error

func (*PgModel[T]) Get

func (p *PgModel[T]) Get(ctx context.Context, t *T, option *meta.GetOption) (*T, error)

func (*PgModel[T]) List

func (p *PgModel[T]) List(ctx context.Context, t *T, option *meta.ListOption) ([]*T, error)

func (*PgModel[T]) ListComplex

func (p *PgModel[T]) ListComplex(ctx context.Context, example *T, condition *meta.WhereNode, option *meta.ListOption) ([]*T, error)

func (*PgModel[T]) ListComplexDB

func (p *PgModel[T]) ListComplexDB(ctx context.Context, example *T, condition *meta.WhereNode, option *meta.ListOption) *gorm.DB

func (*PgModel[T]) ListComplexUnscoped

func (p *PgModel[T]) ListComplexUnscoped(ctx context.Context, example *T, condition *meta.WhereNode, option *meta.ListOption) ([]*T, error)

func (*PgModel[T]) ListDB

func (p *PgModel[T]) ListDB(ctx context.Context, t *T, option *meta.ListOption) *gorm.DB

func (*PgModel[T]) ListUnscoped

func (p *PgModel[T]) ListUnscoped(ctx context.Context, t *T, option *meta.ListOption) ([]*T, error)

func (*PgModel[T]) Save

func (p *PgModel[T]) Save(ctx context.Context, t *T, option *meta.UpdateOption) error

func (*PgModel[T]) Update

func (p *PgModel[T]) Update(ctx context.Context, t *T, option *meta.UpdateOption) error

func (*PgModel[T]) UpdateByWhere

func (p *PgModel[T]) UpdateByWhere(ctx context.Context, node *meta.WhereNode, example *T, option *meta.UpdateOption) error

func (*PgModel[T]) UpdateCollection

func (p *PgModel[T]) UpdateCollection(ctx context.Context, t []*T, option *meta.UpdateCollectionOption) []error

type UpdateMixin

type UpdateMixin[T BaseModel] interface {
	Update(ctx context.Context, t *T, option *meta.UpdateOption) error
	UpdateByWhere(ctx context.Context, node *meta.WhereNode, example *T, option *meta.UpdateOption) error
	UpdateCollection(ctx context.Context, t []*T, option *meta.UpdateCollectionOption) []error
	Save(ctx context.Context, t *T, option *meta.UpdateOption) error
}

Jump to

Keyboard shortcuts

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