2020-07-08 13:56:37 +02:00
|
|
|
package authz
|
2020-03-23 07:01:59 +01:00
|
|
|
|
|
|
|
type Config struct {
|
|
|
|
RolePermissionMappings []RoleMapping
|
|
|
|
}
|
|
|
|
|
|
|
|
type RoleMapping struct {
|
|
|
|
Role string
|
|
|
|
Permissions []string
|
|
|
|
}
|
|
|
|
|
|
|
|
type MethodMapping map[string]Option
|
|
|
|
|
|
|
|
type Option struct {
|
|
|
|
Permission string
|
|
|
|
CheckParam string
|
2023-04-25 09:02:29 +02:00
|
|
|
AllowSelf bool
|
2020-03-23 07:01:59 +01:00
|
|
|
}
|
|
|
|
|
2023-04-25 09:02:29 +02:00
|
|
|
func getPermissionsFromRole(rolePermissionMappings []RoleMapping, role string) []string {
|
|
|
|
for _, roleMap := range rolePermissionMappings {
|
2020-03-23 07:01:59 +01:00
|
|
|
if roleMap.Role == role {
|
|
|
|
return roleMap.Permissions
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|