pub enum PolicyCondition {
FieldEquals {
field: Symbol,
value: Symbol,
is_string_literal: bool,
},
FieldBool {
field: Symbol,
value: bool,
},
Predicate {
subject: Symbol,
predicate: Symbol,
},
ObjectFieldEquals {
subject: Symbol,
object: Symbol,
field: Symbol,
},
Or(Box<PolicyCondition>, Box<PolicyCondition>),
And(Box<PolicyCondition>, Box<PolicyCondition>),
}Expand description
Condition in a policy definition. Represents the predicate logic for security rules.
Variants§
FieldEquals
Field comparison: the user's role equals "admin"
Fields
FieldBool
Boolean field: the user's verified equals true
Predicate
Predicate call: the user is admin
ObjectFieldEquals
Object field comparison: the user equals the document's owner
Or(Box<PolicyCondition>, Box<PolicyCondition>)
Logical OR: A OR B
And(Box<PolicyCondition>, Box<PolicyCondition>)
Logical AND: A AND B
Trait Implementations§
Source§impl Clone for PolicyCondition
impl Clone for PolicyCondition
Source§fn clone(&self) -> PolicyCondition
fn clone(&self) -> PolicyCondition
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 moreAuto Trait Implementations§
impl Freeze for PolicyCondition
impl RefUnwindSafe for PolicyCondition
impl Send for PolicyCondition
impl Sync for PolicyCondition
impl Unpin for PolicyCondition
impl UnwindSafe for PolicyCondition
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