use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Serialize, Deserialize)]
pub struct DocumentTemplate {
pub key: String,
pub data: HashMap<String, String>,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct EventData {
pub user: HashMap<String, String>,
pub account: HashMap<String, String>,
deadline_at: String,
auto_close: bool,
locale: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct DocumentEvent {
pub name: String,
pub data: EventData,
pub occurred_at: String
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Document {
pub key: Option<String>,
pub path: String,
pub filename: Option<String>,
pub updated_at: Option<String>,
pub finished_at: Option<String>,
pub deadline_at: Option<String>,
pub status: Option<String>,
pub auto_close: Option<bool>,
pub locale: Option<String>,
pub metadata: Option<HashMap<String, String>>,
pub sequence_enabled: Option<bool>,
pub signable_group: Option<String>,
pub remind_interval: Option<String>,
pub downloads: Option<HashMap<String, String>>,
pub template: DocumentTemplate,
pub signers: Option<Vec<String>>,
pub events: Option<Vec<DocumentEvent>>
}