123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- package v1
- import (
- "strings"
- "github.com/IceWhaleTech/CasaOS-Common/utils/logger"
- "github.com/IceWhaleTech/CasaOS/drivers/dropbox"
- "github.com/IceWhaleTech/CasaOS/drivers/google_drive"
- "github.com/IceWhaleTech/CasaOS/drivers/onedrive"
- "github.com/IceWhaleTech/CasaOS/model"
- "github.com/IceWhaleTech/CasaOS/pkg/utils/common_err"
- "github.com/IceWhaleTech/CasaOS/pkg/utils/httper"
- "github.com/IceWhaleTech/CasaOS/service"
- "github.com/gin-gonic/gin"
- "go.uber.org/zap"
- )
- func ListStorages(c *gin.Context) {
- // var req model.PageReq
- // if err := c.ShouldBind(&req); err != nil {
- // c.JSON(common_err.SUCCESS, model.Result{Success: common_err.CLIENT_ERROR, Message: common_err.GetMsg(common_err.CLIENT_ERROR), Data: err.Error()})
- // return
- // }
- // req.Validate()
- //logger.Info("ListStorages", zap.Any("req", req))
- //storages, total, err := service.MyService.Storage().GetStorages(req.Page, req.PerPage)
- // if err != nil {
- // c.JSON(common_err.SUCCESS, model.Result{Success: common_err.SERVICE_ERROR, Message: common_err.GetMsg(common_err.SERVICE_ERROR), Data: err.Error()})
- // return
- // }
- // c.JSON(common_err.SUCCESS, model.Result{Success: common_err.SUCCESS, Message: common_err.GetMsg(common_err.SUCCESS), Data: model.PageResp{
- // Content: storages,
- // Total: total,
- // }})
- r, err := service.MyService.Storage().GetStorages()
- if err != nil {
- c.JSON(common_err.SUCCESS, model.Result{Success: common_err.SERVICE_ERROR, Message: common_err.GetMsg(common_err.SERVICE_ERROR), Data: err.Error()})
- return
- }
- for i := 0; i < len(r.MountPoints); i++ {
- dataMap, err := service.MyService.Storage().GetConfigByName(r.MountPoints[i].Fs)
- if err != nil {
- logger.Error("GetConfigByName", zap.Any("err", err))
- continue
- }
- if dataMap["type"] == "drive" {
- r.MountPoints[i].Icon = google_drive.ICONURL
- }
- if dataMap["type"] == "dropbox" {
- r.MountPoints[i].Icon = dropbox.ICONURL
- }
- if dataMap["type"] == "onedrive" {
- r.MountPoints[i].Icon = onedrive.ICONURL
- }
- r.MountPoints[i].Name = dataMap["username"]
- }
- list := []httper.MountPoint{}
- for _, v := range r.MountPoints {
- list = append(list, httper.MountPoint{
- Fs: v.Fs,
- Icon: v.Icon,
- MountPoint: v.MountPoint,
- Name: v.Name,
- })
- }
- c.JSON(common_err.SUCCESS, model.Result{Success: common_err.SUCCESS, Message: common_err.GetMsg(common_err.SUCCESS), Data: list})
- }
- func UmountStorage(c *gin.Context) {
- json := make(map[string]string)
- c.ShouldBind(&json)
- mountPoint := json["mount_point"]
- if mountPoint == "" {
- c.JSON(common_err.CLIENT_ERROR, model.Result{Success: common_err.CLIENT_ERROR, Message: common_err.GetMsg(common_err.CLIENT_ERROR), Data: "mount_point is empty"})
- return
- }
- err := service.MyService.Storage().UnmountStorage(mountPoint)
- if err != nil {
- c.JSON(common_err.SERVICE_ERROR, model.Result{Success: common_err.SERVICE_ERROR, Message: common_err.GetMsg(common_err.SERVICE_ERROR), Data: err.Error()})
- return
- }
- service.MyService.Storage().DeleteConfigByName(strings.ReplaceAll(mountPoint, "/mnt/", ""))
- c.JSON(common_err.SUCCESS, model.Result{Success: common_err.SUCCESS, Message: common_err.GetMsg(common_err.SUCCESS), Data: "success"})
- }
- func GetStorage(c *gin.Context) {
- // idStr := c.Query("id")
- // id, err := strconv.Atoi(idStr)
- // if err != nil {
- // c.JSON(common_err.SUCCESS, model.Result{Success: common_err.CLIENT_ERROR, Message: common_err.GetMsg(common_err.CLIENT_ERROR), Data: err.Error()})
- // return
- // }
- // storage, err := service.MyService.Storage().GetStorageById(uint(id))
- // if err != nil {
- // c.JSON(common_err.SUCCESS, model.Result{Success: common_err.SERVICE_ERROR, Message: common_err.GetMsg(common_err.SERVICE_ERROR), Data: err.Error()})
- // return
- // }
- // c.JSON(common_err.SUCCESS, model.Result{Success: common_err.SUCCESS, Message: common_err.GetMsg(common_err.SUCCESS), Data: storage})
- }
|