From 4be9c034c90df8f2e0d996d9405c2a2007f400b8 Mon Sep 17 00:00:00 2001 From: Akulij Date: Mon, 26 May 2025 20:50:25 +0500 Subject: [PATCH] use variable db name instead of hardcoded one --- src/db/mod.rs | 11 ++++++----- src/db/tests/mod.rs | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/db/mod.rs b/src/db/mod.rs index f0ec585..82a8079 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -142,14 +142,15 @@ pub struct Media { #[derive(Clone)] pub struct DB { client: Client, + name: String, } impl DB { - pub async fn new>(db_url: S) -> DbResult { + pub async fn new>(db_url: S, name: String) -> DbResult { let options = ClientOptions::parse(db_url.into()).await?; let client = Client::with_options(options)?; - Ok(DB { client }) + Ok(DB { client, name }) } pub async fn migrate(&mut self) -> DbResult<()> { @@ -186,8 +187,8 @@ impl DB { Ok(()) } - pub async fn init>(db_url: S) -> DbResult { - let mut db = Self::new(db_url).await?; + pub async fn init>(db_url: S, name: String) -> DbResult { + let mut db = Self::new(db_url, name).await?; db.migrate().await?; Ok(db) @@ -205,7 +206,7 @@ pub trait GetCollection { #[async_trait] impl CallDB for DB { async fn get_database(&mut self) -> Database { - self.client.database("gongbot") + self.client.database(&self.name) } } diff --git a/src/db/tests/mod.rs b/src/db/tests/mod.rs index 5c63fa8..8da40ce 100644 --- a/src/db/tests/mod.rs +++ b/src/db/tests/mod.rs @@ -10,7 +10,7 @@ async fn setup_db() -> DB { dotenvy::dotenv().unwrap(); let db_url = std::env::var("DATABASE_URL").unwrap(); - DB::new(db_url).await.unwrap() + DB::new(db_url, "gongbot".to_string()).await.unwrap() } #[tokio::test]