diff --git a/src/bots/approved_bot/services/book_library/formaters.rs b/src/bots/approved_bot/services/book_library/formaters.rs index 01fef7c..c9cc687 100644 --- a/src/bots/approved_bot/services/book_library/formaters.rs +++ b/src/bots/approved_bot/services/book_library/formaters.rs @@ -4,7 +4,7 @@ use crate::bots::approved_bot::modules::download::StartDownloadData; use super::types::{ Author, AuthorBook, Book, BookAuthor, BookGenre, SearchBook, Sequence, Translator, - TranslatorBook, + TranslatorBook, SequenceBook, }; const NO_LIMIT: usize = 4096; @@ -397,3 +397,9 @@ impl Format for TranslatorBook { Into::::into(self.clone()).format(max_size) } } + +impl Format for SequenceBook { + fn format(&self, max_size: usize) -> FormatResult { + Into::::into(self.clone()).format(max_size) + } +} diff --git a/src/bots/approved_bot/services/book_library/mod.rs b/src/bots/approved_bot/services/book_library/mod.rs index 083137e..3ee2716 100644 --- a/src/bots/approved_bot/services/book_library/mod.rs +++ b/src/bots/approved_bot/services/book_library/mod.rs @@ -183,7 +183,7 @@ pub async fn get_sequence_books( id: u32, page: u32, allowed_langs: Vec, -) -> Result, Box> { +) -> Result, Box> { let mut params = get_allowed_langs_params(allowed_langs); params.push(("page", page.to_string())); diff --git a/src/bots/approved_bot/services/book_library/types.rs b/src/bots/approved_bot/services/book_library/types.rs index ed3aff1..99779e1 100644 --- a/src/bots/approved_bot/services/book_library/types.rs +++ b/src/bots/approved_bot/services/book_library/types.rs @@ -255,3 +255,34 @@ impl From for Book { } } } + + +#[derive(Deserialize, Debug, Clone)] +pub struct SequenceBook { + pub id: u32, + pub title: String, + pub lang: String, + // file_type: String, + pub available_types: Vec, + // uploaded: String, + pub authors: Vec, + pub translators: Vec, + pub annotation_exists: bool, +} + +impl From for Book { + fn from(value: SequenceBook) -> Self { + Book { + id: value.id, + title: value.title, + lang: value.lang, + available_types: value.available_types, + annotation_exists: value.annotation_exists, + authors: value.authors, + translators: value.translators, + sequences: vec![], + genres: vec![], + pages: None + } + } +}