basic structure

This commit is contained in:
微凉
2021-10-26 22:28:37 +08:00
parent d68a4048da
commit fb7e67724d
25 changed files with 615 additions and 45 deletions

40
server/account.go Normal file
View File

@ -0,0 +1,40 @@
package server
import (
"fmt"
"github.com/Xhofe/alist/drivers"
"github.com/Xhofe/alist/model"
"github.com/gofiber/fiber/v2"
)
func GetAccounts(ctx *fiber.Ctx) error {
return SuccessResp(ctx, model.GetAccounts())
}
func SaveAccount(ctx *fiber.Ctx) error {
var req model.Account
if err := ctx.BodyParser(&req); err != nil {
return ErrorResp(ctx, err, 400)
}
if err := validate.Struct(req); err != nil {
return ErrorResp(ctx, err, 400)
}
driver, ok := drivers.GetDriver(req.Type)
if !ok {
return ErrorResp(ctx, fmt.Errorf("no [%s] driver", req.Type), 400)
}
if err := model.SaveAccount(req); err != nil {
return ErrorResp(ctx, err, 500)
} else {
driver.Save(req)
return SuccessResp(ctx)
}
}
func DeleteAccount(ctx *fiber.Ctx) error {
name := ctx.Query("name")
if err := model.DeleteAccount(name); err != nil {
return ErrorResp(ctx, err, 500)
}
return SuccessResp(ctx)
}