From 8ac8c4509bd43cef5e21563c2be393dbd844e79b Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Sat, 28 Sep 2024 23:21:46 +0200 Subject: [PATCH] Add position prefix for books in sequence --- src/bots/approved_bot/services/book_library/formatters.rs | 7 ++++++- src/bots/approved_bot/services/book_library/types.rs | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/bots/approved_bot/services/book_library/formatters.rs b/src/bots/approved_bot/services/book_library/formatters.rs index f574709..680f6db 100644 --- a/src/bots/approved_bot/services/book_library/formatters.rs +++ b/src/bots/approved_bot/services/book_library/formatters.rs @@ -445,7 +445,12 @@ impl Format for Book { Some(v) => format!(" | {v}с."), }; - format!("📖 {title} | {lang}{year_part}{pages_count}\n") + let position_prefix = match self.position { + Some(v) => format!("{v} | "), + None => "".to_string(), + }; + + format!("{position_prefix}📖 {title} | {lang}{year_part}{pages_count}\n") }; let annotations = match self.annotation_exists { diff --git a/src/bots/approved_bot/services/book_library/types.rs b/src/bots/approved_bot/services/book_library/types.rs index 695432a..5674e2d 100644 --- a/src/bots/approved_bot/services/book_library/types.rs +++ b/src/bots/approved_bot/services/book_library/types.rs @@ -205,6 +205,7 @@ pub struct Book { // id_deleted: bool, pub year: i32, pub pages: Option, + pub position: Option } #[derive(Deserialize, Debug, Clone)] @@ -236,6 +237,7 @@ impl From for Book { genres: vec![], pages: None, year: value.year, + position: None } } } @@ -268,6 +270,7 @@ impl From for Book { genres: vec![], pages: None, year: value.year, + position: None } } } @@ -300,6 +303,7 @@ impl From for Book { genres: vec![], pages: None, year: value.year, + position: None } } } @@ -316,6 +320,7 @@ pub struct SequenceBook { pub translators: Vec, pub annotation_exists: bool, pub year: i32, + pub position: i32 } impl From for Book { @@ -332,6 +337,7 @@ impl From for Book { genres: vec![], pages: None, year: value.year, + position: Some(value.position) } } }