fix: compilar agent/dist en builder stage y agregar módulos contabilidad/websms
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
ca6a44f64e
commit
e28e2823dc
@@ -912,3 +912,90 @@ func SeedPartnerRecursos() {
|
||||
}
|
||||
log.Println("[SEED] Seed de Partner Recursos completado.")
|
||||
}
|
||||
|
||||
// SeedContabilidadMenu crea el módulo "Contabilidad" y sus submódulos en el menú lateral.
|
||||
func SeedContabilidadMenu() {
|
||||
db := app.Http.Database.DB
|
||||
var modulo models.Modules
|
||||
result := db.Where("title = ?", "Contabilidad").First(&modulo)
|
||||
if result.Error != nil {
|
||||
modulo = models.Modules{
|
||||
Title: "Contabilidad",
|
||||
Description: "Gestión contable: ingresos, egresos, cuentas por cobrar/pagar",
|
||||
ModifiedAt: time.Now(),
|
||||
}
|
||||
if err := db.Create(&modulo).Error; err != nil {
|
||||
log.Printf("[SEED] Error creando módulo Contabilidad: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("[SEED] Módulo 'Contabilidad' creado con ID %d", modulo.ID)
|
||||
} else {
|
||||
log.Printf("[SEED] Módulo 'Contabilidad' ya existe (ID %d)", modulo.ID)
|
||||
}
|
||||
entries := []struct{ title, desc, url string }{
|
||||
{"Dashboard", "Resumen mensual", "/app/contabilidad"},
|
||||
{"Transacciones", "Ingresos y egresos", "/app/contabilidad/transacciones"},
|
||||
{"Categorías", "Plan de cuentas", "/app/contabilidad/cuentas"},
|
||||
{"Entidades", "Clientes y proveedores", "/app/contabilidad/entidades"},
|
||||
{"Cuentas por cobrar", "Pendientes de cobro", "/app/contabilidad/cuentas-cobro"},
|
||||
{"Cuentas por pagar", "Pendientes de pago", "/app/contabilidad/cuentas-pagar"},
|
||||
}
|
||||
var insertados []models.Submodules
|
||||
for _, e := range entries {
|
||||
var sub models.Submodules
|
||||
if err := db.Where("url = ?", e.url).First(&sub).Error; err != nil {
|
||||
sub = models.Submodules{
|
||||
Title: e.title, Description: e.desc, Url: e.url,
|
||||
ModuleId: modulo.ID, ModifiedAt: time.Now(),
|
||||
}
|
||||
if err := db.Create(&sub).Error; err != nil {
|
||||
log.Printf("[SEED] Error creando submódulo '%s': %v", e.title, err)
|
||||
continue
|
||||
}
|
||||
} else if sub.ModuleId != modulo.ID {
|
||||
db.Model(&sub).Update("module_id", modulo.ID)
|
||||
}
|
||||
insertados = append(insertados, sub)
|
||||
}
|
||||
var roles []models.Roles
|
||||
db.Find(&roles)
|
||||
for _, rol := range roles {
|
||||
db.Model(&rol).Association("Submodules").Append(&insertados)
|
||||
}
|
||||
log.Println("[SEED] Seed de Contabilidad completado.")
|
||||
}
|
||||
|
||||
// SeedWebSms crea el submódulo de WebSMS bajo "Integraciones".
|
||||
func SeedWebSms() {
|
||||
db := app.Http.Database.DB
|
||||
var modulo models.Modules
|
||||
if err := db.Where("title = ?", "Integraciones").First(&modulo).Error; err != nil {
|
||||
log.Println("[SEED] Módulo 'Integraciones' no encontrado, se creará")
|
||||
modulo = models.Modules{
|
||||
Title: "Integraciones", Description: "Conexión con servicios externos",
|
||||
ModifiedAt: time.Now(),
|
||||
}
|
||||
db.Create(&modulo)
|
||||
}
|
||||
url := "/app/websms"
|
||||
var sub models.Submodules
|
||||
if err := db.Where("url = ?", url).First(&sub).Error; err != nil {
|
||||
sub = models.Submodules{
|
||||
Title: "WebSMS", Description: "Notificaciones SMS vía LabsMobile",
|
||||
Url: url, ModuleId: modulo.ID, ModifiedAt: time.Now(),
|
||||
}
|
||||
if err := db.Create(&sub).Error; err != nil {
|
||||
log.Printf("[SEED] Error creando submódulo WebSMS: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("[SEED] Submódulo 'WebSMS' creado")
|
||||
} else if sub.ModuleId != modulo.ID {
|
||||
db.Model(&sub).Update("module_id", modulo.ID)
|
||||
}
|
||||
var roles []models.Roles
|
||||
db.Find(&roles)
|
||||
for _, rol := range roles {
|
||||
db.Model(&rol).Association("Submodules").Append(&[]models.Submodules{sub})
|
||||
}
|
||||
log.Println("[SEED] Seed de WebSMS completado.")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user