| 123456789101112131415161718192021222324 |
- 'use server';
- import { ResultDto } from '@/types/response/common';
- import { MacroIndicatorsResponse } from '@/types/macro';
- import { fetchJson } from '@/lib/utils/server';
- // 공통 헤더 (익명 · JSON)
- const JSON_HEADERS = { 'Accept': 'application/json' } as const;
- // 거시경제지표 (KOSIS) — codes CSV(미지정 시 적재된 전 지표) · limit = 지표당 최근 시점 수 (백엔드 기본 60 · 최대 240)
- export async function fetchMacroIndicators(params: { codes?: string[]; limit?: number }): Promise<ResultDto<MacroIndicatorsResponse>>
- {
- const queryParams = new URLSearchParams();
- if (params.codes && params.codes.length > 0) queryParams.set('codes', params.codes.join(','));
- if (params.limit) queryParams.set('limit', String(params.limit));
- const qs = queryParams.toString();
- return await fetchJson<MacroIndicatorsResponse>(`/api/market/macro${qs ? `?${qs}` : ''}`, {
- method: 'GET',
- headers: JSON_HEADERS
- });
- }
|