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§
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
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".