mirror of https://github.com/Xhofe/alist
🎇 allow delete deprecated setting
parent
a15dae291e
commit
09e63027d9
|
@ -15,9 +15,13 @@ func InitSettings() {
|
|||
Description: "version",
|
||||
Type: "string",
|
||||
Group: model.CONST,
|
||||
Version: conf.GitTag,
|
||||
}
|
||||
|
||||
_ = model.SaveSetting(version)
|
||||
err := model.SaveSetting(version)
|
||||
if err != nil {
|
||||
log.Fatalf("failed write setting: %s", err.Error())
|
||||
}
|
||||
|
||||
settings := []model.SettingItem{
|
||||
{
|
||||
|
@ -173,13 +177,25 @@ func InitSettings() {
|
|||
Group: model.PRIVATE,
|
||||
},
|
||||
}
|
||||
for _, v := range settings {
|
||||
_, err := model.GetSettingByKey(v.Key)
|
||||
for i, _ := range settings {
|
||||
v := settings[i]
|
||||
v.Version = conf.GitTag
|
||||
o, err := model.GetSettingByKey(v.Key)
|
||||
if err != nil {
|
||||
if err == gorm.ErrRecordNotFound {
|
||||
err = model.SaveSetting(v)
|
||||
if err != nil {
|
||||
log.Fatalf("failed write setting: %s", err.Error())
|
||||
}
|
||||
} else {
|
||||
log.Fatal("can't get setting: %s", err.Error())
|
||||
}
|
||||
} else {
|
||||
o.Version = conf.GitTag
|
||||
err = model.SaveSetting(*o)
|
||||
if err != nil {
|
||||
log.Fatalf("failed write setting: %s", err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
model.LoadSettings()
|
||||
|
|
|
@ -12,7 +12,7 @@ var (
|
|||
GoVersion string
|
||||
GitAuthor string
|
||||
GitCommit string
|
||||
GitTag string
|
||||
GitTag string = "dev"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
|
@ -20,6 +20,7 @@ type SettingItem struct {
|
|||
Type string `json:"type"`
|
||||
Group int `json:"group"`
|
||||
Values string `json:"values"`
|
||||
Version string `json:"version"`
|
||||
}
|
||||
|
||||
func SaveSettings(items []SettingItem) error {
|
||||
|
@ -46,6 +47,13 @@ func GetSettings() (*[]SettingItem, error) {
|
|||
return &items, nil
|
||||
}
|
||||
|
||||
func DeleteSetting(key string) error {
|
||||
setting := SettingItem{
|
||||
Key: key,
|
||||
}
|
||||
return conf.DB.Delete(&setting).Error
|
||||
}
|
||||
|
||||
func GetSettingByKey(key string) (*SettingItem, error) {
|
||||
var items SettingItem
|
||||
if err := conf.DB.Where("`key` = ?", key).First(&items).Error; err != nil {
|
||||
|
@ -63,7 +71,7 @@ func LoadSettings() {
|
|||
if err == nil {
|
||||
conf.CheckParent = checkParent.Value == "true"
|
||||
}
|
||||
checkDown,err := GetSettingByKey("check down link")
|
||||
checkDown, err := GetSettingByKey("check down link")
|
||||
if err == nil {
|
||||
conf.CheckDown = checkDown.Value == "true"
|
||||
}
|
||||
|
@ -87,7 +95,7 @@ func LoadSettings() {
|
|||
|
||||
adminPassword, err := GetSettingByKey("password")
|
||||
if err == nil {
|
||||
conf.Token = utils.GetMD5Encode(fmt.Sprintf("https://github.com/Xhofe/alist-%s",adminPassword.Value))
|
||||
conf.Token = utils.GetMD5Encode(fmt.Sprintf("https://github.com/Xhofe/alist-%s", adminPassword.Value))
|
||||
}
|
||||
|
||||
davUsername, err := GetSettingByKey("WebDAV username")
|
||||
|
|
|
@ -37,3 +37,12 @@ func GetSettingsPublic(c *gin.Context) {
|
|||
}
|
||||
common.SuccessResp(c, settings)
|
||||
}
|
||||
|
||||
func DeleteSetting(c *gin.Context) {
|
||||
key := c.Query("key")
|
||||
if err := model.DeleteSetting(key); err != nil {
|
||||
common.ErrorResp(c, err, 500)
|
||||
return
|
||||
}
|
||||
common.SuccessResp(c)
|
||||
}
|
||||
|
|
|
@ -33,6 +33,8 @@ func InitApiRouter(r *gin.Engine) {
|
|||
admin.GET("/login", common.Login)
|
||||
admin.GET("/settings", controllers.GetSettings)
|
||||
admin.POST("/settings", controllers.SaveSettings)
|
||||
admin.DELETE("/setting", controllers.DeleteSetting)
|
||||
|
||||
admin.POST("/account/create", controllers.CreateAccount)
|
||||
admin.POST("/account/save", controllers.SaveAccount)
|
||||
admin.GET("/accounts", controllers.GetAccounts)
|
||||
|
|
Loading…
Reference in New Issue