40 lines
2.2 KiB
Go
40 lines
2.2 KiB
Go
package role
|
|
|
|
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/role/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) {
|
|
roleController := do.MustInvoke[controller.RoleController](injector)
|
|
jwtService := do.MustInvokeNamed[service.JWTService](injector, constants.JWTService)
|
|
|
|
roleRoutes := server.Group("/api/v1/role")
|
|
{
|
|
roleRoutes.POST("", middlewares.Authenticate(jwtService), roleController.CreateRole)
|
|
roleRoutes.GET("", middlewares.Authenticate(jwtService), roleController.GetRoles)
|
|
roleRoutes.GET("/:id", middlewares.Authenticate(jwtService), roleController.GetRoleByID)
|
|
roleRoutes.PUT("/:id", middlewares.Authenticate(jwtService), roleController.UpdateRole)
|
|
roleRoutes.DELETE("/:id", middlewares.Authenticate(jwtService), roleController.DeleteRole)
|
|
roleRoutes.POST("/:id/permissions", middlewares.Authenticate(jwtService), roleController.AssignPermissionsToRole)
|
|
roleRoutes.DELETE("/:id/permissions", middlewares.Authenticate(jwtService), roleController.RemovePermissionsFromRole)
|
|
roleRoutes.POST("/assign-role", middlewares.Authenticate(jwtService), roleController.AssignRoleToUser)
|
|
roleRoutes.POST("/remove-role", middlewares.Authenticate(jwtService), roleController.RemoveRoleFromUser)
|
|
roleRoutes.GET("/user/:id", middlewares.Authenticate(jwtService), roleController.GetRolesByUserID)
|
|
// roleRoutes.POST("", roleController.CreateRole)
|
|
// roleRoutes.GET("", roleController.GetRoles)
|
|
// roleRoutes.GET("/:id", roleController.GetRoleByID)
|
|
// roleRoutes.PUT("/:id", middlewares.Authenticate(jwtService), roleController.Update)
|
|
// roleRoutes.DELETE("/:id", middlewares.Authenticate(jwtService), roleController.Delete)
|
|
|
|
// userRoutes.PUT("/:id", middlewares.Authenticate(jwtService), userController.Update)
|
|
// roleRoutes.DELETE("/:id", middlewares.Authenticate(jwtService), roleController.Delete)
|
|
// roleRoutes.POST("/send-verification-email", roleController.SendVerificationEmail)
|
|
// roleRoutes.POST("/refresh", middlewares.Authenticate(jwtService), roleController.Refresh)
|
|
}
|
|
}
|