use calibre_db::data::{book::Book as DbBook, series::Series as DbSeries}; use serde::Serialize; #[derive(Debug, Serialize)] pub struct Book { pub id: u64, pub title: String, pub sort: String, pub path: String, pub author: String, pub series: Option<(String, f64)>, } impl Book { pub fn from_db_book( db_book: &DbBook, db_series: Option<(DbSeries, f64)>, author: &str, ) -> Self { Self { id: db_book.id, title: db_book.title.clone(), sort: db_book.sort.clone(), path: db_book.path.clone(), author: author.to_string(), series: db_series.map(|x| (x.0.name, x.1)), } } }