ctrf_rs/test/
attachment.rs1use crate::impl_extra;
3
4use std::{collections::HashMap, path::PathBuf};
6
7use serde::{Deserialize, Serialize};
9use serde_json::Value;
10
11#[derive(Deserialize, Serialize, Debug, PartialEq)]
14#[serde(rename_all = "camelCase")]
15pub struct Attachment {
16 pub name: String,
18 pub content_type: String,
20 pub path: PathBuf,
22 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
23 extra: HashMap<String, Value>,
24}
25
26impl Attachment {
27 pub fn new(name: String, content_type: String, path: PathBuf) -> Self {
29 Self {
30 name,
31 content_type,
32 path,
33 extra: HashMap::new(),
34 }
35 }
36}
37
38impl_extra!(Attachment);