kabu_rpc_handler/
openapi.rs1use crate::dto::block::BlockHeader;
2use crate::dto::pool::MarketStats;
3use crate::dto::pool::Pool;
4use crate::dto::pool::PoolClass;
5use crate::dto::pool::PoolDetailsResponse;
6use crate::dto::pool::PoolProtocol;
7use crate::dto::pool::PoolResponse;
8use crate::dto::quote::QuoteRequest;
9use crate::dto::quote::QuoteResponse;
10use crate::handler::blocks::__path_latest_block;
11use crate::handler::pools::__path_market_stats;
12use crate::handler::pools::__path_pool;
13use crate::handler::pools::__path_pool_quote;
14use crate::handler::pools::__path_pools;
15use utoipa::OpenApi;
16
17#[derive(OpenApi)]
18#[openapi(
19 paths(latest_block),
20 tags(
21 (name = "block", description = "Blockchain")
22 ),
23 components(schemas(BlockHeader))
24)]
25pub struct BlockApi;
26
27#[derive(OpenApi)]
28#[openapi(
29 paths(pool, pools, pool_quote, market_stats),
30 tags(
31 (name = "market", description = "Market")
32 ),
33 components(schemas(PoolResponse, PoolDetailsResponse, Pool, PoolClass, PoolProtocol, MarketStats, QuoteRequest, QuoteResponse))
34)]
35pub struct MarketApi;
36
37#[allow(dead_code)]
38#[derive(OpenApi)]
39#[openapi(
40 nest(
41 (path = "/api/v1/block/", api = BlockApi),
42 (path = "/api/v1/markets", api = MarketApi)
43 )
44)]
45pub struct ApiDoc;