mirror of https://github.com/Xhofe/alist
feat: setting model
parent
6bb2b76e25
commit
e4c3ef0262
|
@ -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)
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
Loading…
Reference in New Issue