pub enum RelationshipCondition {
TimeWindow {
not_before: Option<DateTime<Utc>>,
not_after: Option<DateTime<Utc>>,
},
IpAddress {
allowed_ips: Vec<String>,
},
Attribute {
key: String,
value: String,
},
All {
conditions: Vec<RelationshipCondition>,
},
Any {
conditions: Vec<RelationshipCondition>,
},
}Expand description
Conditions that can be attached to relationships Ported from OxiRS rebac.rs
Variants§
TimeWindow
Time-based condition
IpAddress
IP address condition (CIDR notation supported)
Attribute
Custom attribute-based condition
All
Combined condition (ALL must be satisfied)
Fields
§
conditions: Vec<RelationshipCondition>Any
Combined condition (ANY can be satisfied)
Fields
§
conditions: Vec<RelationshipCondition>Implementations§
Source§impl RelationshipCondition
impl RelationshipCondition
Sourcepub fn is_satisfied_with_context(&self, context: &RequestContext) -> bool
pub fn is_satisfied_with_context(&self, context: &RequestContext) -> bool
Check if this condition is satisfied with a request context
Sourcepub fn is_satisfied(&self) -> bool
pub fn is_satisfied(&self) -> bool
Check if this condition is satisfied (without context) Deprecated: Use is_satisfied_with_context instead
Trait Implementations§
Source§impl Clone for RelationshipCondition
impl Clone for RelationshipCondition
Source§fn clone(&self) -> RelationshipCondition
fn clone(&self) -> RelationshipCondition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RelationshipCondition
impl Debug for RelationshipCondition
Source§impl<'de> Deserialize<'de> for RelationshipCondition
impl<'de> Deserialize<'de> for RelationshipCondition
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 Hash for RelationshipCondition
impl Hash for RelationshipCondition
Source§impl PartialEq for RelationshipCondition
impl PartialEq for RelationshipCondition
Source§impl Serialize for RelationshipCondition
impl Serialize for RelationshipCondition
impl Eq for RelationshipCondition
impl StructuralPartialEq for RelationshipCondition
Auto Trait Implementations§
impl Freeze for RelationshipCondition
impl RefUnwindSafe for RelationshipCondition
impl Send for RelationshipCondition
impl Sync for RelationshipCondition
impl Unpin for RelationshipCondition
impl UnwindSafe for RelationshipCondition
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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