Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
radicle: Implement `AliasStore` for address `Book`
xphoniex committed 2 years ago
commit 0cae3c0967bd670764dd42d38e25f23485f53bf1
parent f526465f1b3b18cb0ce920cf25b7dd12b7c5819d
1 file changed +11 -0
modified radicle/src/node/address/store.rs
@@ -8,6 +8,7 @@ use thiserror::Error;
use crate::node;
use crate::node::address::{KnownAddress, Source};
use crate::node::Address;
+
use crate::node::AliasStore;
use crate::node::NodeId;
use crate::prelude::Timestamp;
use crate::sql::transaction;
@@ -250,6 +251,16 @@ impl Store for Book {
    }
}

+
impl AliasStore for &Book {
+
    /// Retrieve `alias` of given node.
+
    /// Calls `Self::get` under the hood.
+
    fn alias(&self, nid: &NodeId) -> Option<String> {
+
        self.get(nid)
+
            .map(|node| node.map(|n| n.alias))
+
            .unwrap_or(None)
+
    }
+
}
+

/// Address store.
///
/// Used to store node addresses and metadata.