Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
radicle: Introduce `trait GetPayload`
Lorenz Leutgeb committed 1 month ago
commit 38e018cc14a00c4b7e2e20c68ef49b04e2452d5e
parent 0eed4ffdcf41ce9a94ded90457d3e2547f9205fb
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 {