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 ec1d66bc6ee4b49aa9d78055a15c5ced8bedb88e
parent 39d6f7dcbfd68005a3d57d8f0f1c4143a7c8bb7e
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 {