feat: grab sensor firmware version for detail sheet
This commit is contained in:
@@ -52,6 +52,9 @@ class PhoenixSensorRepository implements SensorRepository {
|
||||
Future<Sensor> unplaceSensor(int id) async =>
|
||||
Sensor.fromJson(await client.unplaceSensor(id));
|
||||
|
||||
@override
|
||||
Future<String?> getVersion(int id) => client.getVersion(id);
|
||||
|
||||
@override
|
||||
Stream<Map<String, dynamic>> sensorEvents() => realtime
|
||||
.channelMessages('sensors')
|
||||
|
||||
@@ -11,6 +11,8 @@ abstract class SensorRepository {
|
||||
{required int roomId, required double x, required double y});
|
||||
Future<Sensor> unplaceSensor(int id);
|
||||
|
||||
Future<String?> getVersion(int id);
|
||||
|
||||
/// Stream of raw SensorsChannel messages. Each map contains an `event` key
|
||||
/// (`sensor_announced` or `sensor_enrollment_timeout`) plus the payload.
|
||||
Stream<Map<String, dynamic>> sensorEvents();
|
||||
|
||||
@@ -13,30 +13,46 @@ class SensorClient extends LocaliserdClient {
|
||||
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>;
|
||||
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 =>
|
||||
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 =>
|
||||
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>;
|
||||
'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>;
|
||||
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']!;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user