github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/internal/server/repo/mock.go (about) 1 package serverRepo 2 3 import ( 4 consts "github.com/easysoft/zendata/internal/pkg/const" 5 "github.com/easysoft/zendata/internal/pkg/model" 6 "gorm.io/gorm" 7 ) 8 9 type MockRepo struct { 10 DB *gorm.DB `inject:""` 11 } 12 13 func (r *MockRepo) List(keywords string, page int) (pos []*model.ZdMock, total int, err error) { 14 query := r.DB 15 if keywords != "" { 16 query = query.Where("title LIKE ?", "%"+keywords+"%") 17 } 18 if page > 0 { 19 query = query.Offset((page - 1) * consts.PageSize).Limit(consts.PageSize) 20 } 21 22 err = query.Find(&pos).Error 23 24 var total64 int64 25 err = r.DB.Model(&model.ZdMock{}).Count(&total64).Error 26 total = int(total64) 27 28 return 29 } 30 31 func (r *MockRepo) Get(id uint) (po model.ZdMock, err error) { 32 err = r.DB.Where("id=?", id).First(&po).Error 33 34 return 35 } 36 37 func (r *MockRepo) GetByPath(path string) (po model.ZdMock, err error) { 38 err = r.DB.Where("path=?", path).First(&po).Error 39 40 return 41 } 42 43 func (r *MockRepo) GetByDefID(defId uint) (po model.ZdMock) { 44 r.DB.Where("def_id=?", defId).First(&po) 45 46 return 47 } 48 49 func (r *MockRepo) Save(po *model.ZdMock) (err error) { 50 err = r.DB.Save(po).Error 51 52 return 53 } 54 55 func (r *MockRepo) Remove(id uint) (err error) { 56 var po model.ZdMock 57 po.ID = id 58 59 err = r.DB.Delete(&po).Error 60 err = r.DB.Where("id = ?", id).Delete(&model.ZdField{}).Error 61 62 return 63 } 64 65 func (r *MockRepo) ListSampleSrc(mockId int) (pos []model.ZdMockSampleSrc, err error) { 66 err = r.DB.Find(&pos).Error 67 return 68 } 69 70 func (r *MockRepo) GetSampleSrc(mockId uint, key string) (po model.ZdMockSampleSrc, err error) { 71 err = r.DB.Where("mock_id=? AND key=?", mockId, key). 72 Find(&po).Error 73 return 74 } 75 76 func (r *MockRepo) ChangeSampleSrc(mockId int, req model.ZdMockSampleSrc) (err error) { 77 po := model.ZdMockSampleSrc{} 78 79 err = r.DB.Where("mock_id=? AND key=?", mockId, req.Key).First(&po).Error 80 if err != nil { // not found 81 po.MockId = uint(mockId) 82 po.Key = req.Key 83 } 84 85 po.Value = req.Value 86 err = r.DB.Save(&po).Error 87 88 return 89 }