submitDeleteEventually static method
Implementation
static Future<ParseResponse?> submitDeleteEventually(
{ParseClient? client, bool? autoSendSessionId}) async {
// preparation ParseCoreData
final CoreStore coreStore = ParseCoreData().getStore();
// delete
// get json parse saved objects
List<String>? listDeletes =
await coreStore.getStringList(keyParseStoreDeletes);
if (listDeletes != null) {
int firstLength = listDeletes.length;
List<String> elementsToRemove = [];
for (var element in listDeletes) {
// decode json
dynamic object = json.decode(element);
// crate parse object
ParseObject parseObject = ParseObject(object[keyVarClassName],
client: client, autoSendSessionId: autoSendSessionId)
.fromJson(object);
// delete parse object
ParseResponse deleteResponse = await parseObject.delete();
if (deleteResponse.success) {
// remove from list Deletes
elementsToRemove.add(element);
}
}
// Remove the elements after the loop
for (var elementToRemove in elementsToRemove) {
listDeletes.remove(elementToRemove);
}
// set new list deletes in coreStore
coreStore.setStringList(keyParseStoreDeletes, listDeletes);
bool success = true;
int statusCode = 200;
if (listDeletes.length == firstLength) {
// Nothing has been deleted
success = false;
statusCode = -1;
}
final ParseResponse response = ParseResponse()
..success = success
..results = <dynamic>[]
..statusCode = statusCode;
return response;
}
return null;
}