diff --git a/lib/services/api/devices_api.dart b/lib/services/api/devices_api.dart index 54e2617..c6be603 100644 --- a/lib/services/api/devices_api.dart +++ b/lib/services/api/devices_api.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:convert'; + import 'package:syncrow_app/features/devices/model/device_category_model.dart'; import 'package:syncrow_app/features/devices/model/device_control_model.dart'; import 'package:syncrow_app/features/devices/model/device_model.dart'; @@ -7,6 +8,8 @@ import 'package:syncrow_app/features/devices/model/device_report_model.dart'; import 'package:syncrow_app/features/devices/model/function_model.dart'; import 'package:syncrow_app/services/api/api_links_endpoints.dart'; import 'package:syncrow_app/services/api/http_service.dart'; +import 'package:syncrow_app/utils/resource_manager/constants.dart'; + import '../../features/devices/model/create_temporary_password_model.dart'; class DevicesAPI { @@ -580,7 +583,7 @@ class DevicesAPI { path: path, showServerMessage: false, expectedResponseModel: (json) { - final data = json['data']; + final data = json['data'] as List?; if (data == null || data.isEmpty) { return []; @@ -588,9 +591,14 @@ class DevicesAPI { if (json == null || json.isEmpty || json == []) { return []; } - return data - .map((device) => DeviceModel.fromJson(device)) - .toList(); + final result = []; + for (final device in data) { + final mappedDevice = DeviceModel.fromJson(device); + if (mappedDevice.productType?.name != DeviceType.FlushMountedSensor.name) { + result.add(mappedDevice); + } + } + return result; }, ); diff --git a/lib/utils/resource_manager/constants.dart b/lib/utils/resource_manager/constants.dart index 01dde3c..4e4d5b0 100644 --- a/lib/utils/resource_manager/constants.dart +++ b/lib/utils/resource_manager/constants.dart @@ -62,6 +62,7 @@ enum DeviceType { SixScene, SOS, Other, + FlushMountedSensor, } enum FunctionType { Boolean, Enum, Integer, Raw, String } @@ -96,6 +97,7 @@ Map devicesTypesMap = { "4S": DeviceType.FourScene, "6S": DeviceType.SixScene, "SOS": DeviceType.SOS, + "NCPS": DeviceType.FlushMountedSensor, }; Map> devicesFunctionsMap = {