Add user Roles

This commit is contained in:
Aditya Siregar
2025-08-09 15:28:25 +07:00
parent 9e95e8ee5e
commit 001d02c587
9 changed files with 486 additions and 1 deletions
+12
View File
@@ -18,3 +18,15 @@ type FileHandler interface {
UploadProfileAvatar(c *gin.Context)
UploadDocument(c *gin.Context)
}
type RBACHandler interface {
CreatePermission(c *gin.Context)
UpdatePermission(c *gin.Context)
DeletePermission(c *gin.Context)
ListPermissions(c *gin.Context)
CreateRole(c *gin.Context)
UpdateRole(c *gin.Context)
DeleteRole(c *gin.Context)
ListRoles(c *gin.Context)
}
+16
View File
@@ -14,6 +14,7 @@ type Router struct {
authMiddleware AuthMiddleware
userHandler UserHandler
fileHandler FileHandler
rbacHandler RBACHandler
}
func NewRouter(
@@ -23,6 +24,7 @@ func NewRouter(
healthHandler HealthHandler,
userHandler UserHandler,
fileHandler FileHandler,
rbacHandler RBACHandler,
) *Router {
return &Router{
config: cfg,
@@ -31,6 +33,7 @@ func NewRouter(
healthHandler: healthHandler,
userHandler: userHandler,
fileHandler: fileHandler,
rbacHandler: rbacHandler,
}
}
@@ -77,5 +80,18 @@ func (r *Router) addAppRoutes(rg *gin.Engine) {
{
files.POST("/documents", r.fileHandler.UploadDocument)
}
rbac := v1.Group("/rbac")
rbac.Use(r.authMiddleware.RequireAuth())
{
rbac.GET("/permissions", r.rbacHandler.ListPermissions)
rbac.POST("/permissions", r.rbacHandler.CreatePermission)
rbac.PUT("/permissions/:id", r.rbacHandler.UpdatePermission)
rbac.DELETE("/permissions/:id", r.rbacHandler.DeletePermission)
rbac.GET("/roles", r.rbacHandler.ListRoles)
rbac.POST("/roles", r.rbacHandler.CreateRole)
rbac.PUT("/roles/:id", r.rbacHandler.UpdateRole)
rbac.DELETE("/roles/:id", r.rbacHandler.DeleteRole)
}
}
}