pub struct IdentityMut<'a, R> {
pub id: ObjectId,
/* private fields */
}
Fields§
§id: ObjectId
Implementations§
Source§impl<R> IdentityMut<'_, R>
impl<R> IdentityMut<'_, R>
pub fn transaction<G, F>( &mut self, message: &str, signer: &Device<G>, operations: F, ) -> Result<Oid, Error>
Sourcepub fn update<G>(
&mut self,
title: impl ToString,
description: impl ToString,
doc: &Doc,
signer: &Device<G>,
) -> Result<Oid, Error>
pub fn update<G>( &mut self, title: impl ToString, description: impl ToString, doc: &Doc, signer: &Device<G>, ) -> Result<Oid, Error>
Update the identity by proposing a new revision. If the signer is the only delegate, the revision is accepted automatically.
Sourcepub fn accept<G>(
&mut self,
revision: &Oid,
signer: &Device<G>,
) -> Result<Oid, Error>
pub fn accept<G>( &mut self, revision: &Oid, signer: &Device<G>, ) -> Result<Oid, Error>
Accept an active revision.
Sourcepub fn reject<G>(
&mut self,
revision: Oid,
signer: &Device<G>,
) -> Result<Oid, Error>
pub fn reject<G>( &mut self, revision: Oid, signer: &Device<G>, ) -> Result<Oid, Error>
Reject an active revision.
Methods from Deref<Target = Identity>§
Sourcepub fn head(&self) -> Oid
pub fn head(&self) -> Oid
The head of the identity branch. This points to a commit that contains the current document blob.
Sourcepub fn revision(&self, revision: &Oid) -> Option<&Revision>
pub fn revision(&self, revision: &Oid) -> Option<&Revision>
A specific Revision
, that may be redacted.
Sourcepub fn revisions(&self) -> impl DoubleEndedIterator
pub fn revisions(&self) -> impl DoubleEndedIterator
All the Revision
s that have not been redacted.
pub fn latest_by(&self, who: &Did) -> Option<&Revision>
Methods from Deref<Target = Revision>§
pub fn signatures(&self) -> impl Iterator<Item = (&PublicKey, Signature)>
pub fn is_accepted(&self) -> bool
pub fn is_active(&self) -> bool
pub fn verdicts(&self) -> impl Iterator<Item = (&PublicKey, &Verdict)>
pub fn accepted(&self) -> impl Iterator<Item = Did>
pub fn rejected(&self) -> impl Iterator<Item = Did>
pub fn sign<G>(&self, signer: &G) -> Result<Signature, DocError>
Methods from Deref<Target = Doc>§
Sourcepub fn payload(&self) -> &BTreeMap<PayloadId, Payload>
pub fn payload(&self) -> &BTreeMap<PayloadId, Payload>
Return the associated payloads for this Doc
.
Sourcepub fn project(&self) -> Result<Project, PayloadError>
pub fn project(&self) -> Result<Project, PayloadError>
Get the project payload, if it exists and is valid, out of this document.
pub fn default_branch_rule( &self, ) -> Result<(Pattern, Rule<ResolvedDelegates, Threshold>), DefaultBranchRuleError>
Sourcepub fn visibility(&self) -> &Visibility
pub fn visibility(&self) -> &Visibility
Return the associated Visibility
of this document.
Sourcepub fn is_private(&self) -> bool
pub fn is_private(&self) -> bool
Check whether the visibility of the document is private.
Sourcepub fn threshold_nonzero(&self) -> &NonZero<usize>
pub fn threshold_nonzero(&self) -> &NonZero<usize>
Return the associated threshold of this document in its non-zero format.
Sourcepub fn is_delegate(&self, did: &Did) -> bool
pub fn is_delegate(&self, did: &Did) -> bool
Check if the did
is part of the Doc::delegates
set.
Sourcepub fn is_visible_to(&self, did: &Did) -> bool
pub fn is_visible_to(&self, did: &Did) -> bool
Check whether this document and the associated repository is visible to the given peer.
Sourcepub fn verify_signature(
&self,
key: &PublicKey,
signature: &Signature,
blob: Oid,
) -> Result<(), PublicKey>
pub fn verify_signature( &self, key: &PublicKey, signature: &Signature, blob: Oid, ) -> Result<(), PublicKey>
Validate signature
using this document’s delegates, against a given
document blob.
Sourcepub fn is_majority(&self, votes: usize) -> bool
pub fn is_majority(&self, votes: usize) -> bool
Check the provided votes
passes the Doc::majority
.
Sourcepub fn majority(&self) -> usize
pub fn majority(&self) -> usize
Return the majority number based on the size of the delegates set.
Sourcepub fn sign<G>(&self, signer: &G) -> Result<(Oid, Vec<u8>, Signature), DocError>
pub fn sign<G>(&self, signer: &G) -> Result<(Oid, Vec<u8>, Signature), DocError>
Doc::encode
and sign the Doc
, returning the set of bytes, its
corresponding Git Oid
and the Signature
over the Oid
.
Sourcepub fn init<G>(
&self,
repo: &Repository,
signer: &Device<G>,
) -> Result<Oid, RepositoryError>
pub fn init<G>( &self, repo: &Repository, signer: &Device<G>, ) -> Result<Oid, RepositoryError>
Initialize an identity::Identity
with this Doc
as the associated
document.
Trait Implementations§
Source§impl<R> Debug for IdentityMut<'_, R>
impl<R> Debug for IdentityMut<'_, R>
Auto Trait Implementations§
impl<'a, R> Freeze for IdentityMut<'a, R>
impl<'a, R> RefUnwindSafe for IdentityMut<'a, R>where
R: RefUnwindSafe,
impl<'a, R> Send for IdentityMut<'a, R>where
R: Sync,
impl<'a, R> Sync for IdentityMut<'a, R>where
R: Sync,
impl<'a, R> Unpin for IdentityMut<'a, R>
impl<'a, R> UnwindSafe for IdentityMut<'a, R>where
R: RefUnwindSafe,
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> 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