all
This commit is contained in:
88
Downloads/Voltaserve/api/router/storage_router.go
Normal file
88
Downloads/Voltaserve/api/router/storage_router.go
Normal file
@ -0,0 +1,88 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"voltaserve/errorpkg"
|
||||
"voltaserve/service"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type StorageRouter struct {
|
||||
storageSvc *service.StorageService
|
||||
}
|
||||
|
||||
func NewStorageRouter() *StorageRouter {
|
||||
return &StorageRouter{
|
||||
storageSvc: service.NewStorageService(),
|
||||
}
|
||||
}
|
||||
|
||||
func (r *StorageRouter) AppendRoutes(g fiber.Router) {
|
||||
g.Get("/get_account_usage", r.GetAccountUsage)
|
||||
g.Get("/get_workspace_usage", r.GetWorkspaceUsage)
|
||||
g.Get("/get_file_usage", r.GetFileUsage)
|
||||
}
|
||||
|
||||
// GetAccountUsage godoc
|
||||
//
|
||||
// @Summary Get account usage
|
||||
// @Description Get account usage
|
||||
// @Tags Storage
|
||||
// @Id storage_get_account_usage
|
||||
// @Produce json
|
||||
// @Success 200 {object} service.StorageUsage
|
||||
// @Failure 500
|
||||
// @Router /storage/get_account_usage [get]
|
||||
func (r *StorageRouter) GetAccountUsage(c *fiber.Ctx) error {
|
||||
res, err := r.storageSvc.GetAccountUsage(GetUserID(c))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return c.JSON(res)
|
||||
}
|
||||
|
||||
// GetWorkspaceUsage godoc
|
||||
//
|
||||
// @Summary Get workspace usage
|
||||
// @Description Get workspace usage
|
||||
// @Tags Storage
|
||||
// @Id storage_get_workspace_usage
|
||||
// @Produce json
|
||||
// @Param id query string true "Workspace ID"
|
||||
// @Success 200 {object} service.StorageUsage
|
||||
// @Failure 500
|
||||
// @Router /storage/get_workspace_usage [get]
|
||||
func (r *StorageRouter) GetWorkspaceUsage(c *fiber.Ctx) error {
|
||||
id := c.Query("id")
|
||||
if id == "" {
|
||||
return errorpkg.NewMissingQueryParamError("id")
|
||||
}
|
||||
res, err := r.storageSvc.GetWorkspaceUsage(id, GetUserID(c))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return c.JSON(res)
|
||||
}
|
||||
|
||||
// GetFileUsage godoc
|
||||
//
|
||||
// @Summary Get file usage
|
||||
// @Description Get file usage
|
||||
// @Tags Storage
|
||||
// @Id storage_get_file_usage
|
||||
// @Produce json
|
||||
// @Param id query string true "File ID"
|
||||
// @Success 200 {object} service.StorageUsage
|
||||
// @Failure 500
|
||||
// @Router /storage/get_file_usage [get]
|
||||
func (r *StorageRouter) GetFileUsage(c *fiber.Ctx) error {
|
||||
id := c.Query("id")
|
||||
if id == "" {
|
||||
return errorpkg.NewMissingQueryParamError("id")
|
||||
}
|
||||
res, err := r.storageSvc.GetFileUsage(id, GetUserID(c))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return c.JSON(res)
|
||||
}
|
Reference in New Issue
Block a user