fix(api-v2): que el fallo de /vcard/ia quede en el log y distinga de quién es el problema
La integración muestra solo "error code: 502" y el motivo no quedaba escrito en ningún lado. Ahora se loguea. Y el estado separa los dos casos: 503 si falta configurar la IA de este lado, 502 si el que falló fue el proveedor. Con el mismo código para ambos no se sabe a quién mirar. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
f5ffed7a13
commit
5f95e67595
@@ -1,6 +1,9 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"log"
|
||||
"strings"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/pkg/services"
|
||||
)
|
||||
@@ -33,7 +36,17 @@ func GenerarTextoIA(c *fiber.Ctx) error {
|
||||
// podría usar la configuración del agente o la del Landing Generator.
|
||||
texto, err := services.CompletarTextoIA("ia", body.Sistema, body.Prompt)
|
||||
if err != nil {
|
||||
return c.Status(502).JSON(fiber.Map{"error": err.Error()})
|
||||
// Al log también: la integración suele mostrar solo el código de estado,
|
||||
// y sin esta línea el motivo no queda registrado en ningún lado.
|
||||
log.Printf("[IA v2] falló la generación: %v", err)
|
||||
|
||||
// 503 cuando falta configurar algo de este lado y 502 cuando el que
|
||||
// falló fue el proveedor: son problemas de dueños distintos.
|
||||
estado := 502
|
||||
if strings.Contains(err.Error(), "configuración de IA") {
|
||||
estado = 503
|
||||
}
|
||||
return c.Status(estado).JSON(fiber.Map{"error": err.Error()})
|
||||
}
|
||||
return c.JSON(fiber.Map{"texto": texto})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user