pub struct Revision {
pub id: RevisionId,
pub blob: Oid,
pub title: Title,
pub state: State,
pub description: String,
pub author: Author,
pub doc: Doc,
pub timestamp: Timestamp,
pub parent: Option<RevisionId>,
/* private fields */
}Expand description
Fields§
§id: RevisionIdThe id of this revision. Points to a commit.
blob: OidIdentity document blob at this revision.
title: TitleTitle of the proposal.
state: StateState of the revision.
description: StringDescription of the proposal.
Author of this proposed revision.
doc: DocNew Doc that will replace previous’ document.
timestamp: TimestampPhysical timestamp of this proposal revision.
parent: Option<RevisionId>Parent revision.
Implementations§
Source§impl Revision
impl 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: Signer<Signature>>( &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, ValidRule), 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) -> &NonZeroUsize
pub fn threshold_nonzero(&self) -> &NonZeroUsize
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§
impl Eq for Revision
impl StructuralPartialEq for Revision
Auto Trait Implementations§
impl Freeze for Revision
impl RefUnwindSafe for Revision
impl Send for Revision
impl Sync for Revision
impl Unpin for Revision
impl UnwindSafe for Revision
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<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
key and return true if they are equal.