feat: wrap message by fluent ui toast
This commit is contained in:
@ -1,8 +1,11 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"nf-disk/internal/ndh"
|
||||
"nf-disk/internal/s3"
|
||||
"github.com/loveuer/nf-disk/internal/db"
|
||||
"github.com/loveuer/nf-disk/internal/manager"
|
||||
"github.com/loveuer/nf-disk/internal/model"
|
||||
"github.com/loveuer/nf-disk/internal/s3"
|
||||
"github.com/loveuer/nf-disk/ndh"
|
||||
)
|
||||
|
||||
func ConnectionTest(c *ndh.Ctx) error {
|
||||
@ -30,5 +33,69 @@ func ConnectionTest(c *ndh.Ctx) error {
|
||||
return c.Send500(err.Error(), "连接失败")
|
||||
}
|
||||
|
||||
return c.Send200("test success")
|
||||
return c.Send200("连接测试成功")
|
||||
}
|
||||
|
||||
func ConnectionCreate(c *ndh.Ctx) error {
|
||||
type Req struct {
|
||||
Name string `json:"name"`
|
||||
Endpoint string `json:"endpoint"`
|
||||
Access string `json:"access"`
|
||||
Key string `json:"key"`
|
||||
Force bool `json:"force"`
|
||||
}
|
||||
|
||||
var (
|
||||
err error
|
||||
req = new(Req)
|
||||
client *s3.Client
|
||||
)
|
||||
|
||||
if err = c.ReqParse(req); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if req.Endpoint == "" || req.Access == "" || req.Key == "" {
|
||||
return c.Send400(nil, "endpoint, secret_access, secret_key 是必填项")
|
||||
}
|
||||
|
||||
if client, err = s3.New(c.Context(), req.Endpoint, req.Access, req.Key); err != nil {
|
||||
return c.Send500(err.Error(), "连接失败")
|
||||
}
|
||||
|
||||
if req.Name == "" {
|
||||
req.Name = req.Endpoint
|
||||
}
|
||||
|
||||
connection := &model.Connection{
|
||||
Name: req.Name,
|
||||
Endpoint: req.Endpoint,
|
||||
Access: req.Access,
|
||||
Key: req.Key,
|
||||
}
|
||||
|
||||
if err = connection.Create(db.Default.Session()); err != nil {
|
||||
return c.Send500(err.Error(), "创建连接失败(1)")
|
||||
}
|
||||
|
||||
if err = manager.Register(connection, client); err != nil {
|
||||
return c.Send500(err.Error(), "创建连接失败(2)")
|
||||
}
|
||||
|
||||
return c.Send200(connection, "创建连接成功")
|
||||
}
|
||||
|
||||
func ConnectionList(c *ndh.Ctx) error {
|
||||
var (
|
||||
err error
|
||||
list = make([]*model.Connection, 0)
|
||||
)
|
||||
|
||||
if err = db.Default.Session().Model(&model.Connection{}).
|
||||
Find(&list).
|
||||
Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.Send200(map[string]any{"list": list})
|
||||
}
|
||||
|
Reference in New Issue
Block a user