batchUpdate method

  1. @override
Future<void> batchUpdate(
  1. List<FirebaseServiceModel> models
)
override

Implementation

@override
Future<void> batchUpdate(List<FirebaseServiceModel> models) async {
  final batch = _firestore.batch();
  for (var model in models) {
    switch (model.type) {
      case BatchTypeEnum.create:
        batch.set(model.ref, model.data);
        break;
      case BatchTypeEnum.update:
        batch.update(model.ref, model.data);
        break;
      case BatchTypeEnum.delete:
        batch.delete(model.ref);
        break;
    }
  }
  try {
    await batch.commit();
  } catch (e) {
    _logError('batchUpdate', e);
    throw FirebaseServiceException(
        'Failed to perform batch update', 'batchUpdate', e);
  }
}