docx_review_core/model/
document.rs1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4use super::{Block, Comment, TrackedChange};
5
6#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
8#[non_exhaustive]
9pub struct Document {
10 pub metadata: DocMetadata,
12 pub blocks: Vec<Block>,
14 pub tracked_changes: Vec<TrackedChange>,
16 pub comments: Vec<Comment>,
18 pub raw_changes: Vec<TrackedChange>,
20}
21
22#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
24#[non_exhaustive]
25pub struct DocMetadata {
26 pub title: Option<String>,
28 pub author: Option<String>,
30 pub created: Option<DateTime<Utc>>,
32 pub modified: Option<DateTime<Utc>>,
34 pub revision: Option<u32>,
36}