import { api } from "@/lib/api"; import { config } from "@/config/config"; import type { AdjustmentStatus, SensorPlacementScheme, SensorPoint, } from "./types"; export interface OptimizeSchemeInput { scheme_name: string; sensor_type: "pressure"; method: "sensitivity" | "kmeans"; sensor_count: number; min_diameter: number; } export const optimizeSensorPlacement = async ( input: OptimizeSchemeInput, ): Promise => { const response = await api.post( `${config.BACKEND_URL}/api/v1/sensor-placement-optimization-runs`, input, ); return response.data; }; export const getSensorPlacementScheme = async ( schemeId: number, ): Promise => { const response = await api.get( `${config.BACKEND_URL}/api/v1/sensor-placement-schemes/${schemeId}`, ); return response.data; }; export const getSensorPlacementCandidate = async ( nodeId: string, ): Promise => { const response = await api.get( `${config.BACKEND_URL}/api/v1/sensor-placement-candidates/${encodeURIComponent(nodeId)}`, ); return response.data; }; export const overwriteSensorPlacementScheme = async ( schemeId: number, expectedSensorLocation: string[], sensorLocation: string[], ): Promise => { const response = await api.put( `${config.BACKEND_URL}/api/v1/sensor-placement-schemes/${schemeId}`, { expected_sensor_location: expectedSensorLocation, sensor_location: sensorLocation, }, ); return response.data; }; export const exportSensorPlacementExcel = async ( schemeId: number, sensorLocation: string[], adjustmentStatus: Record, ) => { const response = await api.post( `${config.BACKEND_URL}/api/v1/sensor-placement-schemes/${schemeId}/exports/excel`, { sensor_location: sensorLocation, adjustment_status: adjustmentStatus, }, { responseType: "blob", }, ); return response.data; };