Macro define_roles

Source
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"]
    }
};