wms-be/modules/client/routes.go

27 lines
1.3 KiB
Go

package client
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/client/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) {
clientController := do.MustInvoke[controller.ClientController](injector)
jwtService := do.MustInvokeNamed[service.JWTService](injector, constants.JWTService)
clientRoutes := server.Group("/api/v1/clients")
{
clientRoutes.POST("", middlewares.Authenticate(jwtService), clientController.Create)
clientRoutes.GET("/:id", middlewares.Authenticate(jwtService), clientController.GetById)
clientRoutes.PUT("/:id", middlewares.Authenticate(jwtService), clientController.Update)
clientRoutes.DELETE("/:id", middlewares.Authenticate(jwtService), clientController.Delete)
clientRoutes.GET("", middlewares.Authenticate(jwtService), clientController.GetAll)
clientRoutes.POST("/:id/assign-menus", middlewares.Authenticate(jwtService), clientController.AssignMenusToClient)
clientRoutes.POST("/:id/remove-menus", middlewares.Authenticate(jwtService), clientController.RemoveMenusFromClient)
}
}