mirror of https://github.com/Xhofe/alist
57 lines
1.3 KiB
Go
57 lines
1.3 KiB
Go
package server
|
|
|
|
import (
|
|
"github.com/Xhofe/alist/conf"
|
|
"github.com/Xhofe/alist/model"
|
|
"github.com/gofiber/fiber/v2"
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
func SaveSettings(ctx *fiber.Ctx) error {
|
|
var req []model.SettingItem
|
|
if err := ctx.BodyParser(&req); err != nil {
|
|
return ErrorResp(ctx, err, 400)
|
|
}
|
|
//if err := validate.Struct(req); err != nil {
|
|
// return ErrorResp(ctx, err, 400)
|
|
//}
|
|
if err := model.SaveSettings(req); err != nil {
|
|
return ErrorResp(ctx, err, 500)
|
|
} else {
|
|
textTypes, err := model.GetSettingByKey("text types")
|
|
if err==nil{
|
|
conf.ImageTypes = strings.Split(textTypes.Value,",")
|
|
}
|
|
return SuccessResp(ctx)
|
|
}
|
|
}
|
|
|
|
func GetSettingsByGroup(ctx *fiber.Ctx) error {
|
|
t, err := strconv.Atoi(ctx.Query("type"))
|
|
if err != nil {
|
|
return ErrorResp(ctx, err, 400)
|
|
}
|
|
settings, err := model.GetSettingsByGroup(t)
|
|
if err != nil {
|
|
return ErrorResp(ctx, err, 400)
|
|
}
|
|
return SuccessResp(ctx, settings)
|
|
}
|
|
|
|
func GetSettings(ctx *fiber.Ctx) error {
|
|
settings, err := model.GetSettings()
|
|
if err != nil {
|
|
return ErrorResp(ctx, err, 400)
|
|
}
|
|
return SuccessResp(ctx, settings)
|
|
}
|
|
|
|
func GetSettingsPublic(ctx *fiber.Ctx) error {
|
|
settings, err := model.GetSettingsByGroup(0)
|
|
if err != nil {
|
|
return ErrorResp(ctx, err, 400)
|
|
}
|
|
return SuccessResp(ctx, settings)
|
|
}
|