1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)]
5pub struct EmbeddedFile {
6 filename: String,
7 contents: String,
8}
9
10impl EmbeddedFile {
11 pub fn new(filename: String, contents: String) -> EmbeddedFile {
13 EmbeddedFile { filename, contents }
14 }
15
16 pub fn filename(&self) -> &str {
18 &self.filename
19 }
20
21 pub fn contents(&self) -> &str {
23 &self.contents
24 }
25}
26
27#[derive(Debug, Default, Eq, PartialEq, Clone, Serialize, Deserialize)]
29pub struct EmbeddedFiles {
30 files: Vec<EmbeddedFile>,
31}
32
33impl EmbeddedFiles {
34 pub fn files(&self) -> &[EmbeddedFile] {
36 &self.files
37 }
38
39 pub fn push(&mut self, file: EmbeddedFile) {
41 self.files.push(file);
42 }
43}