import { fetchJson } from '../../auth/api-client'; import type { AmapConfig, HeatmapMeta, HeatmapMetric, HeatmapResponse, NearbyResponse } from './types'; export function fetchAmapConfig(signal?: AbortSignal) { return fetchJson('/api/vehicle-heatmap/config', { signal }); } export function fetchHeatmapMeta(signal?: AbortSignal) { return fetchJson('/api/vehicle-heatmap/meta', { signal }); } export function fetchHeatmapPoints( params: { startDate: string; endDate: string; query: string; batchModel: string; metric: HeatmapMetric }, signal?: AbortSignal, ) { const search = new URLSearchParams(params); return fetchJson(`/api/vehicle-heatmap/points?${search}`, { signal }); } export function fetchNearbyVehicles( params: { lng: number; lat: number; startDate: string; endDate: string; query: string; batchModel: string }, signal?: AbortSignal, ) { const search = new URLSearchParams({ lng: String(params.lng), lat: String(params.lat), startDate: params.startDate, endDate: params.endDate, query: params.query, batchModel: params.batchModel, radiusKm: '50', }); return fetchJson(`/api/vehicle-heatmap/nearby?${search}`, { signal }); }