diff --git a/src/mongodb_storage.rs b/src/mongodb_storage.rs index 9289aef..6a703dc 100644 --- a/src/mongodb_storage.rs +++ b/src/mongodb_storage.rs @@ -9,6 +9,8 @@ use mongodb::Database; use serde::{de::DeserializeOwned, Deserialize, Serialize}; use teloxide::dispatching::dialogue::{Serializer, Storage}; +use crate::db::{CallDB, DB}; + pub struct MongodbStorage { database: Database, serializer: S, @@ -28,6 +30,13 @@ impl MongodbStorage { serializer, })) } + + pub async fn from_db(db: &mut DB, serializer: S) -> Result, mongodb::error::Error> { + Ok(Arc::new(Self { + database: CallDB::get_database(db).await, + serializer, + })) + } } #[derive(Serialize, Deserialize)]