38 lines
1.5 KiB
Dart
38 lines
1.5 KiB
Dart
import '../../../domain/models/server_config.dart';
|
|
import 'localiser_client.dart';
|
|
|
|
class SensorClient extends LocaliserdClient {
|
|
SensorClient({required ServerConfig config, required String token})
|
|
: super(config: config, token: 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>> 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>;
|
|
}
|