pub struct AuthorizationService { /* private fields */ }Expand description
Utility functions for authorization checks
Implementations§
Source§impl AuthorizationService
impl AuthorizationService
pub fn new(db: Arc<dyn Database>) -> Self
Sourcepub async fn user_has_role(&self, user_id: i64, role_name: &str) -> Result<bool>
pub async fn user_has_role(&self, user_id: i64, role_name: &str) -> Result<bool>
Check if user has a specific role
Sourcepub async fn user_can(
&self,
user_id: i64,
permission_name: &str,
) -> Result<bool>
pub async fn user_can( &self, user_id: i64, permission_name: &str, ) -> Result<bool>
Check if user has a specific permission
Sourcepub async fn user_permissions(&self, user_id: i64) -> Result<Vec<Permission>>
pub async fn user_permissions(&self, user_id: i64) -> Result<Vec<Permission>>
Get all permissions for a user (through their roles)
Auto Trait Implementations§
impl Freeze for AuthorizationService
impl !RefUnwindSafe for AuthorizationService
impl Send for AuthorizationService
impl Sync for AuthorizationService
impl Unpin for AuthorizationService
impl !UnwindSafe for AuthorizationService
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more