Skip to main content

AssignmentBackend

Trait AssignmentBackend 

Source
pub trait AssignmentBackend: Send + Sync {
    // Required methods
    fn check_grant<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        state: &'life1 ServiceState,
        params: &'life2 Assignment,
    ) -> Pin<Box<dyn Future<Output = Result<bool, AssignmentProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn create_grant<'life0, 'life1, 'async_trait>(
        &'life0 self,
        state: &'life1 ServiceState,
        params: AssignmentCreate,
    ) -> Pin<Box<dyn Future<Output = Result<Assignment, AssignmentProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn list_assignments<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        state: &'life1 ServiceState,
        params: &'life2 RoleAssignmentListParameters,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Assignment>, AssignmentProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn list_assignments_for_multiple_actors_and_targets<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        state: &'life1 ServiceState,
        params: &'life2 RoleAssignmentListForMultipleActorTargetParameters,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Assignment>, AssignmentProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn revoke_grant<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        state: &'life1 ServiceState,
        params: &'life2 Assignment,
    ) -> Pin<Box<dyn Future<Output = Result<(), AssignmentProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}

Required Methods§

Source

fn check_grant<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, state: &'life1 ServiceState, params: &'life2 Assignment, ) -> Pin<Box<dyn Future<Output = Result<bool, AssignmentProviderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Check assignment grant.

Source

fn create_grant<'life0, 'life1, 'async_trait>( &'life0 self, state: &'life1 ServiceState, params: AssignmentCreate, ) -> Pin<Box<dyn Future<Output = Result<Assignment, AssignmentProviderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Create assignment grant.

Source

fn list_assignments<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, state: &'life1 ServiceState, params: &'life2 RoleAssignmentListParameters, ) -> Pin<Box<dyn Future<Output = Result<Vec<Assignment>, AssignmentProviderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

List Role assignments

Source

fn list_assignments_for_multiple_actors_and_targets<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, state: &'life1 ServiceState, params: &'life2 RoleAssignmentListForMultipleActorTargetParameters, ) -> Pin<Box<dyn Future<Output = Result<Vec<Assignment>, AssignmentProviderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

List all role assignments for multiple actors on multiple targets

It is a naive interpretation of the effective role assignments where we check all roles assigned to the user (including groups) on a concrete target (including all higher targets the role can be inherited from)

Source

fn revoke_grant<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, state: &'life1 ServiceState, params: &'life2 Assignment, ) -> Pin<Box<dyn Future<Output = Result<(), AssignmentProviderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Revoke assignment grant.

Implementors§