pub trait RoleBasedAccessControl<AccountId> {
    type MaxRolesPerPallet: Get<u32>;
    type MaxPermissionsPerRole: Get<u32>;
    type RoleMaxLen: Get<u32>;
    type PermissionMaxLen: Get<u32>;

Show 26 methods // Required methods fn create_scope(pallet: IdOrVec, scope_id: ScopeId) -> DispatchResult; fn remove_scope(pallet: IdOrVec, scope_id: ScopeId) -> DispatchResult; fn remove_pallet_storage(pallet: IdOrVec) -> DispatchResult; fn create_and_set_roles( pallet: IdOrVec, roles: Vec<Vec<u8>> ) -> Result<BoundedVec<RoleId, Self::MaxRolesPerPallet>, DispatchError>; fn create_role(role: Vec<u8>) -> Result<RoleId, DispatchError>; fn set_role_to_pallet(pallet: IdOrVec, role_id: RoleId) -> DispatchResult; fn set_multiple_pallet_roles( pallet: IdOrVec, roles: Vec<RoleId> ) -> DispatchResult; fn assign_role_to_user( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId, role_id: RoleId ) -> DispatchResult; fn remove_role_from_user( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId, role_id: RoleId ) -> DispatchResult; fn create_and_set_permissions( pallet: IdOrVec, role: RoleId, permissions: Vec<Vec<u8>> ) -> Result<BoundedVec<PermissionId, Self::MaxPermissionsPerRole>, DispatchError>; fn create_permission( pallet: IdOrVec, permissions: Vec<u8> ) -> Result<PermissionId, DispatchError>; fn set_permission_to_role( pallet: IdOrVec, role: RoleId, permission: PermissionId ) -> DispatchResult; fn set_multiple_permissions_to_role( pallet: IdOrVec, role: RoleId, permission: Vec<PermissionId> ) -> DispatchResult; fn do_revoke_permission_from_role( pallet: IdOrVec, role: RoleId, permission: PermissionId ) -> DispatchResult; fn do_remove_permission_from_pallet( pallet: IdOrVec, permission: PermissionId ) -> DispatchResult; fn is_authorized( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId, permission_id: &PermissionId ) -> DispatchResult; fn has_role( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId, role_ids: Vec<RoleId> ) -> DispatchResult; fn scope_exists(pallet: IdOrVec, scope_id: &ScopeId) -> DispatchResult; fn permission_exists( pallet: IdOrVec, permission_id: &PermissionId ) -> DispatchResult; fn is_role_linked_to_pallet( pallet: IdOrVec, role_id: &RoleId ) -> DispatchResult; fn is_permission_linked_to_role( pallet: IdOrVec, role_id: &RoleId, permission_id: &PermissionId ) -> DispatchResult; fn get_role_users_len( pallet: IdOrVec, scope_id: &ScopeId, role_id: &RoleId ) -> usize; fn to_id(v: Vec<u8>) -> [u8; 32]; fn does_user_have_any_role_in_scope( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId ) -> bool; fn get_roles_by_user( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId ) -> Vec<RoleId>; fn get_roles_that_have_permission( pallet: PalletId, permission_id: &PermissionId ) -> Vec<RoleId>;
}

Required Associated Types§

Required Methods§

source

fn create_scope(pallet: IdOrVec, scope_id: ScopeId) -> DispatchResult

source

fn remove_scope(pallet: IdOrVec, scope_id: ScopeId) -> DispatchResult

source

fn remove_pallet_storage(pallet: IdOrVec) -> DispatchResult

source

fn create_and_set_roles( pallet: IdOrVec, roles: Vec<Vec<u8>> ) -> Result<BoundedVec<RoleId, Self::MaxRolesPerPallet>, DispatchError>

source

fn create_role(role: Vec<u8>) -> Result<RoleId, DispatchError>

source

fn set_role_to_pallet(pallet: IdOrVec, role_id: RoleId) -> DispatchResult

source

fn set_multiple_pallet_roles( pallet: IdOrVec, roles: Vec<RoleId> ) -> DispatchResult

source

fn assign_role_to_user( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId, role_id: RoleId ) -> DispatchResult

source

fn remove_role_from_user( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId, role_id: RoleId ) -> DispatchResult

source

fn create_and_set_permissions( pallet: IdOrVec, role: RoleId, permissions: Vec<Vec<u8>> ) -> Result<BoundedVec<PermissionId, Self::MaxPermissionsPerRole>, DispatchError>

source

fn create_permission( pallet: IdOrVec, permissions: Vec<u8> ) -> Result<PermissionId, DispatchError>

source

fn set_permission_to_role( pallet: IdOrVec, role: RoleId, permission: PermissionId ) -> DispatchResult

source

fn set_multiple_permissions_to_role( pallet: IdOrVec, role: RoleId, permission: Vec<PermissionId> ) -> DispatchResult

source

fn do_revoke_permission_from_role( pallet: IdOrVec, role: RoleId, permission: PermissionId ) -> DispatchResult

source

fn do_remove_permission_from_pallet( pallet: IdOrVec, permission: PermissionId ) -> DispatchResult

source

fn is_authorized( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId, permission_id: &PermissionId ) -> DispatchResult

source

fn has_role( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId, role_ids: Vec<RoleId> ) -> DispatchResult

source

fn scope_exists(pallet: IdOrVec, scope_id: &ScopeId) -> DispatchResult

source

fn permission_exists( pallet: IdOrVec, permission_id: &PermissionId ) -> DispatchResult

source

fn is_role_linked_to_pallet(pallet: IdOrVec, role_id: &RoleId) -> DispatchResult

source

fn is_permission_linked_to_role( pallet: IdOrVec, role_id: &RoleId, permission_id: &PermissionId ) -> DispatchResult

source

fn get_role_users_len( pallet: IdOrVec, scope_id: &ScopeId, role_id: &RoleId ) -> usize

source

fn to_id(v: Vec<u8>) -> [u8; 32]

source

fn does_user_have_any_role_in_scope( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId ) -> bool

source

fn get_roles_by_user( user: AccountId, pallet: IdOrVec, scope_id: &ScopeId ) -> Vec<RoleId>

source

fn get_roles_that_have_permission( pallet: PalletId, permission_id: &PermissionId ) -> Vec<RoleId>

Implementors§