addCamera method
Implementation
@override
Future<Map<String, dynamic>> addCamera(
String wifiSsid, String wifiPassword) async {
if (isRequestPending) {
return {
"isError": true,
"message": "PENDING_PREVIOUS_REQUEST",
"details": "Called addCamera()"
};
}
try {
isRequestPending = true;
final apiResponse = await apiService.fetchMasterAccount();
if (apiResponse['isError']) {
isRequestPending = false;
return apiResponse;
}
final account = apiResponse["account"];
await methodChannel.invokeMethod('LOGIN', {
"userName": account["username"],
"password": account["password"],
});
final version =
await methodChannel.invokeMethod('ADD_CAMERA_THROUGH_WIFI', {
"ssid": wifiSsid,
"password": wifiPassword,
});
final addResponse = await apiService.addDeviceToMasterAccount(
version[0], account["username"]);
isRequestPending = false;
if (addResponse['isError']) return addResponse;
return {
"isError": false,
"message": "Camera added successfully",
"cameraId": version[0]
};
} catch (e) {
isRequestPending = false;
if (e is PlatformException) {
return {"isError": true, "message": e.message};
}
return {"isError": true, "message": "Error: $e"};
}
}