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