feat: agente - agregar listar_facturas + campos agente en AI Config create/update
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
33cfe4fdb0
commit
5c81939bbf
@@ -78,14 +78,16 @@ func GetAiConfigs(c *fiber.Ctx) error {
|
||||
// CreateAiConfigHandler crea una nueva configuración de IA.
|
||||
func CreateAiConfigHandler(c *fiber.Ctx) error {
|
||||
type Req struct {
|
||||
Nombre string `json:"nombre"`
|
||||
Provider string `json:"provider"`
|
||||
ApiKey string `json:"api_key"`
|
||||
BaseURL string `json:"base_url"`
|
||||
ModelName string `json:"model_name"`
|
||||
IsActive bool `json:"is_active"`
|
||||
Notes string `json:"notes"`
|
||||
Modulo string `json:"modulo"`
|
||||
Nombre string `json:"nombre"`
|
||||
Provider string `json:"provider"`
|
||||
ApiKey string `json:"api_key"`
|
||||
BaseURL string `json:"base_url"`
|
||||
ModelName string `json:"model_name"`
|
||||
IsActive bool `json:"is_active"`
|
||||
Notes string `json:"notes"`
|
||||
Modulo string `json:"modulo"`
|
||||
EsAgenteBot bool `json:"es_agente_bot"`
|
||||
TelegramConfigID *uint `json:"telegram_config_id"`
|
||||
}
|
||||
var req Req
|
||||
if err := c.BodyParser(&req); err != nil {
|
||||
@@ -102,14 +104,16 @@ func CreateAiConfigHandler(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
item := models.AiConfig{
|
||||
Nombre: strings.TrimSpace(req.Nombre),
|
||||
Provider: strings.ToLower(strings.TrimSpace(req.Provider)),
|
||||
ApiKey: strings.TrimSpace(req.ApiKey),
|
||||
BaseURL: strings.TrimSpace(req.BaseURL),
|
||||
ModelName: strings.TrimSpace(req.ModelName),
|
||||
IsActive: req.IsActive,
|
||||
Notes: req.Notes,
|
||||
Modulo: models.JoinModulos(strings.Split(req.Modulo, ",")),
|
||||
Nombre: strings.TrimSpace(req.Nombre),
|
||||
Provider: strings.ToLower(strings.TrimSpace(req.Provider)),
|
||||
ApiKey: strings.TrimSpace(req.ApiKey),
|
||||
BaseURL: strings.TrimSpace(req.BaseURL),
|
||||
ModelName: strings.TrimSpace(req.ModelName),
|
||||
IsActive: req.IsActive,
|
||||
Notes: req.Notes,
|
||||
Modulo: models.JoinModulos(strings.Split(req.Modulo, ",")),
|
||||
EsAgenteBot: req.EsAgenteBot,
|
||||
TelegramConfigID: req.TelegramConfigID,
|
||||
}
|
||||
if err := models.CreateAiConfig(&item); err != nil {
|
||||
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": err.Error()})
|
||||
@@ -125,14 +129,16 @@ func UpdateAiConfigHandler(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
type Req struct {
|
||||
Nombre string `json:"nombre"`
|
||||
Provider string `json:"provider"`
|
||||
ApiKey string `json:"api_key"` // vacío = no cambiar
|
||||
BaseURL string `json:"base_url"`
|
||||
ModelName string `json:"model_name"`
|
||||
IsActive bool `json:"is_active"`
|
||||
Notes string `json:"notes"`
|
||||
Modulo string `json:"modulo"`
|
||||
Nombre string `json:"nombre"`
|
||||
Provider string `json:"provider"`
|
||||
ApiKey string `json:"api_key"` // vacío = no cambiar
|
||||
BaseURL string `json:"base_url"`
|
||||
ModelName string `json:"model_name"`
|
||||
IsActive bool `json:"is_active"`
|
||||
Notes string `json:"notes"`
|
||||
Modulo string `json:"modulo"`
|
||||
EsAgenteBot bool `json:"es_agente_bot"`
|
||||
TelegramConfigID *uint `json:"telegram_config_id"`
|
||||
}
|
||||
var req Req
|
||||
if err := c.BodyParser(&req); err != nil {
|
||||
@@ -140,13 +146,15 @@ func UpdateAiConfigHandler(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
updates := map[string]interface{}{
|
||||
"nombre": strings.TrimSpace(req.Nombre),
|
||||
"provider": strings.ToLower(strings.TrimSpace(req.Provider)),
|
||||
"base_url": strings.TrimSpace(req.BaseURL),
|
||||
"model_name": strings.TrimSpace(req.ModelName),
|
||||
"is_active": req.IsActive,
|
||||
"notes": req.Notes,
|
||||
"modulo": models.JoinModulos(strings.Split(req.Modulo, ",")),
|
||||
"nombre": strings.TrimSpace(req.Nombre),
|
||||
"provider": strings.ToLower(strings.TrimSpace(req.Provider)),
|
||||
"base_url": strings.TrimSpace(req.BaseURL),
|
||||
"model_name": strings.TrimSpace(req.ModelName),
|
||||
"is_active": req.IsActive,
|
||||
"notes": req.Notes,
|
||||
"modulo": models.JoinModulos(strings.Split(req.Modulo, ",")),
|
||||
"es_agente_bot": req.EsAgenteBot,
|
||||
"telegram_config_id": req.TelegramConfigID,
|
||||
}
|
||||
if strings.TrimSpace(req.ApiKey) != "" {
|
||||
updates["api_key"] = strings.TrimSpace(req.ApiKey)
|
||||
|
||||
Reference in New Issue
Block a user