package assignment import ( "github.com/Caknoooo/go-gin-clean-starter/middlewares" "github.com/Caknoooo/go-gin-clean-starter/modules/assignment/controller" "github.com/Caknoooo/go-gin-clean-starter/modules/auth/service" "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) { assignmentController := do.MustInvoke[controller.AssignmentController](injector) jwtService := do.MustInvokeNamed[service.JWTService](injector, constants.JWTService) assignmentRoutes := server.Group("/api/v1/assignments") { assignmentRoutes.POST("", middlewares.Authenticate(jwtService), assignmentController.Create) assignmentRoutes.GET(":id", middlewares.Authenticate(jwtService), assignmentController.GetById) assignmentRoutes.PUT(":id", middlewares.Authenticate(jwtService), assignmentController.Update) assignmentRoutes.DELETE(":id", middlewares.Authenticate(jwtService), assignmentController.Delete) assignmentRoutes.GET("", middlewares.Authenticate(jwtService), assignmentController.GetAll) } }