This commit is contained in:
Lizandro Guarnizo
2026-05-15 23:22:35 -05:00
parent c91383882c
commit 49cc56123b
12 changed files with 1371 additions and 4 deletions
+39
View File
@@ -860,6 +860,7 @@ func SeedNotifDefaults() {
{Evento: "ticket_nuevo", Destinatario: "admin", CanalEmail: true, CanalTelegram: false, CanalSistema: true, Descripcion: "Admin recibe cuando el cliente abre un ticket"},
{Evento: "ticket_respuesta_cliente", Destinatario: "admin", CanalEmail: true, CanalTelegram: false, CanalSistema: true, Descripcion: "Admin recibe cuando el cliente responde un ticket"},
{Evento: "ticket_respuesta_admin", Destinatario: "portal_user", CanalEmail: true, CanalTelegram: false, CanalSistema: true, Descripcion: "Cliente recibe cuando el admin responde su ticket"},
{Evento: "factura_subida", Destinatario: "portal_user", CanalEmail: true, CanalTelegram: false, CanalSistema: true, Descripcion: "Cliente recibe cuando el admin sube el PDF de una factura"},
}
for _, cfg := range defaults {
var existing models.NotifEventoConfig
@@ -873,3 +874,41 @@ func SeedNotifDefaults() {
}
log.Println("[SEED] Seed de notificaciones completado.")
}
// SeedShield agrega el submódulo "Shield" al módulo "Integraciones". Es idempotente.
func SeedShield() {
db := app.Http.Database.DB
var modulo models.Modules
if err := db.Where("title = ?", "Integraciones").First(&modulo).Error; err != nil {
log.Printf("[SEED] Módulo 'Integraciones' no encontrado para SeedShield: %v", err)
return
}
var sub models.Submodules
if err := db.Where("url = ?", "/app/shield").First(&sub).Error; err != nil {
sub = models.Submodules{
Title: "Shield",
Description: "Administración de la API de seguridad USITE Shield",
Url: "/app/shield",
ModuleId: modulo.ID,
ModifiedAt: time.Now(),
}
if err := db.Create(&sub).Error; err != nil {
log.Printf("[SEED] Error creando submódulo Shield: %v", err)
return
}
log.Printf("[SEED] Submódulo 'Shield' creado (ID %d)", sub.ID)
} else {
log.Printf("[SEED] Submódulo 'Shield' ya existe (ID %d)", sub.ID)
}
var roles []models.Roles
if err := db.Find(&roles).Error; err != nil {
return
}
for _, rol := range roles {
db.Model(&rol).Association("Submodules").Append(&sub)
}
log.Println("[SEED] SeedShield completado.")
}