use serde::Serialize;
use crate::models::entry::Entry;
use super::annotation::AnnotationContext;
use super::book::BookContext;
#[derive(Debug, Serialize)]
pub struct EntryContext<'a> {
#[allow(missing_docs)]
pub book: BookContext<'a>,
#[allow(missing_docs)]
pub annotations: Vec<AnnotationContext<'a>>,
}
impl<'a> From<&'a Entry> for EntryContext<'a> {
fn from(entry: &'a Entry) -> Self {
Self {
book: BookContext::from(&entry.book),
annotations: entry
.annotations
.iter()
.map(AnnotationContext::from)
.collect(),
}
}
}