searchData method

Future<List<QueryDocumentSnapshot<Object?>>> searchData({
  1. required String collection,
  2. String? ownerUID,
  3. required String search,
  4. bool isErrorDialog = true,
  5. dynamic onError(
    1. String? message
    )?,
})

Implementation

Future<List<QueryDocumentSnapshot>> searchData({
  required String collection,
  String? ownerUID,
  required String search,
  bool isErrorDialog = true,
  Function(String? message)? onError,
}) async {
  // try {
  Query _query = _firestore.collection(collection);

  if (ownerUID != null) {
    _query = _query.where("ownerUID", isEqualTo: ownerUID);
  }

  _query =
      _query.where('searchIndex', arrayContains: search.toLowerCase().trim());

  QuerySnapshot _doc = await _query
      .orderBy("createdAt", descending: true)
      .get()
      .catchError((error) {
    if (isErrorDialog) GetxFire.openDialog.messageError(error.toString());
    if (onError != null) onError(error);
    // return null;
  });
  return _doc.docs;
  // } catch (e) {
  //   GetxFire.openDialog.messageError(e.toString());
  //   rethrow;
  // }
}