loveuer 660c5a7efb feat: 完成了 file list 右键简单菜单
feat: 完成了 file 下载
todo: 桶右键菜单和删除桶
2024-10-14 11:39:39 +08:00

44 lines
1.3 KiB
Go

package api
import (
"context"
"github.com/loveuer/nf-disk/internal/handler"
"github.com/loveuer/nf-disk/ndh"
"github.com/loveuer/nf/nft/log"
"reflect"
)
var (
apis = make(map[string]ndh.Handler)
)
func register(path string, h ndh.Handler) {
name := reflect.ValueOf(h).String()
log.Info("app register: path = %s, name = %s", path, name)
apis[path] = h
}
func Resolve(path string) (ndh.Handler, bool) {
h, ok := apis[path]
return h, ok
}
func Init(ctx context.Context) error {
register("/runtime/dialog/open", handler.DialogOpen(ctx))
register("/runtime/dialog/save", handler.DialogSave(ctx))
register("/api/connection/test", handler.ConnectionTest)
register("/api/connection/create", handler.ConnectionCreate)
register("/api/connection/list", handler.ConnectionList)
register("/api/connection/connect", handler.ConnectionConnect)
register("/api/connection/disconnect", handler.ConnectionDisconnect)
register("/api/connection/buckets", handler.ConnectionBuckets)
register("/api/bucket/files", handler.BucketFiles)
register("/api/bucket/create", handler.BucketCreate)
register("/api/file/upload", handler.FileUpload)
register("/api/file/info", handler.FileInfo)
register("/api/file/get", handler.FileGet)
register("/api/file/download", handler.FileDownload)
return nil
}