File size: 1,172 Bytes
c993983
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/** API client for analysis endpoints. */

import client from './client';
import type {
  PinchRequest,
  PinchResult,
  HPIRequest,
  HPIResult,
  StatusQuoRequest,
  StatusQuoResult,
} from '../types/analysis';

export async function runPinch(req: PinchRequest): Promise<PinchResult> {
  const { data } = await client.post<PinchResult>('/api/analysis/pinch', req);
  return data;
}

export async function runHPI(req: HPIRequest): Promise<HPIResult> {
  const { data } = await client.post<HPIResult>('/api/analysis/hpi', req);
  return data;
}

export async function runStatusQuo(req: StatusQuoRequest): Promise<StatusQuoResult> {
  const { data } = await client.post<StatusQuoResult>('/api/analysis/status-quo', req);
  return data;
}

export async function generateReport(payload: Record<string, unknown>): Promise<Blob> {
  const { data } = await client.post('/api/analysis/report', payload, {
    responseType: 'blob',
  });
  return data as Blob;
}

export async function getMapPreview(payload: Record<string, unknown>): Promise<{ map_b64: string }> {
  const { data } = await client.post<{ map_b64: string }>('/api/analysis/map-preview', payload);
  return data;
}