import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart'; import 'package:syncrow_app/features/auth/model/user_model.dart'; import 'package:syncrow_app/features/devices/model/device_model.dart'; import 'package:syncrow_app/services/api/api_links_endpoints.dart'; import 'package:syncrow_app/services/api/http_service.dart'; class HomeManagementAPI { static final HTTPService _httpService = HTTPService(); static Future> fetchDevicesByUserId() async { var storage = const FlutterSecureStorage(); var userId = await storage.read(key: UserModel.userUuidKey) ?? ''; List list = []; await _httpService.get( path: ApiEndpoints.getDevicesByUserId.replaceAll("{userId}", userId), showServerMessage: false, expectedResponseModel: (json) { json.forEach((value) { list.add(DeviceModel.fromJson(value)); }); }); return list; } static Future> fetchDevicesByUnitId() async { List list = []; await _httpService.get( path: ApiEndpoints.getDevicesByUnitId.replaceAll( "{unitUuid}", HomeCubit.getInstance().selectedSpace?.id ?? ''), showServerMessage: false, expectedResponseModel: (json) { json.forEach((value) { list.add(DeviceModel.fromJson(value)); }); }); return list; } static Future> assignDeviceToRoom( Map body) async { try { final response = await _httpService.put( path: ApiEndpoints.assignDeviceToRoom, body: body, expectedResponseModel: (json) { return json; }, ); return response; } catch (e) { rethrow; } } }