macro_rules! define_roles {
(
$(
$role_name:ident {
$(
$resource:ident: [$($action:literal),* $(,)?]
),* $(,)?
}
),* $(,)?
) => { ... };
}Expand description
Define multiple roles with their permissions declaratively.
ยงExample
use role_system::define_roles;
let roles = define_roles! {
admin {
users: ["create", "read", "update", "delete"],
roles: ["read", "assign", "remove"],
system: ["configure", "monitor"]
},
user {
profile: ["read", "update"],
posts: ["create", "read"]
}
};