34 lines
877 B
Rust
34 lines
877 B
Rust
use std::env;
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub struct Config {
|
|
pub database_url: String,
|
|
pub jwt_secret: String,
|
|
pub port: u16,
|
|
pub tile_server_url: String,
|
|
|
|
pub kafka_brokers: String,
|
|
pub kafka_topic: String,
|
|
pub kafka_group_id: String,
|
|
}
|
|
|
|
impl Config {
|
|
pub fn from_env() -> Result<Self, env::VarError> {
|
|
dotenvy::dotenv().ok();
|
|
|
|
Ok(Config {
|
|
database_url: env::var("DATABASE_URL")?,
|
|
jwt_secret: env::var("JWT_SECRET")?,
|
|
port: env::var("PORT")
|
|
.unwrap_or_else(|_| "3000".to_string())
|
|
.parse()
|
|
.unwrap_or(3000),
|
|
tile_server_url: env::var("TILE_SERVER")?,
|
|
|
|
kafka_brokers: env::var("KAFKA_BROKERS")?,
|
|
kafka_topic: env::var("KAFKA_TOPIC")?,
|
|
kafka_group_id: env::var("KAFKA_GROUP_ID")?,
|
|
})
|
|
}
|
|
}
|