import 'localiser_client.dart'; class SensorClient extends LocaliserdClient { SensorClient({required super.config, required String super.token}); Future> getSensors() async => await get('/api/sensors') as List; Future> getUnplacedSensors() async => await get('/api/sensors/unplaced') as List; Future> getSensor(int id) async => await get('/api/sensors/$id') as Map; Future> updateSensor( int id, Map params, ) async => await put('/api/sensors/$id', params) as Map; Future deleteSensor(int id) => delete('/api/sensors/$id'); Future> placeSensor( int id, Map params, ) async => await put('/api/sensors/$id/place', params) as Map; Future> unplaceSensor(int id) async => await deleteBody('/api/sensors/$id/place') as Map; Future> createSensor( String sensorId, { String? name, }) async => await post('/api/sensors', { 'sensor_id': sensorId, if (name != null) 'name': name, }) as Map; Future> startCalibration( int id, double referenceDistance, ) async => await post('/api/sensors/$id/calibration/start', { 'reference_distance': referenceDistance, }) as Map; Future> stopCalibration(int id) async => await post('/api/sensors/$id/calibration/stop') as Map; Future getVersion(int id) async { final response = (await get('/api/sensors/$id/version') as Map); return response['version']!; } }