33 lines
1.4 KiB
Go
33 lines
1.4 KiB
Go
package routes
|
|
|
|
import (
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/sujit-baniya/fiber-boilerplate/rest/controllers"
|
|
"github.com/sujit-baniya/fiber-boilerplate/rest/middlewares"
|
|
)
|
|
|
|
func PortalRoutes(app fiber.Router) {
|
|
// ─── Rutas públicas ────────────────────────────────────────────────────────
|
|
app.Get("/portal/login", controllers.PortalLoginPage)
|
|
app.Post("/portal/login", controllers.PortalLoginPost)
|
|
app.Get("/portal/logout", controllers.PortalLogout)
|
|
|
|
// ─── Rutas protegidas ──────────────────────────────────────────────────────
|
|
portal := app.Group("/portal").Use(middlewares.PortalAuth())
|
|
|
|
portal.Get("/dashboard", controllers.PortalDashboard)
|
|
portal.Get("/proyecto/:slug", controllers.PortalProyecto)
|
|
|
|
// API JSON para Alpine.js
|
|
portal.Get("/api/proyectos", controllers.PortalGetProyectos)
|
|
portal.Get("/api/proyecto/:slug", controllers.PortalGetProyectoData)
|
|
|
|
// Tickets
|
|
portal.Post("/tickets", controllers.PortalCrearTicket)
|
|
portal.Post("/tickets/:id/mensaje", controllers.PortalResponderTicket)
|
|
|
|
// Descargas
|
|
portal.Get("/entregables/:id/download", controllers.PortalDownloadEntregable)
|
|
portal.Get("/facturas/:id/download", controllers.PortalDownloadFactura)
|
|
}
|