market-data-source 0.3.0

High-performance synthetic market data generator with financial precision. Generate unlimited OHLC candles, tick data, and realistic trading scenarios for backtesting and research.
Documentation
use utoipa::{OpenApi, openapi};
use super::models::*;
use crate::types::{OHLC, Tick};
use crate::config::GeneratorConfig;

#[derive(OpenApi)]
#[openapi(
    components(
        schemas(
            GenerateRequest,
            GenerateResponse,
            DataFormat,
            MarketDataResponse,
            ResponseMetadata,
            CreateSymbolRequest,
            SymbolInfo,
            SymbolStatistics,
            ApiCapabilities,
            AlgorithmInfo,
            ParameterInfo,
            PresetInfo,
            WebSocketInfo,
            ApiLimits,
            RateLimitInfo,
            HistoricalDataRequest,
            ErrorResponse,
            OHLC,
            Tick,
            GeneratorConfig,
        )
    ),
    tags(
        (name = "Market Data", description = "Market data generation endpoints"),
        (name = "Symbols", description = "Symbol management endpoints"),
        (name = "Export", description = "Data export endpoints"),
        (name = "Discovery", description = "API discovery and capabilities"),
    ),
    info(
        title = "Market Data Source API",
        version = env!("CARGO_PKG_VERSION"),
        description = "Synthetic market data generation server with REST and WebSocket APIs",
        contact(
            name = "Market Data Source",
            url = "https://github.com/yourusername/market-data-source",
        ),
        license(
            name = "MIT",
        ),
    ),
    servers(
        (url = "http://localhost:8080", description = "Local development server"),
        (url = "https://api.marketdata.example.com", description = "Production server"),
    ),
)]
pub struct ApiDoc;

pub fn openapi_spec() -> openapi::OpenApi {
    ApiDoc::openapi()
}