Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
radicle: add delegates to ReadRepository
Fintan Halpenny committed 3 years ago
commit 8c02a8116e77b58fa22bdb148e958967b9e5652d
parent 0e491fae79fe163a763c5c8efae47a94b1e423f3
1 file changed +10 -0
modified radicle/src/storage.rs
@@ -6,6 +6,7 @@ use std::ops::Deref;
use std::path::{Path, PathBuf};
use std::{fmt, io};

+
use nonempty::NonEmpty;
use serde::{Deserialize, Serialize};
use thiserror::Error;

@@ -18,6 +19,7 @@ use crate::git::ext as git_ext;
use crate::git::{Qualified, RefError, RefString};
use crate::identity;
use crate::identity::doc::DocError;
+
use crate::identity::Did;
use crate::identity::{Id, IdError, IdentityError};
use crate::storage::refs::Refs;

@@ -356,6 +358,14 @@ pub trait ReadRepository {
    /// Get all remotes.
    fn remotes(&self) -> Result<Remotes<Verified>, refs::Error>;

+
    /// Get repository delegates.
+
    fn delegates(&self) -> Result<NonEmpty<Did>, IdentityError> {
+
        let (_, doc) = self.identity_doc()?;
+
        let doc = doc.verified()?;
+

+
        Ok(doc.delegates)
+
    }
+

    /// Get the repository's identity document.
    fn identity_doc(&self) -> Result<(Oid, identity::Doc<Unverified>), IdentityError>;
}