import { fetchJson } from '../../auth/api-client'; import type { AmapConfig, HydrogenHeatmapMeta, HydrogenHeatmapMetric, HydrogenHeatmapResponse, HydrogenNearbyResponse, HydrogenPayer, } from './types'; const BASE = '/api/hydrogen-heatmap'; export function fetchAmapConfig(signal?: AbortSignal) { return fetchJson(`${BASE}/config`, { signal }); } export function fetchHydrogenHeatmapMeta(signal?: AbortSignal) { return fetchJson(`${BASE}/meta`, { signal }); } export function fetchHydrogenHeatmapPoints( params: { startDate: string; endDate: string; query: string; payer: HydrogenPayer; metric: HydrogenHeatmapMetric }, signal?: AbortSignal, ) { return fetchJson(`${BASE}/points?${new URLSearchParams(params)}`, { signal }); } export function fetchNearbyHydrogenStations( params: { lng: number; lat: number; startDate: string; endDate: string; query: string; payer: HydrogenPayer; metric: HydrogenHeatmapMetric; }, signal?: AbortSignal, ) { const search = new URLSearchParams({ lng: String(params.lng), lat: String(params.lat), startDate: params.startDate, endDate: params.endDate, query: params.query, payer: params.payer, metric: params.metric, radiusKm: '50', }); return fetchJson(`${BASE}/nearby?${search}`, { signal }); }