package routes import ( "github.com/gofiber/fiber/v2" "github.com/sujit-baniya/fiber-boilerplate/rest/controllers" apiControllers "github.com/sujit-baniya/fiber-boilerplate/rest/controllers/api" "github.com/sujit-baniya/fiber-boilerplate/rest/middlewares" ) func RutasPublicas(web fiber.Router) { web.Get("/", controllers.Landing) web.Get("/index", controllers.Index) //web.Get("/login", controllers.Login) web.Get("/ping", Pong) web.Get("/all-routes", AllRoutes) web.Get("/do/verify-email", middlewares.ValidateConfirmToken, controllers.VerifyRegisteredEmail) // ─── Webhooks públicos (sin autenticación) ──────────────────────────── // Bold requiere respuesta HTTP 200 rápida, sin middleware de sesión. web.Post("/webhooks/bold", apiControllers.BoldWebhook) // dLocal requiere respuesta HTTP 200 inmediata. web.Post("/webhooks/dlocal", apiControllers.DlocalWebhook) // ─── Página de confirmación de pago ─────────────────────────────────── web.Get("/pago-exitoso", apiControllers.PagoExitosoPage) // Ruta fuera del prefijo /api para evitar que AuthApi() la intercepte web.Get("/pago/estado", apiControllers.PagoEstadoAPI) // ─── Documentación pública ──────────────────────────────────────────────── web.Get("/docs/:saas", controllers.DocsPublicoIndex) web.Get("/docs/:saas/:slug", controllers.DocsPublicaPagina) // ─── Página de estado del sistema (Atlassian Statuspage) ──────────────── web.Get("/status", controllers.StatusPage) }