requestUpdatedWaterLineFieldsFromServer method
Future<List<RemoteDto> >
requestUpdatedWaterLineFieldsFromServer(
- ChangeSuperType changeSuperType, {
- int? remoteTs,
- String? serverDatabase,
- String? testPassword,
Implementation
Future<List<RemoteDto>> requestUpdatedWaterLineFieldsFromServer(
ChangeSuperType changeSuperType,
{int? remoteTs,
String? serverDatabase,
String? testPassword}) async {
if (!initialized) throw ArgumentError(AbstractDao.C_MUST_INIT);
if (changeSuperType == null)
throw NullPointerException("ChangeSuperType must not be null");
String jsonResponseString;
UserStoreDto? userStoreDto = await userTools.getCurrentUserStoreDto(smd, transaction);
UserDto? userDto = await userTools.getCurrentUserDto(smd, transaction);
signedRequestHelper = SignedRequestHelper2(
userStoreDto!.email!,
userDto!.pass_key!);
Map<String, String> params = Map();
params["ts"] = TimeUtils.getNowCustomTs().toString();
params["limit"] = userRowsLimit.toString();
if (testPassword != null) {
params["test_pass"] = testPassword;
if (serverDatabase != null) params["database"] = serverDatabase;
if (remoteTs != null) params["remote_ts"] = remoteTs.toString();
}
if (remoteTs == null)
params["remote_ts"] =
(await waterLineField.getMaxTs(changeSuperType)).toString();
params["change_super_type"] =
WaterLineField.getChangeSuperTypeValue(changeSuperType).toString();
params["user_id"] =
(await userTools.getCurrentUserId(smd, transaction)).toString();
try {
jsonResponseString = await readClient
.getBaseURI(UrlTools.C_LATEST_FIELDS_URL, signedRequestHelper.sign(params));
} on TransmitStatusException catch (e) {
print("WS $e");
throw TransmitStatusException(e.transmitStatus,
cause: e.cause, sourceName: "Request Fields");
}
print("url=" + readClient.getURLString());
print("returned json=" + jsonResponseString);
List<RemoteDto> list;
list = jsonTools.processRemoteWaterLineFieldDtoListJson(jsonResponseString);
return list;
}