Skip to main content

RoleProvider

Trait RoleProvider 

Source
pub trait RoleProvider: Send + Sync {
    // Required methods
    fn get_roles(
        &self,
        user_id: &UserId,
    ) -> impl Future<Output = Result<Vec<String>, AuthProviderError>> + Send;
    fn assign_role(
        &self,
        user_id: &UserId,
        role: &str,
    ) -> impl Future<Output = Result<(), AuthProviderError>> + Send;
    fn revoke_role(
        &self,
        user_id: &UserId,
        role: &str,
    ) -> impl Future<Output = Result<(), AuthProviderError>> + Send;
    fn list_users_by_role(
        &self,
        role: &str,
    ) -> impl Future<Output = Result<Vec<AuthUser>, AuthProviderError>> + Send;
}

Required Methods§

Source

fn get_roles( &self, user_id: &UserId, ) -> impl Future<Output = Result<Vec<String>, AuthProviderError>> + Send

Source

fn assign_role( &self, user_id: &UserId, role: &str, ) -> impl Future<Output = Result<(), AuthProviderError>> + Send

Source

fn revoke_role( &self, user_id: &UserId, role: &str, ) -> impl Future<Output = Result<(), AuthProviderError>> + Send

Source

fn list_users_by_role( &self, role: &str, ) -> impl Future<Output = Result<Vec<AuthUser>, AuthProviderError>> + Send

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§