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/services/api/api_links_endpoints.dart'; import 'package:syncrow_app/services/api/http_service.dart'; class DevicesAPI { static final HTTPService _httpService = HTTPService(); static Future> controlDevice( DeviceControlModel controlModel) async { // print( // 'contoling [${controlModel.deviceId}] with code [${controlModel.code}] and value [${controlModel.value}'); final response = await _httpService.post( path: ApiEndpoints.control, body: controlModel.toJson(), showServerMessage: false, expectedResponseModel: (json) { return json; }, ); return response; } static Future> fetchGroups(int spaceId) async { Map params = { "homeId": spaceId, "pageSize": 100, "pageNo": 1 }; final response = await _httpService.get( path: ApiEndpoints.groups, queryParameters: params, showServerMessage: false, expectedResponseModel: (json) => DevicesCategoryModel.fromJsonList(json['groups']), ); return response; } static Future> getDeviceStatus(String deviceId) async { final response = await _httpService.get( path: '${ApiEndpoints.deviceStatus}/$deviceId/functions/status', showServerMessage: false, expectedResponseModel: (json) { return json; }, ); return response; } }