use crate::impl_extra;
use std::{collections::HashMap, path::PathBuf};
use serde::{Deserialize, Serialize};
use serde_json::Value;
#[derive(Deserialize, Serialize, Debug, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Attachment {
pub name: String,
pub content_type: String,
pub path: PathBuf,
#[serde(default, skip_serializing_if = "HashMap::is_empty")]
extra: HashMap<String, Value>,
}
impl Attachment {
pub fn new(name: String, content_type: String, path: PathBuf) -> Self {
Self {
name,
content_type,
path,
extra: HashMap::new(),
}
}
}
impl_extra!(Attachment);