Initial commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/rest/controllers"
|
||||
)
|
||||
|
||||
func AdminRoutes(web fiber.Router) {
|
||||
admin := web.Group("admin")
|
||||
admin.Get("/", controllers.Admin)
|
||||
admin.Get("/users", controllers.GetUsers)
|
||||
AdminUserRoutes(admin)
|
||||
RolesRoutes(admin)
|
||||
PermissionRoutes(admin)
|
||||
}
|
||||
|
||||
func AdminUserRoutes(a fiber.Router) {
|
||||
services := a.Group("users")
|
||||
services.Get("/", controllers.GetUsers)
|
||||
services.Get("/:id", controllers.UserInfo)
|
||||
services.Put("/:id", controllers.UpdateUser)
|
||||
services.Get("/:id/settings", controllers.UserSettings)
|
||||
services.Post("/:id/settings", controllers.StoreUserSettings)
|
||||
}
|
||||
|
||||
func RolesRoutes(r fiber.Router) {
|
||||
roles := r.Group("roles")
|
||||
roles.Post("/create", controllers.CreateNewRole)
|
||||
roles.Post("/remove", controllers.RemoveRole)
|
||||
roles.Post("/assign", controllers.AssignRoleToUser)
|
||||
roles.Post("/revoke", controllers.RevokeRoleFromUser)
|
||||
roles.Post("/change", controllers.ChangeRoleForUser)
|
||||
}
|
||||
|
||||
func PermissionRoutes(r fiber.Router) {
|
||||
roles := r.Group("permissions")
|
||||
roles.Post("/add", controllers.AddPermissionOnRole)
|
||||
roles.Post("/remove", controllers.RemovePermissionFromRole)
|
||||
roles.Post("/change", controllers.ChangePermissionOnRole)
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
apiControllers "github.com/sujit-baniya/fiber-boilerplate/rest/controllers/api"
|
||||
)
|
||||
|
||||
func ApiRoutes(api fiber.Router) {
|
||||
v1Routes(api)
|
||||
}
|
||||
|
||||
func v1AuthRoutes(api fiber.Router) {
|
||||
api.Post("/oauth/token", apiControllers.OAuthToken)
|
||||
}
|
||||
|
||||
func v1Routes(api fiber.Router) {
|
||||
v1 := api.Group("v1")
|
||||
v1AuthRoutes(v1)
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
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,
|
||||
)
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package routes
|
||||
|
||||
import "github.com/gofiber/fiber/v2"
|
||||
|
||||
func LoadCharts(app fiber.Router) {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/app"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/rest/controllers"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/rest/middlewares"
|
||||
)
|
||||
|
||||
func LandingRoutes(web fiber.Router) {
|
||||
//web.Get("/", controllers.Landing)
|
||||
web.Get("/ping", Pong)
|
||||
web.Get("/all-routes", AllRoutes)
|
||||
web.Get("/do/verify-email", middlewares.ValidateConfirmToken, controllers.VerifyRegisteredEmail)
|
||||
|
||||
|
||||
}
|
||||
|
||||
func Pong(c *fiber.Ctx) error {
|
||||
return c.SendString("Pong")
|
||||
}
|
||||
|
||||
func AllRoutes(c *fiber.Ctx) error {
|
||||
return c.JSON(app.Http.Server.Stack())
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
func LoadRoutes(app *fiber.App) {
|
||||
// Grupo de rutas de la API con autenticación
|
||||
//api := app.Group("/api").Use(middlewares.AuthApi())
|
||||
//ApiRoutes(api)
|
||||
|
||||
// Grupo de rutas web (sin autenticación)
|
||||
web := app.Group("")
|
||||
|
||||
// Rutas del backend (web)
|
||||
WebRoutes(web)
|
||||
|
||||
vue := app.Group("")
|
||||
// Sirve archivos estáticos de Vue.js desde la carpeta 'dist'
|
||||
vue.Static("/", "./dist") // Sirve archivos estáticos de Vue.js
|
||||
|
||||
// Ruta para acceder a los archivos subidos
|
||||
vue.Get("/uploads/:filename", func(c *fiber.Ctx) error {
|
||||
filename := c.Params("filename")
|
||||
// Devuelve el archivo solicitado desde 'uploads'
|
||||
return c.SendFile("./uploads/" + filename)
|
||||
})
|
||||
|
||||
// Ruta wildcard para manejar las rutas del frontend (SPA)
|
||||
vue.Get("/*", func(c *fiber.Ctx) error {
|
||||
return c.SendFile("./dist/index.html")
|
||||
})
|
||||
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/rest/controllers"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/rest/middlewares"
|
||||
)
|
||||
|
||||
func UserRoutes(app fiber.Router) {
|
||||
protected := app.Group("/app").
|
||||
Use(
|
||||
middlewares.AuthWeb(), // Middleware de autenticación
|
||||
middlewares.LoadUserMiddleware, // Middleware para cargar el usuario
|
||||
)
|
||||
|
||||
// Rutas de la aplicación
|
||||
|
||||
// web me redireccione a /
|
||||
protected.Get("/web", func(c *fiber.Ctx) error { return c.Redirect("/", http.StatusSeeOther) })
|
||||
app.Get("/web", func(c *fiber.Ctx) error { return c.Redirect("/", http.StatusSeeOther) })
|
||||
protected.Get("/", controllers.App)
|
||||
protected.Get("/me", controllers.Me)
|
||||
|
||||
// Rutas de módulos
|
||||
protected.Get("/modules", middlewares.MenuMiddleware, controllers.Modules) // Renderizar la vista
|
||||
protected.Get("/loadmodules", controllers.GetModules) // Obtener todos los módulos
|
||||
protected.Post("/modules", controllers.CreateModule) // Crear un nuevo módulo
|
||||
protected.Put("/modules/:id", controllers.UpdateModule) // Actualizar un módulo existente
|
||||
protected.Delete("/modules/:id", controllers.DeleteModule) // Eliminar un módulo
|
||||
|
||||
// Rutas de roles
|
||||
protected.Get("/roles", middlewares.MenuMiddleware, controllers.Roles) // Renderizar la vista
|
||||
protected.Get("/loadroles", controllers.GetRoles) // Obtener todos
|
||||
protected.Post("/roles", controllers.CreateRole) // Crear
|
||||
protected.Put("/roles/:id", controllers.UpdateRole) // Actualizar
|
||||
protected.Delete("/roles/:id", controllers.DeleteRole) // Eliminar
|
||||
|
||||
// Rutas de usuarios
|
||||
protected.Get("/users", middlewares.MenuMiddleware, controllers.Users) // Renderizar la vista
|
||||
protected.Get("/loadusers", controllers.GetUsers) // Obtener
|
||||
protected.Post("/users", controllers.CreateUser) // Crear
|
||||
protected.Put("/users/:id", controllers.UpdateUser) // Actualizar
|
||||
protected.Put("/password/:id", controllers.UpdatePassword) // Actualizar
|
||||
protected.Delete("/users/:id", controllers.DeleteUser) // Eliminar
|
||||
protected.Get("/user/:id", controllers.GetUser) // Buscar un usuario
|
||||
|
||||
// Rutas de módulos
|
||||
protected.Get("/submodules", middlewares.MenuMiddleware, controllers.Submodules) // Renderizar la vista
|
||||
protected.Get("/loadsubmodules", controllers.GetSubmodules) // Obtener todos los módulos
|
||||
protected.Post("/submodules", controllers.CreateSubmodule) // Crear un nuevo módulo
|
||||
protected.Put("/submodules/:id", controllers.UpdateSubmodule) // Actualizar un módulo existente
|
||||
protected.Delete("/submodules/:id", controllers.DeleteSubmodule) // Eliminar un módulo
|
||||
// Eliminar un colaborador por ID
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/sujit-baniya/fiber-boilerplate/rest/middlewares"
|
||||
)
|
||||
|
||||
// Configuración de rutas web
|
||||
func WebRoutes(web fiber.Router) {
|
||||
// Aplicar el middleware para desactivar el caché
|
||||
web.Use(middlewares.LoadCacheHeaders)
|
||||
// Rutas específicas del backend
|
||||
LandingRoutes(web)
|
||||
WebAuthRoutes(web)
|
||||
UserRoutes(web)
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user