up
This commit is contained in:
@@ -12,6 +12,18 @@ import (
|
||||
"github.com/sujit-baniya/fiber-boilerplate/pkg/services"
|
||||
)
|
||||
|
||||
// helper: obtiene el provider OSS por ID o el activo por defecto
|
||||
func getOSSProvider(c *fiber.Ctx) (services.OSSProvider, error) {
|
||||
idStr := c.Query("oss_api_id", "")
|
||||
if idStr != "" {
|
||||
id, err := strconv.ParseUint(idStr, 10, 32)
|
||||
if err == nil && id > 0 {
|
||||
return services.NewOSSProviderByID(uint(id))
|
||||
}
|
||||
}
|
||||
return services.NewOSSProviderFromDB()
|
||||
}
|
||||
|
||||
// OssApiIndex renderiza la vista del panel de gestión de Alibaba Cloud OSS.
|
||||
func OssApiIndex(c *fiber.Ctx) error {
|
||||
data := fiber.Map{
|
||||
@@ -143,6 +155,15 @@ func UpdateOssApiConfig(c *fiber.Ctx) error {
|
||||
return c.JSON(fiber.Map{"ok": true, "item": existing})
|
||||
}
|
||||
|
||||
// GetActiveOssApiList devuelve todas las configuraciones activas (para selectores UI).
|
||||
func GetActiveOssApiList(c *fiber.Ctx) error {
|
||||
items, err := models.GetActiveOssApis()
|
||||
if err != nil {
|
||||
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": err.Error()})
|
||||
}
|
||||
return c.JSON(fiber.Map{"data": items})
|
||||
}
|
||||
|
||||
// DeleteOssApiConfig elimina una configuración de Alibaba Cloud OSS.
|
||||
func DeleteOssApiConfig(c *fiber.Ctx) error {
|
||||
id, err := strconv.ParseUint(c.Params("id"), 10, 64)
|
||||
@@ -166,7 +187,7 @@ func DeleteOssApiConfig(c *fiber.Ctx) error {
|
||||
// OssBrowserList lista los objetos del bucket activo con soporte de carpetas virtuales.
|
||||
// Query params: prefix (carpeta actual), marker (paginación), max_keys
|
||||
func OssBrowserList(c *fiber.Ctx) error {
|
||||
svc, err := services.NewOSSServiceFromDB()
|
||||
svc, err := getOSSProvider(c)
|
||||
if err != nil {
|
||||
return c.Status(fiber.StatusServiceUnavailable).JSON(fiber.Map{"error": "Sin configuración OSS activa: " + err.Error()})
|
||||
}
|
||||
@@ -190,7 +211,7 @@ func OssBrowserSignedURL(c *fiber.Ctx) error {
|
||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "key es requerido"})
|
||||
}
|
||||
|
||||
svc, err := services.NewOSSServiceFromDB()
|
||||
svc, err := getOSSProvider(c)
|
||||
if err != nil {
|
||||
return c.Status(fiber.StatusServiceUnavailable).JSON(fiber.Map{"error": "Sin configuración OSS activa: " + err.Error()})
|
||||
}
|
||||
@@ -213,7 +234,7 @@ func OssBrowserDelete(c *fiber.Ctx) error {
|
||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "key es requerido"})
|
||||
}
|
||||
|
||||
svc, err := services.NewOSSServiceFromDB()
|
||||
svc, err := getOSSProvider(c)
|
||||
if err != nil {
|
||||
return c.Status(fiber.StatusServiceUnavailable).JSON(fiber.Map{"error": "Sin configuración OSS activa: " + err.Error()})
|
||||
}
|
||||
@@ -249,7 +270,7 @@ func OssBrowserUpload(c *fiber.Ctx) error {
|
||||
ct = "application/octet-stream"
|
||||
}
|
||||
|
||||
svc, err := services.NewOSSServiceFromDB()
|
||||
svc, err := getOSSProvider(c)
|
||||
if err != nil {
|
||||
return c.Status(fiber.StatusServiceUnavailable).JSON(fiber.Map{"error": "Sin configuración OSS activa: " + err.Error()})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user