use serde::{Serialize, Deserialize};
use super::BaseReportItem;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct BaseReport {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_report_id: Option<String>,
pub date_generated: chrono::DateTime<chrono::Utc>,
pub days_requested: f64,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub items: Vec<BaseReportItem>,
pub report_id: String,
}
impl std::fmt::Display for BaseReport {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
write!(f, "{}", serde_json::to_string(self).unwrap())
}
}