package inventoryissue 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/inventory_issue/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) { issueController := do.MustInvoke[controller.InventoryIssueController](injector) jwtService := do.MustInvokeNamed[service.JWTService](injector, constants.JWTService) issueRoutes := server.Group("/api/v1/inventory-issues") { issueRoutes.POST("", middlewares.Authenticate(jwtService), issueController.Create) issueRoutes.GET(":id", middlewares.Authenticate(jwtService), issueController.GetById) issueRoutes.PUT(":id", middlewares.Authenticate(jwtService), issueController.Update) issueRoutes.DELETE(":id", middlewares.Authenticate(jwtService), issueController.Delete) issueRoutes.GET("", middlewares.Authenticate(jwtService), issueController.GetAll) issueRoutes.POST(":id/lines", middlewares.Authenticate(jwtService), issueController.CreateLine) issueRoutes.PUT("lines/:id", middlewares.Authenticate(jwtService), issueController.UpdateLine) issueRoutes.DELETE("lines/:id", middlewares.Authenticate(jwtService), issueController.DeleteLine) } }