exists<TModel extends RestModel> method

  1. @override
Future<bool> exists<TModel extends RestModel>({
  1. Query? query,
  2. ModelRepository<RestModel>? repository,
})

Whether a model instance is present. null is returned when existence is unknown. The model instance is not hydrated in the function output; a bool variant (e.g. List<bool>, Map<TModel, bool>) should be returned.

Implementation

@override
Future<bool> exists<TModel extends RestModel>({query, repository}) async {
  final adapter = modelDictionary.adapterFor[TModel]!;
  final fromAdapter = adapter.restRequest != null ? adapter.restRequest!(query, null).get : null;
  final request = (query?.providerArgs['request'] as RestRequest?) ?? fromAdapter;

  final url = request?.url;
  if (url == null) return false;

  final resp = await _brickRequestToHttpRequest(
    request!,
    QueryAction.get,
    query: query,
  );
  return statusCodeIsSuccessful(resp.statusCode);
}