Refactor API endpoint for getting device reports and fix the record title

This commit is contained in:
mohammad
2025-05-12 10:18:02 +03:00
parent adb42f95e8
commit 0a4ec1c6de
6 changed files with 24 additions and 7 deletions

View File

@ -119,7 +119,7 @@ class FlushSensorBloc extends Bloc<FlushSensorEvent, FlushSensorState> {
Emitter<FlushSensorState> emit) async { Emitter<FlushSensorState> emit) async {
emit(FlushSensorLoadingInitialState()); emit(FlushSensorLoadingInitialState());
try { try {
await DevicesAPI.getDeviceReports(deviceId, event.code).then((value) { await DevicesAPI.getReports(deviceId, event.code).then((value) {
emit(FlushSensorDeviceReportsState( emit(FlushSensorDeviceReportsState(
deviceReport: value, code: event.code)); deviceReport: value, code: event.code));
}); });

View File

@ -23,7 +23,7 @@ class FlushPresenceRecords extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return DefaultScaffold( return DefaultScaffold(
title: title, title: 'Presence Record',
child: BlocProvider( child: BlocProvider(
create: (context) => FlushSensorBloc(deviceId: deviceId) create: (context) => FlushSensorBloc(deviceId: deviceId)
..add(FlushSensorGetDeviceReportsEvent( ..add(FlushSensorGetDeviceReportsEvent(

View File

@ -61,7 +61,7 @@ class FlushMountedInterface extends StatelessWidget {
statusBarIconBrightness: Brightness.light, statusBarIconBrightness: Brightness.light,
), ),
child: DefaultScaffold( child: DefaultScaffold(
title: deviceModel.name!, title: FlushSensorBloc.deviceName,
actions: [ actions: [
InkWell( InkWell(
onTap: () async { onTap: () async {

View File

@ -11,7 +11,7 @@ class WaterHeaterFunctionsHelper {
deviceId: deviceId, deviceId: deviceId,
deviceName: deviceName, deviceName: deviceName,
icon: Assets.assetsAcPower, icon: Assets.assetsAcPower,
operationName: 'Reverse Switch', operationName: 'Switch',
code: 'switch_1', code: 'switch_1',
functionValue: functionValue, functionValue: functionValue,
operationDialogType: OperationDialogType.onOff, operationDialogType: OperationDialogType.onOff,
@ -32,7 +32,7 @@ class WaterHeaterFunctionsHelper {
deviceId: deviceId, deviceId: deviceId,
deviceName: deviceName, deviceName: deviceName,
icon: Assets.assetsLightCountdown, icon: Assets.assetsLightCountdown,
operationName: 'CountDown', operationName: 'Timer',
code: 'countdown_1', code: 'countdown_1',
functionValue: functionValue, functionValue: functionValue,
operationDialogType: OperationDialogType.countdown, operationDialogType: OperationDialogType.countdown,

View File

@ -126,8 +126,7 @@ abstract class ApiEndpoints {
static const String gatewayApi = '/devices/gateway/{gatewayUuid}/devices'; static const String gatewayApi = '/devices/gateway/{gatewayUuid}/devices';
static const String deviceFunctionsStatus = static const String deviceFunctionsStatus =
'/devices/{deviceUuid}/functions/status'; '/devices/{deviceUuid}/functions/status';
static const String powerClamp = static const String powerClamp = '/devices/{deviceUuid}/functions/status';
'/devices/{deviceUuid}/functions/status';
///Device Permission Module ///Device Permission Module
//POST //POST
@ -233,4 +232,6 @@ abstract class ApiEndpoints {
static const String getPermission = '/permission/{roleUuid}'; static const String getPermission = '/permission/{roleUuid}';
static const String getAllDevices = static const String getAllDevices =
'/projects/{projectUuid}/communities/{communityUuid}/spaces/{spaceUuid}/devices'; '/projects/{projectUuid}/communities/{communityUuid}/spaces/{spaceUuid}/devices';
static const String getReportLogs = '/devices/{uuid}/report-logs?code={code}';
} }

View File

@ -569,6 +569,22 @@ class DevicesAPI {
return response; return response;
} }
static Future<DeviceReport> getReports(
String uuid,
String code,
) async {
final response = await HTTPService().get(
path: ApiEndpoints.getReportLogs
.replaceAll('{uuid}', uuid)
.replaceAll('{code}', code),
showServerMessage: false,
expectedResponseModel: (json) {
return DeviceReport.fromJson(json);
},
);
return response;
}
static Future<List<DeviceModel>> getAllDevices({ static Future<List<DeviceModel>> getAllDevices({
required String communityUuid, required String communityUuid,
required String spaceUuid, required String spaceUuid,