import 'package:flutter/material.dart'; import 'package:syncrow_web/pages/device_managment/all_devices/models/device_status.dart'; import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_model.dart'; import 'package:syncrow_web/services/api/http_service.dart'; import 'package:syncrow_web/utils/constants/api_const.dart'; class DevicesManagementApi { Future> fetchDevices() async { try { final response = await HTTPService().get( path: ApiEndpoints.getAllDevices, showServerMessage: true, expectedResponseModel: (json) { List jsonData = json; List devicesList = jsonData.map((jsonItem) { return AllDevicesModel.fromJson(jsonItem); }).toList(); return devicesList; }, ); return response; } catch (e) { debugPrint('Error fetching $e'); return []; } } Future getDeviceStatus(String uuid) async { try { final response = await HTTPService().get( path: ApiEndpoints.getDeviceStatus.replaceAll('{uuid}', uuid), showServerMessage: true, expectedResponseModel: (json) { return DeviceStatus.fromJson(json); }, ); return response; } catch (e) { debugPrint('Error fetching $e'); return DeviceStatus( productUuid: '', productType: '', status: [], ); } } //deviceControl Future deviceControl (String uuid, Status status) async { try { final response = await HTTPService().post( path: ApiEndpoints.deviceControl.replaceAll('{uuid}', uuid), body: status.toMap(), showServerMessage: true, expectedResponseModel: (json) { return true; }, ); return response; } catch (e) { debugPrint('Error fetching $e'); return false; } } }