radicle: Implement `AliasStore` for address `Book`

This commit is contained in:
xphoniex 2023-05-27 16:50:26 +03:30 committed by Alexis Sellier
parent f526465f1b
commit 0cae3c0967
No known key found for this signature in database
1 changed files with 11 additions and 0 deletions

View File

@ -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.