Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
radicle: Introduce `trait GetPayload`
Lorenz Leutgeb committed 2 months ago
commit f6ac64903568397434b96a9dda16e43ab3440b41
parent cfa89ac3ea81e23e4cc3a726da86acadc4444a9e
1 file changed +17 -0
modified crates/radicle/src/identity/doc.rs
@@ -272,6 +272,23 @@ impl Deref for Payload {
    }
}

+
/// Trait for all types that may carry payloads.
+
pub trait GetPayload {
+
    fn get_payload(&self, id: &PayloadId) -> Option<&Payload>;
+
}
+

+
impl GetPayload for Doc {
+
    fn get_payload(&self, id: &PayloadId) -> Option<&Payload> {
+
        self.payload.get(id)
+
    }
+
}
+

+
impl GetPayload for RawDoc {
+
    fn get_payload(&self, id: &PayloadId) -> Option<&Payload> {
+
        self.payload.get(id)
+
    }
+
}
+

/// A verified identity document at a specific commit.
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DocAt {