Improve thread handling

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2023-08-28 16:23:31 +03:00
parent c897e3c840
commit 003f47339f
3 changed files with 42 additions and 20 deletions

View File

@@ -1 +1,30 @@
use crate::pool::AlpacaPool;
use axum::{
routing::{delete, get, post},
Extension, Router, Server,
};
use log::info;
use sqlx::PgPool;
use std::net::SocketAddr;
pub mod assets;
pub async fn initialize_api(
database_pool: PgPool,
alpaca_pool: AlpacaPool,
) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
let app = Router::new()
.route("/assets", get(assets::get_assets))
.route("/assets/:symbol", get(assets::get_asset))
.route("/assets", post(assets::add_asset))
.route("/assets/:symbol", post(assets::update_asset))
.route("/assets/:symbol", delete(assets::delete_asset))
.layer(Extension(database_pool))
.layer(Extension(alpaca_pool));
let addr = SocketAddr::from(([0, 0, 0, 0], 7878));
info!("Listening on {}...", addr);
Server::bind(&addr).serve(app.into_make_service()).await?;
Ok(())
}