requestRemoteDtoListFromServer method
Implementation
Future<List<RemoteDto>> requestRemoteDtoListFromServer(
{int? waterLineTs,
String? serverDatabase,
String? testPassword,
bool compact = true,
int? limit}) async {
if (!initialized) throw ArgumentError(AbstractDao.C_MUST_INIT);
String jsonResponseString;
UserStoreDto? userStoreDto =
await userTools.getCurrentUserStoreDto(smd, transaction);
String? email = userStoreDto!.email;
UserDto? userDto = await userTools.getCurrentUserDto(smd, transaction);
String? passKey = userDto!.pass_key;
signedRequestHelper = SignedRequestHelper2(email!, passKey!);
Map<String, String> params = Map();
params["ts"] = TimeUtils.getNowCustomTs().toString();
params["limit"] =
limit != null ? limit.toString() : userRowsLimit.toString();
if (testPassword != null) {
params["test_pass"] = testPassword;
if (serverDatabase != null) params["database"] = serverDatabase;
if (waterLineTs != null) params["water_line"] = waterLineTs.toString();
}
if (waterLineTs == null) {
int wts = await clientWarden.getLatestTs();
params["water_line"] = wts.toString();
}
int? uid = await userTools.getCurrentUserId(smd, transaction);
params["user_id"] = uid.toString();
try {
jsonResponseString = await readClient.getBaseURI(
UrlTools.C_LATEST_ROWS_URL, signedRequestHelper.sign(params));
} on TransmitStatusException catch (e) {
print("WS $e");
throw TransmitStatusException(e.transmitStatus, cause: e.cause);
}
print("url=" + readClient.getURLString());
print("returned json=" + jsonResponseString);
List<RemoteDto> list;
list = JsonRemoteDtoTools.getRemoteDtoListFromJsonString(
jsonResponseString, smdSys, defaults,
compact: compact);
return list;
}