batchDelete method
Implementation
@override
Future<void> batchDelete(List<Id> ids) async {
final soft = config.deletedAtField != null;
for (final id in ids) {
final docId = config.idToString(id);
if (soft) {
final patch = <String, dynamic>{
config.deletedAtField!: DateTime.now().toUtc().toIso8601String(),
};
if (config.injectScopeOnWrite && config.defaultScope != null) {
final scopeMap =
config.scopeFieldsBuilder?.call(config.defaultScope!) ??
{
config.scopeNameField: config.defaultScope!.name,
config.scopeKeysField: config.defaultScope!.keys,
};
patch.addAll(scopeMap);
}
try {
await config.tablesDB.updateRow(
databaseId: config.databaseId,
tableId: config.tableId,
rowId: docId,
data: patch,
);
} on aw.AppwriteException {
// ignore
}
} else {
try {
await config.tablesDB.deleteRow(
databaseId: config.databaseId,
tableId: config.tableId,
rowId: docId,
);
} on aw.AppwriteException {
// ignore
}
}
}
}