wms-be/modules/quarantine/routes.go

29 lines
1.5 KiB
Go

package quarantine
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/quarantine/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) {
quarantineController := do.MustInvoke[controller.QuarantineController](injector)
jwtService := do.MustInvokeNamed[service.JWTService](injector, constants.JWTService)
quarantineRoutes := server.Group("/api/v1/quarantines")
{
quarantineRoutes.POST("", middlewares.Authenticate(jwtService), quarantineController.Create)
quarantineRoutes.GET(":id", middlewares.Authenticate(jwtService), quarantineController.GetById)
quarantineRoutes.PUT(":id", middlewares.Authenticate(jwtService), quarantineController.Update)
quarantineRoutes.DELETE(":id", middlewares.Authenticate(jwtService), quarantineController.Delete)
quarantineRoutes.GET("", middlewares.Authenticate(jwtService), quarantineController.GetAll)
quarantineRoutes.POST(":id/lines", middlewares.Authenticate(jwtService), quarantineController.CreateLine)
quarantineRoutes.PUT("lines/:id", middlewares.Authenticate(jwtService), quarantineController.UpdateLine)
quarantineRoutes.DELETE("lines/:id", middlewares.Authenticate(jwtService), quarantineController.DeleteLine)
quarantineRoutes.POST(":id/complete", middlewares.Authenticate(jwtService), quarantineController.OnComplete)
}
}