queryCollection function

Query<Map<String, dynamic>> queryCollection(
  1. CollectionReference<Map<String, dynamic>> collection,
  2. PumaCondition condition
)

Implementation

Query<Map<String, dynamic>> queryCollection(
  CollectionReference<Map<String, dynamic>> collection,
  PumaCondition condition,
) {
  switch (condition.type) {
    case PumaConditionType.isEqualTo:
      return collection.where(condition.field, isEqualTo: condition.value);
    case PumaConditionType.isNotEqualTo:
      return collection.where(condition.field, isNotEqualTo: condition.value);
    case PumaConditionType.isLessThan:
      return collection.where(condition.field, isLessThan: condition.value);
    case PumaConditionType.isLessThanOrEqualTo:
      return collection.where(condition.field,
          isLessThanOrEqualTo: condition.value);
    case PumaConditionType.isGreaterThan:
      return collection.where(condition.field, isGreaterThan: condition.value);
    case PumaConditionType.arrayContains:
      return collection.where(condition.field, arrayContains: condition.value);
    case PumaConditionType.arrayContainsAny:
      return collection.where(condition.field,
          arrayContainsAny: condition.value);
    case PumaConditionType.whereIn:
      return collection.where(condition.field, whereIn: condition.value);
    case PumaConditionType.whereNotIn:
      return collection.where(condition.field, whereNotIn: condition.value);
    case PumaConditionType.isNull:
      return collection.where(condition.field, isNull: condition.value);
    default:
      return collection.limit(1);
  }
}