1use serde::{Deserialize, Serialize};
2use std::fmt::{self, Display, Formatter};
3
4#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
6#[derive(Clone, Debug, PartialEq, Eq)]
7pub struct Alias {
8 pub peer_id: String,
9 pub alias: String,
10}
11
12impl Alias {
13 pub fn new(peer_id: String, alias: String) -> Self {
14 Self { peer_id, alias }
15 }
16}
17
18impl Display for Alias {
19 fn fmt(&self, f: &mut Formatter) -> fmt::Result {
20 write!(f, "{}: {}", self.peer_id, self.alias)
21 }
22}
23
24impl From<crate::codegen::sqlite::aliases::Model> for Alias {
25 fn from(value: crate::codegen::sqlite::aliases::Model) -> Self {
26 Alias::new(value.peer_id, value.alias)
27 }
28}