pub struct Rule {
pub collection: String,
pub instance_keys: Vec<Value>,
pub verbs: Vec<i32>,
pub excluded_instance_keys: Vec<Value>,
}
Expand description
Rule specifies permissions on a particular collection.
Fields§
§collection: String
The collection this rule applies to.
instance_keys: Vec<Value>
Optional list of instance keys. If provided, the rule only applies to these specific instances within the collection.
Assumes a Value message is defined elsewhere.
verbs: Vec<i32>
List of verbs allowed for this rule.
excluded_instance_keys: Vec<Value>
Exclusion: If present, these instance keys are explicitly NOT allowed
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Rule
impl<'de> Deserialize<'de> for Rule
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Rule, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Rule, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Message for Rule
impl Message for Rule
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self
.Source§impl Serialize for Rule
impl Serialize for Rule
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl<'s> StructInstance<'s> for Rule
impl<'s> StructInstance<'s> for Rule
Source§fn get_value<'v>(&'v self, field: &str) -> Option<CowValue<'v, 's>>where
's: 'v,
fn get_value<'v>(&'v self, field: &str) -> Option<CowValue<'v, 's>>where
's: 'v,
Returns a reference to a field in a struct
Source§fn values<'v>(&'v self) -> HashMap<SmolStr, CowValue<'v, 's>>
fn values<'v>(&'v self) -> HashMap<SmolStr, CowValue<'v, 's>>
Returns a HashMap containing all the attributes of the instance.
Source§fn update<'v>(
&'v mut self,
instance: &'v (dyn StructInstance<'s> + 's),
field_mask: Option<&FieldMask>,
replace_repeated: bool,
) -> Result<(), Error>
fn update<'v>( &'v mut self, instance: &'v (dyn StructInstance<'s> + 's), field_mask: Option<&FieldMask>, replace_repeated: bool, ) -> Result<(), Error>
Updates an instance based on the instance passed in. If a field mask is specified only the fields passed with the mask will be updated.
Source§fn boxed_clone(&self) -> Box<dyn StructInstance<'s> + 's>
fn boxed_clone(&self) -> Box<dyn StructInstance<'s> + 's>
Returns a clone of the instance in a
Box
.impl StructuralPartialEq for Rule
Auto Trait Implementations§
impl Freeze for Rule
impl RefUnwindSafe for Rule
impl Send for Rule
impl Sync for Rule
impl Unpin for Rule
impl UnwindSafe for Rule
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<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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request