59 lines
1.8 KiB
Dart
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']!;
|
|
}
|
|
}
|