idExistsInService function

AngelMatcher idExistsInService(
  1. String servicePath, {
  2. String idField = 'id',
  3. String? description,
})

Returns an AngelMatcher that verifies that an item with the given idField exists in the service at servicePath, without throwing a 404 or returning null.

Implementation

AngelMatcher idExistsInService(
  String servicePath, {
  String idField = 'id',
  String? description,
}) {
  return predicateWithAngel((key, item, app) async {
    try {
      var result = await app.findService(servicePath)?.read(item);
      return result != null;
    } on AngelHttpException catch (e) {
      if (e.statusCode == 404) {
        return false;
      } else {
        rethrow;
      }
    }
  }, description ?? 'exists in service $servicePath');
}