You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
730 B
Go
28 lines
730 B
Go
package http
|
|
|
|
import "github.com/gofiber/fiber/v3"
|
|
|
|
// RegisterRoutes registers user service routes.
|
|
func RegisterRoutes(app *fiber.App, h *Handler, authMiddleware fiber.Handler, adminMiddleware fiber.Handler) {
|
|
users := app.Group("/users")
|
|
if authMiddleware != nil {
|
|
users.Use(authMiddleware)
|
|
}
|
|
|
|
users.Post("/register", h.RegisterUser)
|
|
users.Get("/:id", h.GetUser)
|
|
users.Put("/:id", h.UpdateUser)
|
|
users.Delete("/:id", h.DeleteUser)
|
|
users.Post("/verify-email", h.VerifyEmail)
|
|
|
|
admin := app.Group("/admin")
|
|
if authMiddleware != nil {
|
|
admin.Use(authMiddleware)
|
|
}
|
|
if adminMiddleware != nil {
|
|
admin.Use(adminMiddleware)
|
|
}
|
|
admin.Get("/users", h.AdminListUsers)
|
|
admin.Post("/users/:id/export", h.AdminExportUser)
|
|
}
|