Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
radicle: Introduce `trait GetPayload`
Lorenz Leutgeb committed 22 days ago
commit 51673679186daa5cd9419f88fb2379b50118092d
parent aa28567
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 {