getQuery<ID extends Object?, T extends Object?> method
Future<QuerySnapshot<ID, T> >
getQuery<ID extends Object?, T extends Object?>(
- Query<
ID, T> query
override
Reads the document
Implementation
@override
Future<QuerySnapshot<ID, T>> getQuery<ID extends Object?, T extends Object?>(
Query<ID, T> query) async {
final queryParameters = <String, dynamic>{};
for (var operation in query.compareOperations) {
if (operation.compareOperator != CompareOperator.isEqualTo) {
throw 'RestDelegate can work only with CompareOperator.isEqualTo';
}
queryParameters[operation.field.toString()] = operation.valueToCompareTo;
}
return Dio()
.get('$endpoint/${query.collectionPath}',
queryParameters: queryParameters, options: requestOptions)
.then(
(response) => QuerySnapshot(
(response.data['data'] as Iterable)
.map(
(element) => DocumentSnapshot<ID, T>(
element?[idKey] as ID ?? '' as ID,
element,
DocumentReference(
query.collectionPath,
element?[idKey] as ID ?? '' as ID,
this,
),
),
)
.toList(),
),
);
}