From 1ebec422d6100dd60ed3744a772a1cbe978a4981 Mon Sep 17 00:00:00 2001 From: eiiko6 Date: Wed, 31 Dec 2025 18:03:17 +0100 Subject: [PATCH] made backend database url configurable through cli --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- src/db.rs | 6 +++--- src/main.rs | 6 +++++- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d2bcea7..8ef15ad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -257,7 +257,7 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "chatapp" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "argon2", diff --git a/Cargo.toml b/Cargo.toml index 7645ce0..9e936b6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chatapp" -version = "0.1.0" +version = "0.2.0" edition = "2024" [dependencies] diff --git a/flake.nix b/flake.nix index 57c0fc4..31a85b5 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ in { packages.default = pkgs.rustPlatform.buildRustPackage { pname = "chatapp"; - version = "0.1.0"; + version = "0.2.0"; # Point to the backend subdirectory src = ./backend; diff --git a/src/db.rs b/src/db.rs index 8e50c96..f52d7ee 100644 --- a/src/db.rs +++ b/src/db.rs @@ -2,9 +2,9 @@ use axum::http::StatusCode; use sqlx::PgPool; use uuid::Uuid; -pub async fn init_db() -> Result { - let database_url = "postgres://chatapp:secret@localhost:5432/chatapp"; - PgPool::connect(database_url).await +pub async fn init_db(url: String) -> Result { + let database_url = format!("postgres://chatapp:secret@{url}/chatapp"); + PgPool::connect(database_url.as_str()).await } pub async fn user_id_from_uuid(db: &PgPool, user_uuid: Uuid) -> Result { diff --git a/src/main.rs b/src/main.rs index 8e3b884..cfd173a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,6 +29,10 @@ pub struct Cli { #[arg(short, long, default_value = "8080")] port: String, + /// Database URL + #[arg(short, long, default_value = "localhost:5432")] + database: String, + /// Verbose mode #[arg(short, long)] verbose: bool, @@ -43,7 +47,7 @@ async fn main() -> anyhow::Result<()> { .init(); tracing::info!("Connecting to database..."); - let db_pool = db::init_db().await?; + let db_pool = db::init_db(cli.database).await?; let cors = CorsLayer::new() .allow_origin(Any)