query method

Future<FlusmicResponse> query(
  1. List<Predicate> predicates, {
  2. List<CustomPredicatePath>? fetch,
  3. List<CustomPredicatePath>? fetchLinks,
  4. List<Ordering>? orderings,
  5. String? after,
  6. String? authToken,
  7. String? language,
  8. String? graphQuery,
  9. int? page,
  10. int? pageSize,
})

Fetch by query Get result by query using predicates

Implementation

Future<FlusmicResponse> query(
  List<Predicate> predicates, {
  List<CustomPredicatePath>? fetch,
  List<CustomPredicatePath>? fetchLinks,
  List<Ordering>? orderings,
  String? after,
  String? authToken,
  String? language,
  String? graphQuery,
  int? page,
  int? pageSize,
}) async {
  try {
    final api = await getApi(authToken: authToken);
    final response = await _client.get<dynamic>(
      _generateUrl(predicates, api.refs.first.ref),
      queryParameters: _generateParams(
        after: after,
        authToken: authToken,
        fetch: fetch,
        fetchLinks: fetchLinks,
        graphQuery: graphQuery,
        language: language,
        orderings: orderings,
        page: page,
        pageSize: pageSize,
      ),
    );
    return FlusmicResponse.fromJson(response.data as Map<String, dynamic>);
  } on DioError catch (error) {
    throw FlusmicError.fromResponse(error.response);
  } on TypeError catch (error) {
    throw FlusmicError.fromError(error);
  } on CheckedFromJsonException catch (error) {
    throw FlusmicError.fromException(error);
  }
}