import { apiClient, type SensorDevice, type SensorReading, type DataQuery, type DataResponse, type SensorType, type SensorStatus, } from './api' export const sensorsApi = { async getSensors(params?: { room?: string sensor_type?: SensorType status?: SensorStatus }): Promise { return apiClient.get('/api/v1/sensors/get', params) }, async getSensor(sensorId: string): Promise { return apiClient.get(`/api/v1/sensors/${sensorId}`) }, async getSensorData( sensorId: string, params?: { start_time?: number end_time?: number limit?: number offset?: number }, ): Promise { return apiClient.get(`/api/v1/sensors/${sensorId}/data`, params) }, async queryData(query: DataQuery): Promise { return apiClient.post('/api/v1/data/query', query) }, async updateSensorMetadata( sensorId: string, metadata: Record, ): Promise<{ message: string }> { return apiClient.put<{ message: string }>(`/api/v1/sensors/${sensorId}/metadata`, metadata) }, async deleteSensor(sensorId: string): Promise<{ message: string readings_deleted: number metadata_deleted?: boolean }> { return apiClient.delete(`/api/v1/sensors/${sensorId}`) }, async exportData(params: { start_time: number end_time: number sensor_ids?: string format?: 'json' | 'csv' }): Promise<{ data: SensorReading[] count: number export_params: any }> { return apiClient.get<{ data: SensorReading[] count: number export_params: any }>('/api/v1/export', params) }, } export default sensorsApi