pub struct Mandate {
pub id: Uuid,
pub subject_user_id: Uuid,
pub kind: MandateKind,
pub scope: MandateScope,
pub issued_by: Uuid,
pub reason: String,
pub valid_from: DateTime<Utc>,
pub valid_until: DateTime<Utc>,
pub revoked_at: Option<DateTime<Utc>>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Fields§
§id: Uuid§subject_user_id: Uuid§kind: MandateKind§scope: MandateScope§issued_by: Uuid§reason: String§valid_from: DateTime<Utc>§valid_until: DateTime<Utc>§revoked_at: Option<DateTime<Utc>>§created_at: DateTime<Utc>§updated_at: DateTime<Utc>Implementations§
Source§impl Mandate
impl Mandate
Sourcepub fn issue(
subject_user_id: Uuid,
kind: MandateKind,
scope: MandateScope,
issued_by: Uuid,
reason: String,
valid_from: DateTime<Utc>,
valid_until: DateTime<Utc>,
) -> Result<Self, AppError>
pub fn issue( subject_user_id: Uuid, kind: MandateKind, scope: MandateScope, issued_by: Uuid, reason: String, valid_from: DateTime<Utc>, valid_until: DateTime<Utc>, ) -> Result<Self, AppError>
Issue a new mandate. Invariants validated here (cf. module-level docs).
pub fn is_revoked(&self) -> bool
pub fn is_expired_at(&self, t: DateTime<Utc>) -> bool
pub fn is_expired(&self) -> bool
pub fn is_active_at(&self, t: DateTime<Utc>) -> bool
pub fn is_currently_active(&self) -> bool
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Mandate
impl<'de> Deserialize<'de> for Mandate
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<Mandate> for MandateResponse
impl From<Mandate> for MandateResponse
impl StructuralPartialEq for Mandate
Auto Trait Implementations§
impl Freeze for Mandate
impl RefUnwindSafe for Mandate
impl Send for Mandate
impl Sync for Mandate
impl Unpin for Mandate
impl UnsafeUnpin for Mandate
impl UnwindSafe for Mandate
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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.