Skip to content

Commit

Permalink
feat: setting model
Browse files Browse the repository at this point in the history
  • Loading branch information
xhofe committed Jun 27, 2022
1 parent 6bb2b76 commit e4c3ef0
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
30 changes: 30 additions & 0 deletions internal/db/setting.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package db

import (
"fmt"
"github.com/alist-org/alist/v3/internal/model"
"github.com/pkg/errors"
)

func SaveSettings(items []model.SettingItem) error {
return errors.WithStack(db.Save(items).Error)
}

func SaveSetting(item model.SettingItem) error {
return errors.WithStack(db.Save(item).Error)
}

func GetSettingsByGroup(group int) ([]model.SettingItem, error) {
var items []model.SettingItem
if err := db.Where(fmt.Sprintf("%s = ?", columnName("group")), group).Find(&items).Error; err != nil {
return nil, errors.WithStack(err)
}
return items, nil
}

func DeleteSettingByKey(key string) error {
setting := model.SettingItem{
Key: key,
}
return errors.WithStack(db.Delete(&setting).Error)
}
11 changes: 11 additions & 0 deletions internal/model/setting.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package model

type SettingItem struct {
Key string `json:"key" gorm:"primaryKey" binding:"required"` // unique key
Value string `json:"value"` // value
Help string `json:"help"` // help message
Type string `json:"type"` // string, number, bool, select
Values string `json:"values"` // values for select
Group int `json:"group"` // use to group setting in frontend
Access int `json:"access"` // admin/guest/general
}

0 comments on commit e4c3ef0

Please sign in to comment.