package v1 import ( dto "quyun/v2/app/http/super/v1/dto" "quyun/v2/app/requests" "quyun/v2/app/services" "github.com/gofiber/fiber/v3" ) // @provider type assets struct{} // List assets // // @Router /super/v1/assets [get] // @Summary List assets // @Description List assets across tenants // @Tags Asset // @Accept json // @Produce json // @Param page query int false "Page number" // @Param limit query int false "Page size" // @Success 200 {object} requests.Pager{items=[]dto.SuperAssetItem} // @Bind filter query func (c *assets) List(ctx fiber.Ctx, filter *dto.SuperAssetListFilter) (*requests.Pager, error) { return services.Super.ListAssets(ctx, filter) } // Asset usage // // @Router /super/v1/assets/usage [get] // @Summary Asset usage // @Description Asset usage statistics // @Tags Asset // @Accept json // @Produce json // @Success 200 {object} dto.SuperAssetUsageResponse // @Bind filter query func (c *assets) Usage(ctx fiber.Ctx, filter *dto.SuperAssetUsageFilter) (*dto.SuperAssetUsageResponse, error) { return services.Super.AssetUsage(ctx, filter) } // Delete asset // // @Router /super/v1/assets/:id [delete] // @Summary Delete asset // @Description Delete asset // @Tags Asset // @Accept json // @Produce json // @Param id path int64 true "Asset ID" // @Param force query bool false "Force delete" // @Success 200 {string} string "Deleted" // @Bind id path // @Bind query query func (c *assets) Delete(ctx fiber.Ctx, id int64, query *dto.SuperAssetDeleteQuery) error { force := false if query != nil && query.Force != nil { force = *query.Force } return services.Super.DeleteAsset(ctx, id, force) }