clear method
Method to clear data with optional data source builder.
Example:
repository.clear(
params: Params({"field1": "value1", "field2": "value2"}),
);
Implementation
@override
Future<Response<T>> clear({
DataFieldParams? params,
Object? args,
}) async {
return execute(() {
return source(params).get().then((value) {
if (!value.exists) return Response(status: Status.notFound);
final ids =
value.children.map((e) => e.key).whereType<String>().toList();
if (ids.isEmpty) return Response(status: Status.notFound);
return deleteByIds(ids, params: params).then((deleted) {
return deleted.copy(
backups: value.children.map((e) => build(e.value)).toList(),
snapshot: value,
status: Status.ok,
);
});
});
});
}