app_setting_repository.go 791 B

12345678910111213141516171819202122232425262728293031323334
  1. package repository
  2. import (
  3. "github.com/2930134478/AI-CS/backend/models"
  4. "gorm.io/gorm"
  5. )
  6. type AppSettingRepository struct {
  7. db *gorm.DB
  8. }
  9. func NewAppSettingRepository(db *gorm.DB) *AppSettingRepository {
  10. return &AppSettingRepository{db: db}
  11. }
  12. func (r *AppSettingRepository) Get(key string) (*models.AppSetting, error) {
  13. var m models.AppSetting
  14. err := r.db.Where("`key` = ?", key).First(&m).Error
  15. if err == gorm.ErrRecordNotFound {
  16. return nil, nil
  17. }
  18. if err != nil {
  19. return nil, err
  20. }
  21. return &m, nil
  22. }
  23. func (r *AppSettingRepository) SetValue(key, value string) error {
  24. return r.db.Save(&models.AppSetting{Key: key, Value: value}).Error
  25. }
  26. func (r *AppSettingRepository) Delete(key string) error {
  27. return r.db.Where("`key` = ?", key).Delete(&models.AppSetting{}).Error
  28. }