nil_zonefile/
id.rs

1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3
4#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
5#[serde(default)]
6pub struct Id {
7    #[serde(skip_serializing_if = "Option::is_none")]
8    pub name: Option<String>,
9    #[serde(skip_serializing_if = "Option::is_none")]
10    pub pfp: Option<String>,
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub site: Option<String>,
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub loc: Option<String>,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub disp: Option<String>, // a display name name when its case is lowercased; clients MUST ignore this value if it does not (e.g. "larrysalibra.btc" could set this to "LarrySalibra.btc")
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub desc: Option<String>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub srvs: Option<HashMap<String, String>>
21}
22
23impl Default for Id {
24    fn default() -> Self {
25        Self { name: None, pfp: None, site: None, loc: None, disp: None, desc: None, srvs: None }
26    }
27}