pub enum Sequence {
Public(PublicSeqData),
Private(PrivateSeqData),
}Expand description
Object storing a Sequence variant.
Variants§
Implementations§
Source§impl Data
impl Data
Sourcepub fn new_public(actor: PublicKey, name: XorName, tag: u64) -> Self
pub fn new_public(actor: PublicKey, name: XorName, tag: u64) -> Self
Constructs a new Public Sequence Data.
Sourcepub fn new_private(actor: PublicKey, name: XorName, tag: u64) -> Self
pub fn new_private(actor: PublicKey, name: XorName, tag: u64) -> Self
Constructs a new Private Sequence Data.
Sourcepub fn is_private(&self) -> bool
pub fn is_private(&self) -> bool
Returns true if private.
Sourcepub fn check_permission(
&self,
action: Action,
requester: PublicKey,
) -> Result<()>
pub fn check_permission( &self, action: Action, requester: PublicKey, ) -> Result<()>
Checks permissions for given action for the provided user.
Returns:
Ok(()) if the permissions are valid,
Err::InvalidOwners if the last owner is invalid,
Err::AccessDenied if the action is not allowed.
Sourcepub fn policy_version(&self) -> u64
pub fn policy_version(&self) -> u64
Returns the version of last Policy.
Sourcepub fn in_range(&self, start: Index, end: Index) -> Option<Entries>
pub fn in_range(&self, start: Index, end: Index) -> Option<Entries>
Gets a list of items which are within the given indices.
Sourcepub fn last_entry(&self) -> Option<&Entry>
pub fn last_entry(&self) -> Option<&Entry>
Returns the last entry, if present.
Sourcepub fn apply_data_op(&mut self, op: DataWriteOp<Entry>) -> Result<()>
pub fn apply_data_op(&mut self, op: DataWriteOp<Entry>) -> Result<()>
Apply a data CRDT operation.
Sourcepub fn set_pub_policy(
&mut self,
owner: PublicKey,
permissions: BTreeMap<User, PublicPermissions>,
) -> Result<CrdtPolicyOperation<PublicKey, PublicPolicy>>
pub fn set_pub_policy( &mut self, owner: PublicKey, permissions: BTreeMap<User, PublicPermissions>, ) -> Result<CrdtPolicyOperation<PublicKey, PublicPolicy>>
Sets the new policy for Public Sequence.
Sourcepub fn set_priv_policy(
&mut self,
owner: PublicKey,
permissions: BTreeMap<PublicKey, PrivatePermissions>,
) -> Result<CrdtPolicyOperation<PublicKey, PrivatePolicy>>
pub fn set_priv_policy( &mut self, owner: PublicKey, permissions: BTreeMap<PublicKey, PrivatePermissions>, ) -> Result<CrdtPolicyOperation<PublicKey, PrivatePolicy>>
Sets the new policy for Private Sequence.
Sourcepub fn apply_pub_policy_op(
&mut self,
op: CrdtPolicyOperation<PublicKey, PublicPolicy>,
) -> Result<()>
pub fn apply_pub_policy_op( &mut self, op: CrdtPolicyOperation<PublicKey, PublicPolicy>, ) -> Result<()>
Apply Public Policy CRDT operation.
Sourcepub fn apply_priv_policy_op(
&mut self,
op: CrdtPolicyOperation<PublicKey, PrivatePolicy>,
) -> Result<()>
pub fn apply_priv_policy_op( &mut self, op: CrdtPolicyOperation<PublicKey, PrivatePolicy>, ) -> Result<()>
Apply Private Policy CRDT operation.
Sourcepub fn permissions(
&self,
user: User,
version: impl Into<Index>,
) -> Result<Permissions>
pub fn permissions( &self, user: User, version: impl Into<Index>, ) -> Result<Permissions>
Returns user permissions, if applicable.
Sourcepub fn pub_policy(&self, version: impl Into<Index>) -> Result<&PublicPolicy>
pub fn pub_policy(&self, version: impl Into<Index>) -> Result<&PublicPolicy>
Returns public policy, if applicable.
Sourcepub fn priv_policy(&self, version: impl Into<Index>) -> Result<&PrivatePolicy>
pub fn priv_policy(&self, version: impl Into<Index>) -> Result<&PrivatePolicy>
Returns private policy, if applicable.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Data
impl<'de> Deserialize<'de> for Data
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>,
Source§impl PartialOrd for Data
impl PartialOrd for Data
Source§impl TryFrom<QueryResponse> for Sequence
impl TryFrom<QueryResponse> for Sequence
Source§type Error = TryFromError
type Error = TryFromError
impl Eq for Data
impl StructuralPartialEq for Data
Auto Trait Implementations§
impl Freeze for Data
impl RefUnwindSafe for Data
impl Send for Data
impl Sync for Data
impl Unpin for Data
impl UnwindSafe for Data
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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