Availability based on permissions

This commit is contained in:
cdricms
2025-02-19 16:16:47 +01:00
parent 446813315d
commit 2011ae93b6
26 changed files with 1071 additions and 794 deletions

View File

@@ -7,35 +7,43 @@ import (
var RolesRoutes = map[string]core.Handler{
"/roles": {
Handler: roles.HandleRoles,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
Handler: roles.HandleRoles,
Middlewares: []core.Middleware{Methods("GET"),
HasPermissions("roles", "get"), AuthJWT},
},
"/roles/new": {
Handler: roles.HandleNew,
Middlewares: []core.Middleware{Methods("POST"), AuthJWT},
Handler: roles.HandleNew,
Middlewares: []core.Middleware{Methods("POST"),
HasPermissions("roles", "insert"), AuthJWT},
},
"/roles/{role_uuid}": {
Handler: roles.HandleRole,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
Handler: roles.HandleRole,
Middlewares: []core.Middleware{Methods("GET"),
HasPermissions("roles", "get"), AuthJWT},
},
"/roles/{role_uuid}/update": {
Handler: roles.HandleUpdate,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT},
Handler: roles.HandleUpdate,
Middlewares: []core.Middleware{Methods("PATCH"),
HasPermissions("roles", "update"), AuthJWT},
},
"/roles/{role_uuid}/delete": {
Handler: roles.HandleDelete,
Middlewares: []core.Middleware{Methods("DELETE"), AuthJWT},
Handler: roles.HandleDelete,
Middlewares: []core.Middleware{Methods("DELETE"),
HasPermissions("roles", "delete"), AuthJWT},
},
"/roles/{role_uuid}/permissions/": {
Handler: roles.HandleRolePermissions,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
Handler: roles.HandleRolePermissions,
Middlewares: []core.Middleware{Methods("GET"),
HasPermissions("roles", "get"), AuthJWT},
},
"/roles/{role_uuid}/permissions/{resource}/{action}/add": {
Handler: roles.HandleAddPermission,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT},
Handler: roles.HandleAddPermission,
Middlewares: []core.Middleware{Methods("PATCH"),
HasPermissions("roles", "update"), AuthJWT},
},
"/roles/{role_uuid}/permissions/{resource}/{action}/remove": {
Handler: roles.HandleRemovePermission,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT},
Handler: roles.HandleRemovePermission,
Middlewares: []core.Middleware{Methods("PATCH"),
HasPermissions("roles", "update"), AuthJWT},
},
}