use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReadingLog {
#[serde(default)]
pub reading_log_entries: Vec<ReadingLogEntry>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReadingLogEntry {
#[serde(default)]
pub work: Option<ReadingLogWork>,
#[serde(default)]
pub logged_edition: Option<String>,
#[serde(default)]
pub logged_date: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReadingLogWork {
pub key: String,
#[serde(default)]
pub title: Option<String>,
#[serde(default)]
pub author_names: Option<Vec<String>>,
#[serde(default)]
pub cover_id: Option<i64>,
#[serde(default)]
pub cover_edition_key: Option<String>,
#[serde(default)]
pub first_publish_year: Option<i32>,
}