dbGetAllDocumentInTable<T> function

Future<List<T>> dbGetAllDocumentInTable<T>(
  1. String tableName, {
  2. String? field1,
  3. String? isEqualTo1,
  4. String? arrayContains1,
})

Implementation

Future<List<T>> dbGetAllDocumentInTable<T>(String tableName, {
      String? field1, String? isEqualTo1, String? arrayContains1
  }) async{
  // List<T> t = [];

  QuerySnapshot<Map<String, dynamic>>? querySnapshot;
  if (field1 != null && (isEqualTo1 != null || arrayContains1 != null)){
    if (isEqualTo1 != null)
      querySnapshot = await FirebaseFirestore.instance.collection(tableName).where(field1, isEqualTo: isEqualTo1).get();
    if (arrayContains1 != null)
      querySnapshot = await FirebaseFirestore.instance.collection(tableName).where(field1, arrayContains: arrayContains1).get();
  }else
    querySnapshot = await FirebaseFirestore.instance.collection(tableName).get();

  if (querySnapshot == null)
    return [];

  addStat(tableName, querySnapshot.docs.length);
  return  _makeList(querySnapshot);
}