api-platform/internal/dao/promo_codes.gen.go

413 lines
12 KiB
Go
Raw Normal View History

2024-11-23 17:38:32 +00:00
// 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
}