//! Demonstrates starting the SDK as an HTTP server. use kra_etims_sdk::{config::Config, logger, routes::AppState}; use std::sync::Arc; use tracing::info; #[tokio::main] async fn main() { dotenvy::dotenv().ok(); logger::init(); let config = Config::from_env().expect("Failed to load config"); let port = config.port; let _state = Arc::new(AppState::new(config)); info!("KRA eTims SDK server would start on port {port}"); info!("Available endpoints:"); info!(" POST /api/auth/token"); info!(" POST /api/initialization/osdc-info"); info!(" POST /api/basic-data/code-list"); info!(" POST /api/basic-data/item-cls-list"); info!(" POST /api/basic-data/bhf-list"); info!(" POST /api/basic-data/notice-list"); info!(" POST /api/basic-data/taxpayer-info"); info!(" POST /api/basic-data/customer-list"); info!(" POST /api/sales/send"); info!(" POST /api/sales/select"); info!(" POST /api/stock/move-list"); info!(" POST /api/stock/save-master"); info!(" POST /api/purchase/select"); info!(" GET /api/health"); // In production this would call HttpServer::bind(...).serve(...).await // See src/main.rs for the full implementation. info!("(This example only demonstrates setup — see src/main.rs for server logic)"); }