github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/internal/server/repo/config.go (about) 1 package serverRepo 2 3 import ( 4 consts "github.com/easysoft/zendata/internal/pkg/const" 5 "github.com/easysoft/zendata/internal/pkg/domain" 6 "github.com/easysoft/zendata/internal/pkg/model" 7 "gorm.io/gorm" 8 ) 9 10 type ConfigRepo struct { 11 DB *gorm.DB `inject:""` 12 } 13 14 func (r *ConfigRepo) ListAll() (models []*model.ZdConfig) { 15 r.DB.Select("id,title,referName,fileName,folder,path,updatedAt").Find(&models) 16 return 17 } 18 19 func (r *ConfigRepo) List(keywords string, page int) (models []*model.ZdConfig, total int, err error) { 20 query := r.DB.Select("id,title,referName,fileName,folder,path").Order("id ASC") 21 if keywords != "" { 22 query = query.Where("title LIKE ?", "%"+keywords+"%") 23 } 24 if page > 0 { 25 query = query.Offset((page - 1) * consts.PageSize).Limit(consts.PageSize) 26 } 27 28 err = query.Find(&models).Error 29 30 var total64 int64 31 err = r.DB.Model(&model.ZdConfig{}).Count(&total64).Error 32 total = int(total64) 33 34 return 35 } 36 37 func (r *ConfigRepo) Get(id uint) (model model.ZdConfig, err error) { 38 err = r.DB.Where("id=?", id).First(&model).Error 39 return 40 } 41 42 func (r *ConfigRepo) Create(model *model.ZdConfig) (err error) { 43 err = r.DB.Create(model).Error 44 return 45 } 46 func (r *ConfigRepo) Update(model *model.ZdConfig) (err error) { 47 err = r.DB.Save(model).Error 48 return 49 } 50 51 func (r *ConfigRepo) Remove(id uint) (err error) { 52 model := model.ZdConfig{} 53 model.ID = id 54 err = r.DB.Delete(model).Error 55 56 return 57 } 58 59 func (r *ConfigRepo) UpdateYaml(po model.ZdConfig) (err error) { 60 err = r.DB.Model(&model.ZdConfig{}).Where("id=?", po.ID).Update("yaml", po.Yaml).Error 61 return 62 } 63 64 func (r *ConfigRepo) GenConfigRes(config model.ZdConfig, res *domain.ResConfig) { 65 res.Title = config.Title 66 res.Desc = config.Desc 67 res.Prefix = config.Prefix 68 res.Postfix = config.Postfix 69 res.Loop = config.Loop 70 res.Loopfix = config.Loopfix 71 res.Format = config.Format 72 73 res.Range = config.Range 74 } 75 76 func (r *ConfigRepo) UpdateConfigRange(rang string, id uint) (err error) { 77 err = r.DB.Model(&model.ZdConfig{}).Where("id=?", id).Update("range", rang).Error 78 79 return 80 } 81 82 func NewConfigRepo(db *gorm.DB) *ConfigRepo { 83 return &ConfigRepo{DB: db} 84 }