Remove apca dependency

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2023-09-02 19:18:14 +03:00
parent d636606285
commit 203b028d7c
37 changed files with 760 additions and 894 deletions

View File

@@ -1,22 +1,17 @@
use crate::{
data::live::AssetMPSCMessage,
pool::{alpaca::AlpacaPool, postgres::PostgresPool},
};
use crate::{config::AppConfig, types::AssetBroadcastMessage};
use axum::{
routing::{delete, get, post},
Extension, Router, Server,
};
use log::info;
use std::{net::SocketAddr, sync::Arc};
use tokio::sync::mpsc::Sender;
use tokio::sync::broadcast::Sender;
pub mod assets;
pub async fn run_api(
postgres_pool: PostgresPool,
alpaca_pool: AlpacaPool,
stock_live_mpsc_sender: Arc<Sender<AssetMPSCMessage>>,
crypto_live_mpsc_sender: Arc<Sender<AssetMPSCMessage>>,
app_config: Arc<AppConfig>,
asset_broadcast_sender: Sender<AssetBroadcastMessage>,
) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
let app = Router::new()
.route("/assets", get(assets::get_assets))
@@ -24,10 +19,8 @@ pub async fn run_api(
.route("/assets", post(assets::add_asset))
.route("/assets/:symbol", post(assets::update_asset))
.route("/assets/:symbol", delete(assets::delete_asset))
.layer(Extension(postgres_pool))
.layer(Extension(alpaca_pool))
.layer(Extension(stock_live_mpsc_sender))
.layer(Extension(crypto_live_mpsc_sender));
.layer(Extension(app_config))
.layer(Extension(asset_broadcast_sender));
let addr = SocketAddr::from(([0, 0, 0, 0], 7878));
info!("Listening on {}...", addr);