gorm

package
v0.0.0-...-4f702ff Latest Latest
Warning

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

Go to latest
Published: May 31, 2023 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultLimit = 1000

Variables

View Source
var IDConditionVariants = []interface{}{
	selection_condition.ConditionEq,
	selection_condition.ConditionIn,
}

Functions

This section is empty.

Types

type BoolValueRepository

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

BoolValueRepository is a repository for the model entity

func NewBoolValueRepository

func NewBoolValueRepository(repository *repository) (*BoolValueRepository, error)

New creates a new BoolValueRepository

func (*BoolValueRepository) BatchDeleteTx

func (r *BoolValueRepository) BatchDeleteTx(ctx context.Context, cond *selection_condition.SelectionCondition, tx *gorm.DB) (err error)

func (*BoolValueRepository) BatchSaveChangesTx

func (r *BoolValueRepository) BatchSaveChangesTx(ctx context.Context, entityID uint, values []bool_value.BoolValue, langID uint, tx *gorm.DB) (err error)

type DateValueRepository

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

DateValueRepository is a repository for the model entity

func NewDateValueRepository

func NewDateValueRepository(repository *repository) (*DateValueRepository, error)

New creates a new DateValueRepository

func (*DateValueRepository) BatchDeleteTx

func (r *DateValueRepository) BatchDeleteTx(ctx context.Context, cond *selection_condition.SelectionCondition, tx *gorm.DB) (err error)

func (*DateValueRepository) BatchSaveChangesTx

func (r *DateValueRepository) BatchSaveChangesTx(ctx context.Context, entityID uint, values []date_value.DateValue, langID uint, tx *gorm.DB) (err error)

type EntityCondition

type EntityCondition struct {
	Where     selection_condition.WhereConditions
	SortOrder []map[string]string
	Limit     uint
	Offset    uint
}

type EntityRepository

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

EntityRepository is a repository for the model entity

func NewEntityRepository

func NewEntityRepository(repository *repository, valueRepositories *domain_entity.ValueRepositories) (*EntityRepository, error)

New creates a new EntityRepository

func (*EntityRepository) Create

func (r *EntityRepository) Create(ctx context.Context, entity *domain_entity.Entity, langID uint) error

Create saves a new record in the database.

func (*EntityRepository) Delete

func (r *EntityRepository) Delete(ctx context.Context, ID uint, typeID uint) error

Delete (soft) deletes a Maintenance record in the database.

func (*EntityRepository) Update

func (r *EntityRepository) Update(ctx context.Context, entity *domain_entity.Entity, langID uint) error

Update saves a changed Maintenance record in the database.

type FloatValueRepository

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

FloatValueRepository is a repository for the model entity

func NewFloatValueRepository

func NewFloatValueRepository(repository *repository) (*FloatValueRepository, error)

New creates a new FloatValueRepository

func (*FloatValueRepository) BatchDeleteTx

func (r *FloatValueRepository) BatchDeleteTx(ctx context.Context, cond *selection_condition.SelectionCondition, tx *gorm.DB) (err error)

func (*FloatValueRepository) BatchSaveChangesTx

func (r *FloatValueRepository) BatchSaveChangesTx(ctx context.Context, entityID uint, values []float_value.FloatValue, langID uint, tx *gorm.DB) (err error)

type IMapReducer

type IMapReducer interface {
	GetDB(ctx context.Context, typeID uint, ID uint) (minipkg_gorm.IDB, error)
	GetDBs(ctx context.Context, parser *SelectionConditionParser, entityWhereConditions selection_condition.WhereConditions) ([]minipkg_gorm.IDB, error)
	Query(ctx context.Context, parser *SelectionConditionParser, entityWhereConditions selection_condition.WhereConditions, f func(db minipkg_gorm.IDB) ([]SearchResult, error)) ([]SearchResult, error)
	Count(ctx context.Context, parser *SelectionConditionParser, entityWhereConditions selection_condition.WhereConditions, f func(db minipkg_gorm.IDB) (uint, error)) (uint, error)
}

type IRepository

type IRepository interface{}

IRepository is an interface of repository

func GetRepository

func GetRepository(logger log.Logger, mapReducer IMapReducer, entityName string, langFinder entity.LangFinder) (repo IRepository, err error)

GetRepository return a repository

type IntValueRepository

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

IntValueRepository is a repository for the model entity

func NewIntValueRepository

func NewIntValueRepository(repository *repository) (*IntValueRepository, error)

New creates a new IntValueRepository

func (*IntValueRepository) BatchDeleteTx

func (r *IntValueRepository) BatchDeleteTx(ctx context.Context, cond *selection_condition.SelectionCondition, tx *gorm.DB) (err error)

func (*IntValueRepository) BatchSaveChangesTx

func (r *IntValueRepository) BatchSaveChangesTx(ctx context.Context, entityID uint, values []int_value.IntValue, langID uint, tx *gorm.DB) (err error)

type MapReducer

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

func NewMapReducer

func NewMapReducer(logger log.Logger, entityTypeFinder entity.EntityTypeFinder, sharding infrastructure.Sharding) *MapReducer

func (*MapReducer) Count

func (s *MapReducer) Count(ctx context.Context, parser *SelectionConditionParser, entityWhereConditions selection_condition.WhereConditions, f func(db minipkg_gorm.IDB) (uint, error)) (uint, error)

func (*MapReducer) GetDB

func (s *MapReducer) GetDB(ctx context.Context, typeID uint, ID uint) (minipkg_gorm.IDB, error)

func (*MapReducer) GetDBs

func (s *MapReducer) GetDBs(ctx context.Context, parser *SelectionConditionParser, entityWhereConditions selection_condition.WhereConditions) ([]minipkg_gorm.IDB, error)

func (*MapReducer) Query

func (s *MapReducer) Query(ctx context.Context, parser *SelectionConditionParser, entityWhereConditions selection_condition.WhereConditions, f func(db minipkg_gorm.IDB) ([]SearchResult, error)) ([]SearchResult, error)

func (*MapReducer) ShardIndex

func (s *MapReducer) ShardIndex(shardCapacity uint, ID uint) uint

type PropertyCondition

type PropertyCondition struct {
	Where     selection_condition.WhereConditions
	SortOrder []map[string]string
}

type SearchCondition

type SearchCondition struct {
	EntityCondition      EntityCondition
	PropertiesConditions map[uint]PropertyCondition
}

type SearchResult

type SearchResult struct {
	ID             uint      `gorm:"column:id"`
	EntityTypeID   uint      `gorm:"column:entity_type_id"`
	BID            uint      `gorm:"column:b_id"`
	BPropertyID    uint      `gorm:"column:b_property_id"`
	BValue         bool      `gorm:"column:b_value"`
	IID            uint      `gorm:"column:i_id"`
	IPropertyID    uint      `gorm:"column:i_property_id"`
	IValue         int       `gorm:"column:i_value"`
	FID            uint      `gorm:"column:f_id"`
	FPropertyID    uint      `gorm:"column:f_property_id"`
	FValue         float64   `gorm:"column:f_value"`
	DID            uint      `gorm:"column:d_id"`
	DPropertyID    uint      `gorm:"column:d_property_id"`
	DValue         time.Time `gorm:"column:d_value"`
	TID            uint      `gorm:"column:t_id"`
	TPropertyID    uint      `gorm:"column:t_property_id"`
	TValue         time.Time `gorm:"column:t_value"`
	TxtID          uint      `gorm:"column:txt_id"`
	TxtLangID      uint      `gorm:"column:txt_lang_id"`
	TxtPropertyID  uint      `gorm:"column:txt_property_id"`
	TxtValue       string    `gorm:"column:txt_value"`
	UTxtID         uint      `gorm:"column:utxt_id"`
	UTxtPropertyID uint      `gorm:"column:utxt_property_id"`
	UTxtValue      string    `gorm:"column:utxt_value"`
}

type SearchService

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

func NewSearchService

func NewSearchService(logger log.Logger, mapReducer IMapReducer, entityTypeFinder entity.EntityTypeFinder, propertyFinder entity.PropertyFinder, langFinder entity.LangFinder) *SearchService

func (*SearchService) Count

func (s *SearchService) Count(ctx context.Context, condition *selection_condition.SelectionCondition, langID uint) (uint, error)

func (*SearchService) First

func (*SearchService) Get

func (s *SearchService) Get(ctx context.Context, ID uint, typeID uint, langID uint) (*entity.Entity, error)

func (*SearchService) ParseSelectionCondition

func (s *SearchService) ParseSelectionCondition(OriginalCondition *selection_condition.SelectionCondition) (*SelectionConditionParser, *SearchCondition, error)

func (*SearchService) Query

type SelectionConditionParser

type SelectionConditionParser struct {
	OriginalCondition *selection_condition.SelectionCondition
	TargetCondition   *SearchCondition
	// contains filtered or unexported fields
}

func (*SelectionConditionParser) CheckEntityTypeCondition

func (*SelectionConditionParser) CheckEntityTypeSysnameAndGetID

func (p *SelectionConditionParser) CheckEntityTypeSysnameAndGetID(value interface{}) (uint, error)

func (*SelectionConditionParser) CheckID

func (p *SelectionConditionParser) CheckID(value interface{}) (uint, error)

func (*SelectionConditionParser) CheckIDCondition

func (*SelectionConditionParser) CheckIDs

func (p *SelectionConditionParser) CheckIDs(value interface{}) ([]uint, error)

func (*SelectionConditionParser) CheckPropertySysname

func (p *SelectionConditionParser) CheckPropertySysname(value string) (string, error)

func (*SelectionConditionParser) CheckSortOrder

func (p *SelectionConditionParser) CheckSortOrder(value []map[string]string) error

func (*SelectionConditionParser) GetEntityTypeIDsAndIDsByEntityWhereConditions

func (p *SelectionConditionParser) GetEntityTypeIDsAndIDsByEntityWhereConditions(entityWhereConditions selection_condition.WhereConditions) (entityTypes []uint, IDs []uint, err error)

func (*SelectionConditionParser) ParseLimitOffset

func (p *SelectionConditionParser) ParseLimitOffset() error

func (*SelectionConditionParser) ParseSortOrder

func (p *SelectionConditionParser) ParseSortOrder() error

func (*SelectionConditionParser) ParseWhere

func (p *SelectionConditionParser) ParseWhere() error

func (*SelectionConditionParser) Run

type TextValueRepository

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

TextValueRepository is a repository for the model entity

func NewTextValueRepository

func NewTextValueRepository(repository *repository, langFinder entity.LangFinder) (*TextValueRepository, error)

New creates a new TextValueRepository

func (*TextValueRepository) BatchDeleteTx

func (r *TextValueRepository) BatchDeleteTx(ctx context.Context, cond *selection_condition.SelectionCondition, tx *gorm.DB) (err error)

func (*TextValueRepository) BatchSaveChangesTx

func (r *TextValueRepository) BatchSaveChangesTx(ctx context.Context, entityID uint, values []text_value.TextValue, langID uint, tx *gorm.DB) (err error)

func (*TextValueRepository) BatchSaveTx

func (r *TextValueRepository) BatchSaveTx(ctx context.Context, entityID uint, values []text_value.TextValue, langID uint, tx *gorm.DB) error

type TimeValueRepository

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

TimeValueRepository is a repository for the model entity

func NewTimeValueRepository

func NewTimeValueRepository(repository *repository) (*TimeValueRepository, error)

New creates a new TimeValueRepository

func (*TimeValueRepository) BatchDeleteTx

func (r *TimeValueRepository) BatchDeleteTx(ctx context.Context, cond *selection_condition.SelectionCondition, tx *gorm.DB) (err error)

func (*TimeValueRepository) BatchSaveChangesTx

func (r *TimeValueRepository) BatchSaveChangesTx(ctx context.Context, entityID uint, values []time_value.TimeValue, langID uint, tx *gorm.DB) (err error)

type UTextValueRepository

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

UTextValueRepository is a repository for the model entity

func NewUTextValueRepository

func NewUTextValueRepository(repository *repository) (*UTextValueRepository, error)

NewUTextValueRepository creates a new UTextValueRepository

func (*UTextValueRepository) BatchDeleteTx

func (r *UTextValueRepository) BatchDeleteTx(ctx context.Context, cond *selection_condition.SelectionCondition, tx *gorm.DB) (err error)

func (*UTextValueRepository) BatchSaveChangesTx

func (r *UTextValueRepository) BatchSaveChangesTx(ctx context.Context, entityID uint, values []utext_value.UTextValue, langID uint, tx *gorm.DB) (err error)

Jump to

Keyboard shortcuts

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