getDevices method

Future<List<HomeDevice>> getDevices()

Implementation

Future<List<HomeDevice>> getDevices() async {
  final response = await get('');
  if (response.statusCode == 200) {
    final data = json.decode(response.body);
    final List<dynamic> devices = data['data']['homeappliances'];
    final result = <HomeDevice>[];
    for (final device in devices) {
      final deviceType = device['type'];
      switch (deviceType) {
        case 'Oven':
          DeviceInfo info = DeviceInfo.fromJson(device);
          result.add(DeviceOven.fromInfoPayload(this, info));
          break;
      }
    }
    return result;
  } else {
    throw Exception('Error getting devices: ${response.body}');
  }
}