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;
}