// Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. package dao import ( "context" "gorm.io/gorm" "gorm.io/gorm/clause" "gorm.io/gorm/schema" "gorm.io/gen" "gorm.io/gen/field" "gorm.io/plugin/dbresolver" "leafdev.top/Leaf/api-platform/internal/entity" ) func newPromoCode(db *gorm.DB, opts ...gen.DOOption) promoCode { _promoCode := promoCode{} _promoCode.promoCodeDo.UseDB(db, opts...) _promoCode.promoCodeDo.UseModel(&entity.PromoCode{}) tableName := _promoCode.promoCodeDo.TableName() _promoCode.ALL = field.NewAsterisk(tableName) _promoCode.Id = field.NewUint(tableName, "id") _promoCode.CreatedAt = field.NewTime(tableName, "created_at") _promoCode.UpdatedAt = field.NewTime(tableName, "updated_at") _promoCode.Code = field.NewString(tableName, "code") _promoCode.DiscountType = field.NewString(tableName, "discount_type") _promoCode.DiscountValue = field.NewFloat64(tableName, "discount_value") _promoCode.ExpirationDate = field.NewTime(tableName, "expiration_date") _promoCode.IsActive = field.NewBool(tableName, "is_active") _promoCode.DeletedAt = field.NewField(tableName, "deleted_at") _promoCode.fillFieldMap() return _promoCode } type promoCode struct { promoCodeDo ALL field.Asterisk Id field.Uint CreatedAt field.Time UpdatedAt field.Time Code field.String DiscountType field.String DiscountValue field.Float64 ExpirationDate field.Time IsActive field.Bool DeletedAt field.Field fieldMap map[string]field.Expr } func (p promoCode) Table(newTableName string) *promoCode { p.promoCodeDo.UseTable(newTableName) return p.updateTableName(newTableName) } func (p promoCode) As(alias string) *promoCode { p.promoCodeDo.DO = *(p.promoCodeDo.As(alias).(*gen.DO)) return p.updateTableName(alias) } func (p *promoCode) updateTableName(table string) *promoCode { p.ALL = field.NewAsterisk(table) p.Id = field.NewUint(table, "id") p.CreatedAt = field.NewTime(table, "created_at") p.UpdatedAt = field.NewTime(table, "updated_at") p.Code = field.NewString(table, "code") p.DiscountType = field.NewString(table, "discount_type") p.DiscountValue = field.NewFloat64(table, "discount_value") p.ExpirationDate = field.NewTime(table, "expiration_date") p.IsActive = field.NewBool(table, "is_active") p.DeletedAt = field.NewField(table, "deleted_at") p.fillFieldMap() return p } func (p *promoCode) GetFieldByName(fieldName string) (field.OrderExpr, bool) { _f, ok := p.fieldMap[fieldName] if !ok || _f == nil { return nil, false } _oe, ok := _f.(field.OrderExpr) return _oe, ok } func (p *promoCode) fillFieldMap() { p.fieldMap = make(map[string]field.Expr, 9) p.fieldMap["id"] = p.Id p.fieldMap["created_at"] = p.CreatedAt p.fieldMap["updated_at"] = p.UpdatedAt p.fieldMap["code"] = p.Code p.fieldMap["discount_type"] = p.DiscountType p.fieldMap["discount_value"] = p.DiscountValue p.fieldMap["expiration_date"] = p.ExpirationDate p.fieldMap["is_active"] = p.IsActive p.fieldMap["deleted_at"] = p.DeletedAt } func (p promoCode) clone(db *gorm.DB) promoCode { p.promoCodeDo.ReplaceConnPool(db.Statement.ConnPool) return p } func (p promoCode) replaceDB(db *gorm.DB) promoCode { p.promoCodeDo.ReplaceDB(db) return p } type promoCodeDo struct{ gen.DO } type IPromoCodeDo interface { gen.SubQuery Debug() IPromoCodeDo WithContext(ctx context.Context) IPromoCodeDo WithResult(fc func(tx gen.Dao)) gen.ResultInfo ReplaceDB(db *gorm.DB) ReadDB() IPromoCodeDo WriteDB() IPromoCodeDo As(alias string) gen.Dao Session(config *gorm.Session) IPromoCodeDo Columns(cols ...field.Expr) gen.Columns Clauses(conds ...clause.Expression) IPromoCodeDo Not(conds ...gen.Condition) IPromoCodeDo Or(conds ...gen.Condition) IPromoCodeDo Select(conds ...field.Expr) IPromoCodeDo Where(conds ...gen.Condition) IPromoCodeDo Order(conds ...field.Expr) IPromoCodeDo Distinct(cols ...field.Expr) IPromoCodeDo Omit(cols ...field.Expr) IPromoCodeDo Join(table schema.Tabler, on ...field.Expr) IPromoCodeDo LeftJoin(table schema.Tabler, on ...field.Expr) IPromoCodeDo RightJoin(table schema.Tabler, on ...field.Expr) IPromoCodeDo Group(cols ...field.Expr) IPromoCodeDo Having(conds ...gen.Condition) IPromoCodeDo Limit(limit int) IPromoCodeDo Offset(offset int) IPromoCodeDo Count() (count int64, err error) Scopes(funcs ...func(gen.Dao) gen.Dao) IPromoCodeDo Unscoped() IPromoCodeDo Create(values ...*entity.PromoCode) error CreateInBatches(values []*entity.PromoCode, batchSize int) error Save(values ...*entity.PromoCode) error First() (*entity.PromoCode, error) Take() (*entity.PromoCode, error) Last() (*entity.PromoCode, error) Find() ([]*entity.PromoCode, error) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*entity.PromoCode, err error) FindInBatches(result *[]*entity.PromoCode, batchSize int, fc func(tx gen.Dao, batch int) error) error Pluck(column field.Expr, dest interface{}) error Delete(...*entity.PromoCode) (info gen.ResultInfo, err error) Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) Updates(value interface{}) (info gen.ResultInfo, err error) UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) UpdateColumns(value interface{}) (info gen.ResultInfo, err error) UpdateFrom(q gen.SubQuery) gen.Dao Attrs(attrs ...field.AssignExpr) IPromoCodeDo Assign(attrs ...field.AssignExpr) IPromoCodeDo Joins(fields ...field.RelationField) IPromoCodeDo Preload(fields ...field.RelationField) IPromoCodeDo FirstOrInit() (*entity.PromoCode, error) FirstOrCreate() (*entity.PromoCode, error) FindByPage(offset int, limit int) (result []*entity.PromoCode, count int64, err error) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) Scan(result interface{}) (err error) Returning(value interface{}, columns ...string) IPromoCodeDo UnderlyingDB() *gorm.DB schema.Tabler } func (p promoCodeDo) Debug() IPromoCodeDo { return p.withDO(p.DO.Debug()) } func (p promoCodeDo) WithContext(ctx context.Context) IPromoCodeDo { return p.withDO(p.DO.WithContext(ctx)) } func (p promoCodeDo) ReadDB() IPromoCodeDo { return p.Clauses(dbresolver.Read) } func (p promoCodeDo) WriteDB() IPromoCodeDo { return p.Clauses(dbresolver.Write) } func (p promoCodeDo) Session(config *gorm.Session) IPromoCodeDo { return p.withDO(p.DO.Session(config)) } func (p promoCodeDo) Clauses(conds ...clause.Expression) IPromoCodeDo { return p.withDO(p.DO.Clauses(conds...)) } func (p promoCodeDo) Returning(value interface{}, columns ...string) IPromoCodeDo { return p.withDO(p.DO.Returning(value, columns...)) } func (p promoCodeDo) Not(conds ...gen.Condition) IPromoCodeDo { return p.withDO(p.DO.Not(conds...)) } func (p promoCodeDo) Or(conds ...gen.Condition) IPromoCodeDo { return p.withDO(p.DO.Or(conds...)) } func (p promoCodeDo) Select(conds ...field.Expr) IPromoCodeDo { return p.withDO(p.DO.Select(conds...)) } func (p promoCodeDo) Where(conds ...gen.Condition) IPromoCodeDo { return p.withDO(p.DO.Where(conds...)) } func (p promoCodeDo) Order(conds ...field.Expr) IPromoCodeDo { return p.withDO(p.DO.Order(conds...)) } func (p promoCodeDo) Distinct(cols ...field.Expr) IPromoCodeDo { return p.withDO(p.DO.Distinct(cols...)) } func (p promoCodeDo) Omit(cols ...field.Expr) IPromoCodeDo { return p.withDO(p.DO.Omit(cols...)) } func (p promoCodeDo) Join(table schema.Tabler, on ...field.Expr) IPromoCodeDo { return p.withDO(p.DO.Join(table, on...)) } func (p promoCodeDo) LeftJoin(table schema.Tabler, on ...field.Expr) IPromoCodeDo { return p.withDO(p.DO.LeftJoin(table, on...)) } func (p promoCodeDo) RightJoin(table schema.Tabler, on ...field.Expr) IPromoCodeDo { return p.withDO(p.DO.RightJoin(table, on...)) } func (p promoCodeDo) Group(cols ...field.Expr) IPromoCodeDo { return p.withDO(p.DO.Group(cols...)) } func (p promoCodeDo) Having(conds ...gen.Condition) IPromoCodeDo { return p.withDO(p.DO.Having(conds...)) } func (p promoCodeDo) Limit(limit int) IPromoCodeDo { return p.withDO(p.DO.Limit(limit)) } func (p promoCodeDo) Offset(offset int) IPromoCodeDo { return p.withDO(p.DO.Offset(offset)) } func (p promoCodeDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IPromoCodeDo { return p.withDO(p.DO.Scopes(funcs...)) } func (p promoCodeDo) Unscoped() IPromoCodeDo { return p.withDO(p.DO.Unscoped()) } func (p promoCodeDo) Create(values ...*entity.PromoCode) error { if len(values) == 0 { return nil } return p.DO.Create(values) } func (p promoCodeDo) CreateInBatches(values []*entity.PromoCode, batchSize int) error { return p.DO.CreateInBatches(values, batchSize) } // Save : !!! underlying implementation is different with GORM // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) func (p promoCodeDo) Save(values ...*entity.PromoCode) error { if len(values) == 0 { return nil } return p.DO.Save(values) } func (p promoCodeDo) First() (*entity.PromoCode, error) { if result, err := p.DO.First(); err != nil { return nil, err } else { return result.(*entity.PromoCode), nil } } func (p promoCodeDo) Take() (*entity.PromoCode, error) { if result, err := p.DO.Take(); err != nil { return nil, err } else { return result.(*entity.PromoCode), nil } } func (p promoCodeDo) Last() (*entity.PromoCode, error) { if result, err := p.DO.Last(); err != nil { return nil, err } else { return result.(*entity.PromoCode), nil } } func (p promoCodeDo) Find() ([]*entity.PromoCode, error) { result, err := p.DO.Find() return result.([]*entity.PromoCode), err } func (p promoCodeDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*entity.PromoCode, err error) { buf := make([]*entity.PromoCode, 0, batchSize) err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { defer func() { results = append(results, buf...) }() return fc(tx, batch) }) return results, err } func (p promoCodeDo) FindInBatches(result *[]*entity.PromoCode, batchSize int, fc func(tx gen.Dao, batch int) error) error { return p.DO.FindInBatches(result, batchSize, fc) } func (p promoCodeDo) Attrs(attrs ...field.AssignExpr) IPromoCodeDo { return p.withDO(p.DO.Attrs(attrs...)) } func (p promoCodeDo) Assign(attrs ...field.AssignExpr) IPromoCodeDo { return p.withDO(p.DO.Assign(attrs...)) } func (p promoCodeDo) Joins(fields ...field.RelationField) IPromoCodeDo { for _, _f := range fields { p = *p.withDO(p.DO.Joins(_f)) } return &p } func (p promoCodeDo) Preload(fields ...field.RelationField) IPromoCodeDo { for _, _f := range fields { p = *p.withDO(p.DO.Preload(_f)) } return &p } func (p promoCodeDo) FirstOrInit() (*entity.PromoCode, error) { if result, err := p.DO.FirstOrInit(); err != nil { return nil, err } else { return result.(*entity.PromoCode), nil } } func (p promoCodeDo) FirstOrCreate() (*entity.PromoCode, error) { if result, err := p.DO.FirstOrCreate(); err != nil { return nil, err } else { return result.(*entity.PromoCode), nil } } func (p promoCodeDo) FindByPage(offset int, limit int) (result []*entity.PromoCode, count int64, err error) { result, err = p.Offset(offset).Limit(limit).Find() if err != nil { return } if size := len(result); 0 < limit && 0 < size && size < limit { count = int64(size + offset) return } count, err = p.Offset(-1).Limit(-1).Count() return } func (p promoCodeDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { count, err = p.Count() if err != nil { return } err = p.Offset(offset).Limit(limit).Scan(result) return } func (p promoCodeDo) Scan(result interface{}) (err error) { return p.DO.Scan(result) } func (p promoCodeDo) Delete(models ...*entity.PromoCode) (result gen.ResultInfo, err error) { return p.DO.Delete(models) } func (p *promoCodeDo) withDO(do gen.Dao) *promoCodeDo { p.DO = *do.(*gen.DO) return p }