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> beginCalibration(int id) async => await post('/api/sensors/$id/calibration/begin') as Map; Future> startStage(int id, double distance) async => await post('/api/sensors/$id/calibration/stage', { 'distance': distance, }) as Map; Future> finishCalibration(int id) async => await post( '/api/sensors/$id/calibration/finish', ) as Map; Future cancelCalibration(int id) => delete('/api/sensors/$id/calibration'); Future getVersion(int id) async { final response = (await get('/api/sensors/$id/version') as Map); return response['version']!; } }