updateAll method

  1. @override
Future<Iterable<T>> updateAll(
  1. Iterable<IdentifiedObject<T>> items
)
override

Updates multiple items in the repository.

Implementation

@override
Future<Iterable<T>> updateAll(Iterable<IdentifiedObject<T>> items) async {
  final batch = store.batch();
  for (final item in items) {
    final existingFirestoreRef = store.doc(_normaliseToFullPath(item.id));
    final json = RepositoryFirestore.typeConversionToFirebase.convert(
      source: toFirestore(item.object),
    );
    batch.set(
      existingFirestoreRef,
      json,
      firestore.SetOptions(merge: true),
    );
  }
  await batch.commit();
  return items.map((e) => e.object).toList(growable: false);
}