25 lines
1.2 KiB
Go
25 lines
1.2 KiB
Go
package permissions
|
|
|
|
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/permissions/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) {
|
|
permissionsController := do.MustInvoke[controller.PermissionsController](injector)
|
|
jwtService := do.MustInvokeNamed[service.JWTService](injector, constants.JWTService)
|
|
|
|
permissionsRoutes := server.Group("/api/v1/permissions")
|
|
{
|
|
permissionsRoutes.GET("", middlewares.Authenticate(jwtService), permissionsController.GetAllPermissions)
|
|
permissionsRoutes.POST("", middlewares.Authenticate(jwtService), permissionsController.CreatePermission)
|
|
permissionsRoutes.GET("/:id", middlewares.Authenticate(jwtService), permissionsController.GetPermissionByID)
|
|
permissionsRoutes.PUT("/:id", middlewares.Authenticate(jwtService), permissionsController.UpdatePermission)
|
|
permissionsRoutes.DELETE("/:id", middlewares.Authenticate(jwtService), permissionsController.DeletePermission)
|
|
}
|
|
}
|