wms-be/modules/inventory_movement/routes.go

30 lines
1.6 KiB
Go

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.GET("lines/:id", middlewares.Authenticate(jwtService), movementController.GetLineById)
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)
}
}