pub struct Protocol {
pub name: String,
pub delete: bool,
pub permissions: PermissionOptions,
pub schema: Option<String>,
pub channel: Option<ChannelProtocol>,
}
Fields§
§name: String
§delete: bool
§permissions: PermissionOptions
§schema: Option<String>
§channel: Option<ChannelProtocol>
Implementations§
Source§impl Protocol
impl Protocol
pub fn new( name: &str, delete: bool, permissions: PermissionOptions, schema: Option<String>, channel: Option<ChannelProtocol>, ) -> Result<Self, Error>
pub fn system_protocols() -> BTreeMap<Hash, Protocol>
pub fn root() -> Self
pub fn protocol_folder(protocol: &Hash) -> Self
pub fn dms_channel() -> Self
pub fn agent_keys() -> Self
pub fn date_time() -> Self
pub fn usize() -> Self
pub fn channel_item() -> Self
pub fn pointer() -> Self
pub fn trim_perms(&self, perms: PermissionSet) -> PermissionSet
pub fn subset_perms( &self, perms: &PermissionSet, ) -> Result<PermissionSet, Error>
pub fn validate_child_protocol( &self, child_protocol: &Hash, ) -> Result<(), Error>
pub fn validate_child( &self, perm_record: &PermissionedRecord, ) -> Result<(), Error>
pub fn validate( &self, permissioned_record: &PermissionedRecord, ) -> Result<(), Error>
pub fn validate_self(&self) -> Result<(), Error>
pub fn validate_payload(&self, payload: &[u8]) -> Result<(), Error>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Protocol
impl<'de> Deserialize<'de> for Protocol
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 Indexable for Protocol
impl Indexable for Protocol
fn primary_key(&self) -> Vec<u8> ⓘ
const PRIMARY_KEY: &'static str = "primary_key"
const DEFAULT_SORT: &'static str = Self::PRIMARY_KEY
fn secondary_keys(&self) -> BTreeMap<String, Value>
Source§impl JsonSchema for Protocol
impl JsonSchema for Protocol
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moreSource§impl Ord for Protocol
impl Ord for Protocol
Source§impl PartialOrd for Protocol
impl PartialOrd for Protocol
impl Eq for Protocol
impl StructuralPartialEq for Protocol
Auto Trait Implementations§
impl Freeze for Protocol
impl RefUnwindSafe for Protocol
impl Send for Protocol
impl Sync for Protocol
impl Unpin for Protocol
impl UnwindSafe for Protocol
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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