Files
companion/lib/data/sources/localiser/sensor_client.dart
T

59 lines
1.8 KiB
Dart

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