diff --git a/src/bots/approved_bot/services/book_library/formaters.rs b/src/bots/approved_bot/services/book_library/formaters.rs index cbaeb1c..bdc4cad 100644 --- a/src/bots/approved_bot/services/book_library/formaters.rs +++ b/src/bots/approved_bot/services/book_library/formaters.rs @@ -382,18 +382,18 @@ impl Format for Book { impl Format for SearchBook { fn format(&self, max_size: usize) -> FormatResult { - self.clone().as_book().format(max_size) + Into::::into(self.clone()).format(max_size) } } impl Format for AuthorBook { fn format(&self, max_size: usize) -> FormatResult { - self.clone().as_book().format(max_size) + Into::::into(self.clone()).format(max_size) } } impl Format for TranslatorBook { fn format(&self, max_size: usize) -> FormatResult { - self.clone().as_book().format(max_size) + Into::::into(self.clone()).format(max_size) } } diff --git a/src/bots/approved_bot/services/book_library/types.rs b/src/bots/approved_bot/services/book_library/types.rs index 85d3208..18df626 100644 --- a/src/bots/approved_bot/services/book_library/types.rs +++ b/src/bots/approved_bot/services/book_library/types.rs @@ -175,12 +175,6 @@ pub struct Book { pub pages: Option, } -impl AsBook for Book { - fn as_book(&self) -> Self { - self.clone() - } -} - #[derive(Deserialize, Debug, Clone)] pub struct SearchBook { pub id: u32, @@ -195,17 +189,17 @@ pub struct SearchBook { pub sequences: Vec, } -impl AsBook for SearchBook { - fn as_book(&self) -> Book { +impl From for Book { + fn from(value: SearchBook) -> Self { Book { - id: self.id, - title: self.title.clone(), - lang: self.lang.clone(), - available_types: self.available_types.clone(), - annotation_exists: self.annotation_exists, - authors: self.authors.clone(), - translators: self.translators.clone(), - sequences: self.sequences.clone(), + id: value.id, + title: value.title.clone(), + lang: value.lang.clone(), + available_types: value.available_types.clone(), + annotation_exists: value.annotation_exists, + authors: value.authors.clone(), + translators: value.translators.clone(), + sequences: value.sequences.clone(), genres: vec![], pages: None } @@ -225,17 +219,17 @@ pub struct AuthorBook { pub sequences: Vec, } -impl AsBook for AuthorBook { - fn as_book(&self) -> Book { +impl From for Book { + fn from(value: AuthorBook) -> Self { Book { - id: self.id, - title: self.title.clone(), - lang: self.lang.clone(), - available_types: self.available_types.clone(), - annotation_exists: self.annotation_exists, + id: value.id, + title: value.title.clone(), + lang: value.lang.clone(), + available_types: value.available_types.clone(), + annotation_exists: value.annotation_exists, authors: vec![], - translators: self.translators.clone(), - sequences: self.sequences.clone(), + translators: value.translators.clone(), + sequences: value.sequences.clone(), genres: vec![], pages: None } @@ -255,17 +249,17 @@ pub struct TranslatorBook { pub sequences: Vec, } -impl AsBook for TranslatorBook { - fn as_book(&self) -> Book { +impl From for Book { + fn from(value: TranslatorBook) -> Self { Book { - id: self.id, - title: self.title.clone(), - lang: self.lang.clone(), - available_types: self.available_types.clone(), - annotation_exists: self.annotation_exists, - authors: self.authors.clone(), + id: value.id, + title: value.title.clone(), + lang: value.lang.clone(), + available_types: value.available_types.clone(), + annotation_exists: value.annotation_exists, + authors: value.authors.clone(), translators: vec![], - sequences: self.sequences.clone(), + sequences: value.sequences.clone(), genres: vec![], pages: None }