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

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)
}