applySingleFieldQueryParameter method
Implementation
Query<Object?> applySingleFieldQueryParameter(
Query<Object?> query,
QueryParameter param,
) {
String? field = param.field;
if (field == null) {
return query;
}
switch (param.type) {
case QueryType.where:
return query.where(field, isEqualTo: param.value);
case QueryType.whereIsNotEqualTo:
return query.where(field, isNotEqualTo: param.value);
case QueryType.whereArrayContains:
return query.where(field, arrayContains: param.value);
case QueryType.whereArrayContainsAny:
return query.where(field, arrayContainsAny: param.value);
case QueryType.whereGreaterThan:
return query.where(field, isGreaterThan: param.value);
case QueryType.whereGreaterThanOrEqual:
return query.where(field, isGreaterThanOrEqualTo: param.value);
case QueryType.whereLessThan:
return query.where(field, isLessThan: param.value);
case QueryType.whereLessThanOrEqual:
return query.where(field, isLessThanOrEqualTo: param.value);
case QueryType.whereIn:
return query.where(field, whereIn: param.value);
case QueryType.orderBy:
return query.orderBy(field, descending: param.value ?? false);
case QueryType.ascendingOrder:
return query.orderBy(field, descending: false);
case QueryType.descendingOrder:
return query.orderBy(field, descending: true);
default:
return query;
}
}