82 lines
5.5 KiB
Go
82 lines
5.5 KiB
Go
package routes
|
|
|
|
import (
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/sujit-baniya/fiber-boilerplate/migrations"
|
|
"github.com/sujit-baniya/fiber-boilerplate/rest/controllers"
|
|
"github.com/sujit-baniya/fiber-boilerplate/rest/middlewares"
|
|
)
|
|
|
|
// RenovacionesRoutes registra todas las rutas del módulo de renovaciones/contratos
|
|
func RenovacionesRoutes(protected fiber.Router) {
|
|
// ─── Servicios ───────────────────────────────────────────────────
|
|
protected.Get("/servicios", middlewares.MenuMiddleware, controllers.ServiciosView)
|
|
protected.Get("/api/servicios", controllers.GetServicios)
|
|
protected.Get("/api/servicios/select", controllers.GetServiciosSelect)
|
|
protected.Post("/api/servicios", controllers.CreateServicio)
|
|
protected.Put("/api/servicios/:id", controllers.UpdateServicio)
|
|
protected.Delete("/api/servicios/:id", controllers.DeleteServicio)
|
|
|
|
// ─── Clientes ────────────────────────────────────────────────────
|
|
protected.Get("/clientes", middlewares.MenuMiddleware, controllers.ClientesView)
|
|
protected.Get("/api/clientes", controllers.GetClientes)
|
|
protected.Get("/api/clientes/select", controllers.GetClientesSelect)
|
|
protected.Post("/api/clientes", controllers.CreateCliente)
|
|
protected.Put("/api/clientes/:id", controllers.UpdateCliente)
|
|
protected.Delete("/api/clientes/:id", controllers.DeleteCliente)
|
|
// Documentos de cliente
|
|
protected.Get("/api/clientes/:clienteID/documentos", controllers.GetClienteDocumentos)
|
|
protected.Post("/api/clientes/:clienteID/documentos", controllers.UploadClienteDocumentos)
|
|
protected.Delete("/api/clientes/:clienteID/documentos/:docID", controllers.DeleteClienteDocumento)
|
|
protected.Get("/api/clientes/:clienteID/documentos/:docID/download", controllers.DownloadClienteDocumento)
|
|
|
|
// ─── Contratos ───────────────────────────────────────────────────
|
|
protected.Get("/contratos", middlewares.MenuMiddleware, controllers.ContratosView)
|
|
protected.Get("/api/contratos", controllers.GetContratos)
|
|
protected.Post("/api/contratos", controllers.CreateContrato)
|
|
protected.Put("/api/contratos/:id", controllers.UpdateContrato)
|
|
protected.Delete("/api/contratos/:id", controllers.DeleteContrato)
|
|
protected.Post("/api/contratos/:id/renovar", controllers.RenovarContrato)
|
|
protected.Post("/api/contratos/:id/enviar-correo", controllers.EnviarCorreoContrato)
|
|
protected.Get("/api/contratos/:id/historial", controllers.GetHistorialContrato)
|
|
protected.Post("/api/contratos/:id/verificar-pago", controllers.VerificarPagoBold)
|
|
|
|
// ─── Plantillas de correo ─────────────────────────────────────────
|
|
protected.Get("/plantillas-correo", middlewares.MenuMiddleware, controllers.PlantillasView)
|
|
protected.Get("/api/plantillas-correo", controllers.GetPlantillas)
|
|
protected.Post("/api/plantillas-correo", controllers.CreatePlantilla)
|
|
protected.Put("/api/plantillas-correo/:id", controllers.UpdatePlantilla)
|
|
protected.Delete("/api/plantillas-correo/:id", controllers.DeletePlantilla)
|
|
protected.Get("/api/plantillas-correo/:id/preview", controllers.PreviewPlantilla)
|
|
protected.Post("/api/plantillas-correo/:id/test", controllers.TestEnvioPlantilla)
|
|
protected.Post("/api/plantillas-correo/validate", controllers.ValidarPlantilla)
|
|
|
|
// ─── Reglas de notificación ───────────────────────────────────────
|
|
protected.Get("/reglas-notificacion", middlewares.MenuMiddleware, controllers.ReglasView)
|
|
protected.Get("/api/reglas-notificacion", controllers.GetReglas)
|
|
protected.Post("/api/reglas-notificacion", controllers.CreateRegla)
|
|
protected.Put("/api/reglas-notificacion/:id", controllers.UpdateRegla)
|
|
protected.Delete("/api/reglas-notificacion/:id", controllers.DeleteRegla)
|
|
|
|
// ─── Historial de notificaciones ─────────────────────────────────
|
|
protected.Get("/historial-notificaciones", middlewares.MenuMiddleware, controllers.HistorialView)
|
|
protected.Get("/api/historial-notificaciones", controllers.GetHistorial)
|
|
protected.Post("/api/historial-notificaciones/:id/reenviar", controllers.ReenviarNotificacion)
|
|
protected.Get("/api/historial-notificaciones/:id/preview", controllers.VerPreviewLog)
|
|
|
|
// ─── Configuración SMTP ───────────────────────────────────────────
|
|
protected.Get("/smtp-config", middlewares.MenuMiddleware, controllers.SmtpConfigView)
|
|
protected.Get("/api/smtp-config", controllers.GetSmtpConfig)
|
|
protected.Post("/api/smtp-config", controllers.SaveSmtpConfig)
|
|
protected.Post("/api/smtp-config/test", controllers.TestSmtpConfig)
|
|
|
|
// ─── Diagnóstico ──────────────────────────────────────────────────
|
|
protected.Post("/api/diagnostico/ciclo-notificaciones", controllers.EjecutarTestCiclo)
|
|
|
|
// ─── Admin: seed de módulos (idempotente) ─────────────────────────
|
|
protected.Post("/api/admin/seed-renovaciones", func(c *fiber.Ctx) error {
|
|
migrations.SeedRenovaciones()
|
|
return c.JSON(fiber.Map{"ok": true, "message": "Seed de Renovaciones ejecutado correctamente"})
|
|
})
|
|
}
|