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

View file

@ -12,9 +12,11 @@ async fn main() {
.with(tracing_subscriber::fmt::layer()) .with(tracing_subscriber::fmt::layer())
.init(); .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()); tracing::info!("listening on {}", listener.local_addr().unwrap());
axum::serve(listener, upvoters::app(AppState::new().await)) axum::serve(listener, upvoters::app(state))
.await .await
.unwrap(); .unwrap();
} }

View file

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

View file

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