package user import ( "github.com/Caknoooo/go-gin-clean-starter/middlewares" "github.com/Caknoooo/go-gin-clean-starter/modules/auth/service" "github.com/Caknoooo/go-gin-clean-starter/modules/user/controller" "github.com/Caknoooo/go-gin-clean-starter/pkg/constants" "github.com/gin-gonic/gin" "github.com/samber/do" ) func RegisterRoutes(server *gin.Engine, injector *do.Injector) { userController := do.MustInvoke[controller.UserController](injector) jwtService := do.MustInvokeNamed[service.JWTService](injector, constants.JWTService) userRoutes := server.Group("/api/v1/users") { userRoutes.POST("", middlewares.Authenticate(jwtService), userController.Create) // userRoutes.POST("/login", userController.Login) // userRoutes.POST("/verify-email", userController.VerifyEmail) userRoutes.GET("", middlewares.Authenticate(jwtService), userController.GetAllUser) userRoutes.GET("/me", middlewares.Authenticate(jwtService), userController.Me) userRoutes.GET("/:id", middlewares.Authenticate(jwtService), userController.GetUserById) userRoutes.PUT("/:id", middlewares.Authenticate(jwtService), userController.Update) userRoutes.DELETE("/:id", middlewares.Authenticate(jwtService), userController.Delete) userRoutes.POST("/send-verification-email", userController.SendVerificationEmail) userRoutes.POST("/refresh", middlewares.Authenticate(jwtService), userController.Refresh) } }