package inventorymovement 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_movement/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) { movementController := do.MustInvoke[controller.InventoryMovementController](injector) jwtService := do.MustInvokeNamed[service.JWTService](injector, constants.JWTService) movementRoutes := server.Group("/api/v1/inventory-movements") { movementRoutes.POST("", middlewares.Authenticate(jwtService), movementController.Create) movementRoutes.GET(":id", middlewares.Authenticate(jwtService), movementController.GetById) movementRoutes.PUT(":id", middlewares.Authenticate(jwtService), movementController.Update) movementRoutes.DELETE(":id", middlewares.Authenticate(jwtService), movementController.Delete) movementRoutes.GET("", middlewares.Authenticate(jwtService), movementController.GetAll) movementRoutes.GET(":id/lines", middlewares.Authenticate(jwtService), movementController.GetLinesByMovementId) movementRoutes.POST(":id/lines", middlewares.Authenticate(jwtService), movementController.CreateLine) movementRoutes.PUT("lines/:id", middlewares.Authenticate(jwtService), movementController.UpdateLine) movementRoutes.DELETE("lines/:id", middlewares.Authenticate(jwtService), movementController.DeleteLine) } }