db

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CACHE_PREFIX      = "cache"
	CACHE_EXPIRE_TIME = time.Minute * 5
)

Variables

View Source
var DifyPluginDB *gorm.DB
View Source
var (
	ErrDatabaseNotFound = gorm.ErrRecordNotFound
)

Functions

func AppendAssociation

func AppendAssociation[T any, R any](source *T, field string, associations R, ctx ...*gorm.DB) error

func Close

func Close()

func Create

func Create(data any, ctx ...*gorm.DB) error

func CreateDatabase

func CreateDatabase(dbname string) error

NOTE: not used in production, only for testing

func CreateTable

func CreateTable(model any) error

NOTE: not used in production, only for testing

func DelAssociation

func DelAssociation[T any](field string, query ...GenericQuery) error

func Delete

func Delete(data any, ctx ...*gorm.DB) error

func DeleteByCondition

func DeleteByCondition[T any](condition T, ctx ...*gorm.DB) error

func DeleteCache

func DeleteCache[T any](p *DeleteCachePayload[T]) error

func DropTable

func DropTable(model any) error

NOTE: not used in production, only for testing

func GetAll

func GetAll[T any](query ...GenericQuery) ([]T, error)

func GetAny

func GetAny[T any](sql string, data ...interface{}) (T, error)

func GetCache

func GetCache[T any](p *GetCachePayload[T]) (*T, error)

func GetCount

func GetCount[T any](query ...GenericQuery) (int64, error)

func GetOne

func GetOne[T any](query ...GenericQuery) (T, error)

func GetSum

func GetSum[T any, R genericComparableConstraint](fields string, query ...GenericQuery) (R, error)

func Init

func Init(config *app.Config)

func ReplaceAssociation

func ReplaceAssociation[T any, R any](source *T, field string, associations []R, ctx ...*gorm.DB) error

func Run

func Run(query ...GenericQuery) error

func Update

func Update(data any, ctx ...*gorm.DB) error

func UpdateCache

func UpdateCache[T any](p *UpdateCachePayload[T]) error

func WithTransaction

func WithTransaction(fn func(tx *gorm.DB) error, ctx ...*gorm.DB) error

Types

type DeleteCachePayload

type DeleteCachePayload[T any] struct {
	Delete   func() error
	CacheKey []KeyValuePair
}

type GenericQuery

type GenericQuery func(tx *gorm.DB) *gorm.DB

func Action

func Action(fn func(tx *gorm.DB)) GenericQuery

func Dec

func Dec[T genericComparableConstraint](updates map[string]T) GenericQuery

func Equal

func Equal[T genericEqualConstraint](field string, value T) GenericQuery

func EqualOr

func EqualOr[T genericEqualConstraint](field string, value T) GenericQuery

func Fields

func Fields(fields ...string) GenericQuery

func GreaterThan

func GreaterThan[T genericComparableConstraint](field string, value T) GenericQuery

func GreaterThanOrEqual

func GreaterThanOrEqual[T genericComparableConstraint](field string, value T) GenericQuery

func InArray

func InArray(field string, value []interface{}) GenericQuery

func Inc

func Inc[T genericComparableConstraint](updates map[string]T) GenericQuery

func Join

func Join(field string) GenericQuery

func LessThan

func LessThan[T genericComparableConstraint](field string, value T) GenericQuery

func LessThanOrEqual

func LessThanOrEqual[T genericComparableConstraint](field string, value T) GenericQuery

func Like

func Like(field string, value string) GenericQuery

func Model

func Model(model any) GenericQuery

func NotEqual

func NotEqual[T genericEqualConstraint](field string, value T) GenericQuery

func OrderBy

func OrderBy(field string, desc bool) GenericQuery

func Page

func Page(page int, pageSize int) GenericQuery

func Preload

func Preload(model string, args ...interface{}) GenericQuery

func WLock

func WLock() GenericQuery

func Where

func Where[T any](model *T) GenericQuery

func WhereSQL

func WhereSQL(sql string, args ...interface{}) GenericQuery

func WithBit

func WithBit[T genericComparableConstraint](field string, value T) GenericQuery

bitwise operation

func WithTransactionContext

func WithTransactionContext(tx *gorm.DB) GenericQuery

Should be used first in query chain

func WithoutBit

func WithoutBit[T genericComparableConstraint](field string, value T) GenericQuery

type GetCachePayload

type GetCachePayload[T any] struct {
	Getter   func() (*T, error)
	CacheKey []KeyValuePair
}

type KeyValuePair

type KeyValuePair struct {
	Key string
	Val any
}

type UpdateCachePayload

type UpdateCachePayload[T any] struct {
	Update   func() error
	CacheKey []KeyValuePair
}

Jump to

Keyboard shortcuts

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