42 lines
1.5 KiB
TypeScript
42 lines
1.5 KiB
TypeScript
import request, { type RequestClient } from '@/utils/request';
|
|
import type {
|
|
BreadthResponse,
|
|
FundsResponse,
|
|
IndicesResponse,
|
|
SectorsResponse,
|
|
ShortTermConclusionResponse,
|
|
ShortTermEmotionResponse,
|
|
SummaryResponse,
|
|
} from '@/types/market-overview';
|
|
import { createMarketStructureApi } from './structure';
|
|
|
|
export function createMarketOverviewApi(requestClient: RequestClient = request) {
|
|
return {
|
|
...createMarketStructureApi(requestClient),
|
|
getSummary: () =>
|
|
requestClient<SummaryResponse>({ method: 'get', url: '/api/v1/market-overview/summary' }),
|
|
getIndices: () =>
|
|
requestClient<IndicesResponse>({ method: 'get', url: '/api/v1/market-overview/indices' }),
|
|
getBreadth: () =>
|
|
requestClient<BreadthResponse>({ method: 'get', url: '/api/v1/market-overview/breadth' }),
|
|
getSectors: () =>
|
|
requestClient<SectorsResponse>({ method: 'get', url: '/api/v1/market-overview/sectors' }),
|
|
getFunds: () =>
|
|
requestClient<FundsResponse>({ method: 'get', url: '/api/v1/market-overview/funds' }),
|
|
getShortTermEmotion: () =>
|
|
requestClient<ShortTermEmotionResponse>({
|
|
method: 'get',
|
|
url: '/api/v1/market-overview/short-term/emotion',
|
|
}),
|
|
getShortTermConclusion: () =>
|
|
requestClient<ShortTermConclusionResponse>({
|
|
method: 'get',
|
|
url: '/api/v1/market-overview/short-term/conclusion',
|
|
}),
|
|
};
|
|
}
|
|
|
|
const marketOverviewApi = createMarketOverviewApi();
|
|
|
|
export default marketOverviewApi;
|