Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
radicle: Introduce `trait GetPayload`
Lorenz Leutgeb committed 7 months ago
commit d86f0b73c57f70acb0799a66ebe87fef1b5332fa
parent f2375f37b5b110755be69676db7682aa4a5dc414
1 file changed +17 -0
modified crates/radicle/src/identity/doc.rs
@@ -277,6 +277,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 {