added config.toml
support for flexible server configuration, integrated toml
crate for parsing, refactored configuration management to use AppSettings
, and updated database initialization logic
This commit is contained in:
@@ -4,16 +4,12 @@ mod db;
|
||||
mod models;
|
||||
mod services;
|
||||
|
||||
use crate::config::Config;
|
||||
use crate::config::{AppSettings};
|
||||
use anyhow::Result;
|
||||
use axum::Router;
|
||||
use axum::routing::get;
|
||||
use sqlx::sqlite::SqliteConnectOptions;
|
||||
use std::str::FromStr;
|
||||
use tokio::signal;
|
||||
use tokio::signal::ctrl_c;
|
||||
use tokio::signal::unix::signal;
|
||||
use tracing::{error, info};
|
||||
use tracing::{info};
|
||||
use tracing_subscriber;
|
||||
|
||||
#[tokio::main]
|
||||
@@ -23,15 +19,15 @@ async fn main() -> Result<()> {
|
||||
.compact()
|
||||
.init();
|
||||
|
||||
let config = Config::from_env();
|
||||
let app_settings = AppSettings::get_app_settings();
|
||||
|
||||
let pool = db::initialize_db(&config).await?;
|
||||
let pool = db::initialize_db(&app_settings).await?;
|
||||
|
||||
let app = create_app(pool);
|
||||
|
||||
let listener =
|
||||
tokio::net::TcpListener::bind(format!("{}:{}", config.host, config.port)).await?;
|
||||
info!("Server starting on {}:{}", config.host, config.port);
|
||||
tokio::net::TcpListener::bind(format!("{}:{}", app_settings.config.server.host, app_settings.config.server.port)).await?;
|
||||
info!("Server starting on {}:{}", app_settings.config.server.host, app_settings.config.server.port);
|
||||
|
||||
axum::serve(listener, app)
|
||||
.with_graceful_shutdown(shutdown_signal())
|
||||
|
Reference in New Issue
Block a user