pub enum AcpCaller {
SuperAdmin,
Admin {
organization_id: Uuid,
},
Syndic {
organization_id: Uuid,
},
Owner {
user_id: Uuid,
},
}Expand description
Rôle effectif de l’appelant pour les permissions ACP.
Mappé depuis AuthenticatedUser.role côté handler. Le mapping vit ici
(et pas dans web::middleware) pour rester testable en pur Rust sans
AppState.
Variants§
SuperAdmin
SuperAdmin SaaS — accès global, peut tout faire.
Admin
Admin métier d’un cabinet syndic — peut CRUD sur les ACPs de son cabinet.
Syndic
Syndic — lecture seule des ACPs de son cabinet (Story 1.1 ; les permissions write s’étoffent en stories suivantes).
Owner
Owner — lecture seule des ACPs où il a un rôle assigné.
Implementations§
Source§impl AcpCaller
impl AcpCaller
Sourcepub fn can_mutate(&self) -> bool
pub fn can_mutate(&self) -> bool
L’appelant a-t-il le droit de créer/mettre à jour/archiver une ACP ?
Story 1.1 : seul SuperAdmin ou Admin (admin métier cabinet).
Sourcepub fn list_scope(&self) -> ListScope
pub fn list_scope(&self) -> ListScope
Scope de listing par rôle. Le SuperAdmin voit tout.
Trait Implementations§
impl Eq for AcpCaller
impl StructuralPartialEq for AcpCaller
Auto Trait Implementations§
impl Freeze for AcpCaller
impl RefUnwindSafe for AcpCaller
impl Send for AcpCaller
impl Sync for AcpCaller
impl Unpin for AcpCaller
impl UnsafeUnpin for AcpCaller
impl UnwindSafe for AcpCaller
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 moreCreates a shared type from an unshared type.