use serde::Deserialize;
use std::collections::HashMap;
#[derive(Debug, Deserialize)]
pub(super) struct BooksPlist {
#[serde(alias = "Books")]
pub books: Vec<BookRaw>,
}
#[derive(Debug, Deserialize)]
pub struct BookRaw {
#[serde(alias = "Artist")]
#[allow(missing_docs)]
pub author: String,
#[serde(alias = "Name")]
#[allow(missing_docs)]
pub title: String,
#[serde(alias = "Package Hash")]
#[allow(missing_docs)]
pub id: String,
}
pub(super) type AnnotationsPlist = HashMap<String, Bookmarks>;
#[derive(Debug, Deserialize)]
pub(super) struct Bookmarks {
#[serde(alias = "Bookmarks")]
pub bookmarks: Vec<AnnotationRaw>,
}
#[derive(Debug, Deserialize)]
pub struct AnnotationRaw {
#[serde(alias = "annotationSelectedText")]
#[allow(missing_docs)]
pub body: String,
#[serde(alias = "annotationStyle")]
#[allow(missing_docs)]
pub style: usize,
#[serde(alias = "annotationNote")]
#[allow(missing_docs)]
pub notes: Option<String>,
#[serde(alias = "annotationUuid")]
#[allow(missing_docs)]
pub id: String,
#[serde(alias = "annotationAssetID")]
#[allow(missing_docs)]
pub book_id: String,
#[serde(alias = "annotationCreationDate")]
#[allow(missing_docs)]
pub created: f64,
#[serde(alias = "annotationModificationDate")]
#[allow(missing_docs)]
pub modified: f64,
#[serde(alias = "annotationLocation")]
#[allow(missing_docs)]
pub epubcfi: String,
#[serde(alias = "annotationDeleted")]
#[allow(missing_docs)]
pub is_deleted: usize,
}