Fix default connection string and set port as environment variable

This commit is contained in:
Alex Selimov 2026-03-19 23:44:37 -04:00
parent 44c9f0e705
commit a3b201fa09
4 changed files with 12 additions and 3 deletions

View file

@ -4,6 +4,7 @@ use std::env;
pub struct Env {
pub postgres_connection_string: String,
pub allowed_origins: Vec<String>,
pub port: String,
}
impl Env {
@ -17,9 +18,13 @@ impl Env {
.map(|s| s.trim().to_string())
.collect();
let port = env::var("PORT")
.unwrap_or_else(|_| "3000".to_string());
Env {
postgres_connection_string,
allowed_origins,
port,
}
}
}

View file

@ -12,9 +12,11 @@ async fn main() {
.with(tracing_subscriber::fmt::layer())
.init();
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
let state = AppState::new().await;
let port = &state.env.port;
let listener = tokio::net::TcpListener::bind(format!("0.0.0.0:{port}")).await.unwrap();
tracing::info!("listening on {}", listener.local_addr().unwrap());
axum::serve(listener, upvoters::app(AppState::new().await))
axum::serve(listener, upvoters::app(state))
.await
.unwrap();
}

View file

@ -3,7 +3,7 @@ pub mod db {
use sqlx::PgPool;
const DEFAULT_CONNECTION_STRING: &str =
"postgres://uprs:password123@localhost:5432/uprs";
"postgres://upvoters:password123@localhost:5432/upvoters";
pub async fn test_pool() -> PgPool {
let conn = std::env::var("POSTGRES_CONNECTION_STRING")

View file

@ -141,6 +141,8 @@ mod tests {
db,
env: Env {
postgres_connection_string: String::new(),
allowed_origins: vec![],
port: "3000".to_string(),
},
}
}