'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> { 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(`/api/market/macro${qs ? `?${qs}` : ''}`, { method: 'GET', headers: JSON_HEADERS }); }