diff --git a/src/db/mod.rs b/src/db/mod.rs index 8fb2d38..89c91d5 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -103,6 +103,7 @@ pub struct Message { pub chat_id: i64, pub message_id: i64, pub token: String, + pub variant: Option, } #[derive(Serialize, Deserialize)] @@ -299,6 +300,32 @@ pub trait CallDB { Ok(()) } + async fn set_message_literal_variant( + &mut self, + chatid: i64, + messageid: i32, + literal: &str, + variant: &str, + ) -> DbResult<()> { + let db = self.get_database().await; + let messages = db.collection::("messages"); + + messages + .update_one( + doc! { + "chat_id": chatid, + "message_id": messageid as i64 + }, + doc! { + "$set": { "token": literal, "variant": variant } + }, + ) + .upsert(true) + .await?; + + Ok(()) + } + async fn get_literal(&mut self, literal: &str) -> DbResult> { let db = self.get_database().await; let messages = db.collection::("literals");