use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct Metadata {
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub about: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub picture: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub nip05: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub lud16: Option<String>,
}
impl Metadata {
#[allow(dead_code)]
pub(crate) fn mock() -> Metadata {
Metadata {
name: Some("Mike".to_owned()),
about: Some("Just some guy".to_owned()),
picture: None,
nip05: None,
lud16: None,
}
}
}
#[cfg(test)]
mod test {
use super::*;
test_serde! {Metadata, test_metadata_serde}
}