caretta-sync/core/src/proto/cached_peer.rs

14 lines
612 B
Rust
Raw Normal View History

2025-08-13 08:17:41 +09:00
use crate::{cache::entity::{CachedAddressModel, CachedPeerModel}, proto::{CachedAddressMessage, CachedPeerMessage}, utils::utc_to_timestamp};
impl From<(&CachedPeerModel, &Vec<CachedAddressModel>)> for CachedPeerMessage {
fn from(source: (&CachedPeerModel, &Vec<CachedAddressModel>)) -> Self {
let (peer, addresses) = source;
Self {
number: peer.id,
peer_id: peer.peer_id.to_string(),
2025-08-14 06:38:15 +09:00
created_at: Some(utc_to_timestamp(&peer.created_at)),
2025-08-13 08:17:41 +09:00
addresses: addresses.iter().map(|x| CachedAddressMessage::from(x)).collect(),
}
}
}