hasAnyDocuments<T> method

Future<bool> hasAnyDocuments<T>({
  1. required Query<Object?> query,
  2. required T? onDocumentSnapshot(
    1. DocumentSnapshot<Object?> documentSnapshot
    ),
})

Retrieves true if there are more than one document within specific query.

query is a query. onDocumentSnapshot is a method with return type of an object.

Implementation

Future<bool> hasAnyDocuments<T>({
  required Query query,
  required T? Function(DocumentSnapshot documentSnapshot) onDocumentSnapshot,
}) async {
  _loggingService.log('FirestoreHelper.hasAnyDocuments');

  final elements = await getDocuments<T>(
    query: query.limit(1),
    logReference: 'FirestoreHelper.hasAnyDocuments',
    onDocumentSnapshot: (documentSnapshot) => onDocumentSnapshot(documentSnapshot),
  );

  if (elements == null || elements.isEmpty) {
    _loggingService.log('FirestoreHelper.hasAnyDocuments: No more elements');
    return false;
  } else {
    _loggingService.log('FirestoreHelper.hasAnyDocuments: More elements exists.');
    return true;
  }
}