El SPA pasa a llamarse uMind Studio y vive en /studio (el nombre "Orquestador" no le decía nada al cliente final, que ahora es quien lo usa). Diseño: - Los colores viven una sola vez como variables CSS + clases semánticas (.card, .input, .btn-*, .badge-*). Antes cada elemento repetía el par claro/oscuro a mano en cientos de lugares y cambiar un tono era buscar y reemplazar. - darkMode pasa de 'media' a 'class' con toggle propio persistido: el usuario elige, no el sistema operativo. Se aplica antes de montar la app para que no parpadee. - Componentes compartidos (UiModal, UiBadge, UiEmptyState) donde antes había markup duplicado inline. Nueva pantalla de consumo (/tenants/:id/uso): filtros por fecha con atajos, total del período, pendiente de facturar, barra contra el tope del plan, desglose por tipo y gráfico por día. El gráfico son divs con altura porcentual — no vale traer una librería de charts para esto. Rename: - /studio y /portal/studio; /orchestrator redirige 301 conservando la ruta interna, así los enlaces guardados siguen funcionando. Los assets del bundle quedan exentos (el `base` de Vite sigue en /orchestrator/): redirigirlos rompería el SPA. - El submódulo sembrado migra el mismo registro buscando por las tres URLs históricas (/app/umind → /orchestrator → /studio) en vez de dejar entradas duplicadas en el menú. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
97 lines
2.7 KiB
Go
Executable File
97 lines
2.7 KiB
Go
Executable File
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 WebAuthRoutes(App fiber.Router) {
|
|
App.Get("/login",
|
|
middlewares.RedirectToHomePageOnLogin,
|
|
controllers.LoginGet,
|
|
)
|
|
App.Post("/do/login",
|
|
middlewares.ValidateLoginPost,
|
|
controllers.LoginPost,
|
|
)
|
|
App.Post("/do/logout",
|
|
controllers.LogoutPost,
|
|
)
|
|
|
|
App.Get("/register", middlewares.RedirectToHomePageOnLogin, controllers.RegisterGet)
|
|
App.Post("/do/register",
|
|
middlewares.RedirectToHomePageOnLogin,
|
|
middlewares.ValidateRegisterPost,
|
|
controllers.RegisterPost,
|
|
)
|
|
|
|
App.Get("/reset-password",
|
|
middlewares.ValidatePasswordReset,
|
|
controllers.PasswordReset,
|
|
)
|
|
App.Get("/token-vencido",
|
|
controllers.TokenVencido,
|
|
)
|
|
App.Post("/do/reset-password",
|
|
controllers.RequestPasswordResetPost,
|
|
)
|
|
// Generar contraseñas aleatorias /do/generate-password
|
|
App.Post("/do/generate-password",
|
|
controllers.GeneratePasswordPost,
|
|
)
|
|
|
|
App.Get("/request-password-reset", middlewares.RedirectToHomePageOnLogin, controllers.RequestPasswordReset)
|
|
App.Post("/do/password-reset/:token",
|
|
middlewares.RedirectToHomePageOnLogin,
|
|
middlewares.ValidatePasswordResetPost,
|
|
middlewares.ValidateRegisterPost,
|
|
controllers.PasswordResetPost)
|
|
App.Get("/resend/confirm", controllers.ResendConfirmEmail)
|
|
App.Get("/do/verify-email",
|
|
middlewares.ValidateConfirmToken,
|
|
controllers.VerifyRegisteredEmail,
|
|
)
|
|
}
|
|
|
|
func AuthRoutes(App fiber.Router) {
|
|
App.Post("/do/login",
|
|
middlewares.ValidateApiLoginPost,
|
|
apiControllers.ApiLoginPost,
|
|
)
|
|
App.Post("/me", controllers.Me)
|
|
App.Post("/do/logout", controllers.LogoutPost)
|
|
|
|
App.Get("/register", middlewares.RedirectToHomePageOnLogin, controllers.RegisterGet)
|
|
//App.Post("/do/register",
|
|
// middlewares.ValidateApiRegisterPost,
|
|
// apiControllers.ApiRegisterPost,
|
|
//)
|
|
|
|
App.Get("/reset-password",
|
|
middlewares.ValidatePasswordReset,
|
|
controllers.PasswordReset,
|
|
)
|
|
App.Post("/do/reset-password",
|
|
controllers.RequestPasswordResetPost,
|
|
)
|
|
// Generar contraseñas aleatorias /do/generate-password
|
|
App.Post("/do/generate-password",
|
|
controllers.GeneratePasswordPost,
|
|
)
|
|
|
|
App.Get("/request-password-reset", middlewares.RedirectToHomePageOnLogin, controllers.RequestPasswordReset)
|
|
App.Post("/do/password-reset/:token",
|
|
middlewares.RedirectToHomePageOnLogin,
|
|
middlewares.ValidatePasswordResetPost,
|
|
middlewares.ValidateRegisterPost,
|
|
controllers.PasswordResetPost)
|
|
App.Get("/resend/confirm", controllers.ResendConfirmEmail)
|
|
App.Get("/do/verify-email",
|
|
middlewares.ValidateConfirmToken,
|
|
controllers.VerifyRegisteredEmail,
|
|
)
|
|
|
|
}
|