pub mod handlers; pub mod services; pub mod types; use axum::{ routing::{get, post, put}, Router, }; use sqlx::PgPool; pub fn create_routes(pool: PgPool) -> Router { Router::new() .route("/orders", post(handlers::order::insert_order_handler)) .route( "/orders/:order_id", get(handlers::order::select_order_by_id_handler), ) .route( "/orders/status", put(handlers::order::update_order_status_handler), ) .route( "/orders/after-trade", put(handlers::order::update_order_after_trade_handler), ) .route( "/orders/locked-size", put(handlers::order::update_order_locked_size_handler), ) .route( "/orders/company/:company_pubkey", get(handlers::order::select_orders_by_company_handler), ) .route( "/orders/maker/:maker_pubkey", get(handlers::order::select_orders_by_maker_handler), ) .route( "/orders/market/:market_pubkey/active", get(handlers::order::select_active_orders_by_market_handler), ) .route( "/orders/market/:market_pubkey/all", get(handlers::order::select_all_orders_by_market_handler), ) .route( "/orders/status/:status", get(handlers::order::select_orders_by_status_handler), ) .route("/trades", post(handlers::trade::insert_trade_handler)) .route( "/trades/all", get(handlers::trade::select_all_trades_handler), ) .route( "/trades/:trade_id", get(handlers::trade::select_trade_by_id_handler), ) .route( "/trades/company/:company_pubkey", get(handlers::trade::select_trades_by_company_handler), ) .route( "/trades/order/:order_id", get(handlers::trade::select_trades_by_order_id_handler), ) .route( "/usdc-logs", post(handlers::usdc_logs::insert_usdc_log_handler), ) .route( "/usdc-logs/all", get(handlers::usdc_logs::select_all_usdc_logs_handler), ) .route( "/usdc-logs/:operation_id", get(handlers::usdc_logs::select_usdc_log_by_id_handler), ) .route( "/usdc-logs/company/:company_pubkey", get(handlers::usdc_logs::select_usdc_logs_by_company_handler), ) .with_state(pool) }