This commit is contained in:
Lizandro Guarnizo
2026-05-16 20:01:36 -05:00
parent 4c14f4a641
commit 2b7458b612
8 changed files with 972 additions and 0 deletions
+45
View File
@@ -85,6 +85,9 @@ func Migrate() {
// Sistema de notificaciones por evento
&models.NotifEventoConfig{},
&models.SistemaNotificacion{},
// Submódulo Partner
&models.PartnerRecurso{},
&models.PartnerComunicado{},
); err != nil {
log.Fatalf("Error during main migration: %v", err)
}
@@ -128,6 +131,9 @@ func Migrate() {
// Crear módulo y submódulos de Portal de Clientes
SeedPortalClientes()
// Agregar submódulo "Partner Recursos" al módulo Portal de Clientes
SeedPartnerRecursos()
log.Println("Migration Completed...")
}
@@ -846,3 +852,42 @@ func SeedNotifDefaults() {
func SeedShield() {
log.Println("[SEED] SeedShield: sin entradas por defecto definidas aún.")
}
// SeedPartnerRecursos agrega el submódulo "Partner Recursos" al módulo "Portal de Clientes". Es idempotente.
func SeedPartnerRecursos() {
db := app.Http.Database.DB
var modulo models.Modules
if err := db.Where("title = ?", "Portal de Clientes").First(&modulo).Error; err != nil {
log.Printf("[SEED] Módulo 'Portal de Clientes' no encontrado para SeedPartnerRecursos: %v", err)
return
}
url := "/app/partner-recursos"
var sub models.Submodules
if err := db.Where("url = ?", url).First(&sub).Error; err != nil {
sub = models.Submodules{
Title: "Partner Recursos",
Description: "Documentación y comunicados exclusivos para partners",
Url: url,
ModuleId: modulo.ID,
ModifiedAt: time.Now(),
}
if err2 := db.Create(&sub).Error; err2 != nil {
log.Printf("[SEED] Error creando submódulo Partner Recursos: %v", err2)
return
}
log.Printf("[SEED] Submódulo 'Partner Recursos' creado (ID %d)", sub.ID)
} else {
log.Printf("[SEED] Submódulo 'Partner Recursos' 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] Seed de Partner Recursos completado.")
}