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  }