wms-be/modules/inventory_issue/routes.go

29 lines
1.4 KiB
Go

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