diff --git a/gedbrowserng/src/main/java/org/schoellerfamily/gedbrowser/api/controller/PersonsController.java b/gedbrowserng/src/main/java/org/schoellerfamily/gedbrowser/api/controller/PersonsController.java index a7e62add..14a4d091 100644 --- a/gedbrowserng/src/main/java/org/schoellerfamily/gedbrowser/api/controller/PersonsController.java +++ b/gedbrowserng/src/main/java/org/schoellerfamily/gedbrowser/api/controller/PersonsController.java @@ -83,14 +83,13 @@ public ApiPerson create( */ @GetMapping(value = "/v1/dbs/{db}/persons") @ResponseBody - public List read( - final HttpServletRequest request, + public List read(final HttpServletRequest request, @PathVariable final String db) { final List allPersons = ((PersonCrud) crud()).read(db); - return hide(request, db, allPersons); + return hide(request, allPersons); } - private List hide(final HttpServletRequest request, final String db, + private List hide(final HttpServletRequest request, final List allPersons) { logger.info("Start hiding list of persons"); final List list = new ArrayList<>(); @@ -99,13 +98,13 @@ private List hide(final HttpServletRequest request, final String db, final boolean hasAdmin = requestUserUtil.hasAdmin(); for (final PersonDocument doc : allPersons) { final Person person = doc.getGedObject(); - if (shouldHideLiving(person, hasUser)) { + if (shouldHideConfidential(person, hasAdmin)) { continue; } - if (shouldHideConfidential(person, hasAdmin)) { + if (shouldHideLiving(person, hasUser)) { continue; } - OperationsEnabler enabler = (OperationsEnabler) crud(); + final OperationsEnabler enabler = (OperationsEnabler) crud(); list.add((ApiPerson) enabler.getD2dm().convert(doc)); } logger.info("Done hiding list of persons"); @@ -126,12 +125,12 @@ public ApiPerson read( @PathVariable final String id) { final Person person = ((PersonCrud) crud()).read(db, id).getGedObject(); final RequestUserUtil util = new RequestUserUtil(request, userService); - if (shouldHideLiving(person, util.hasUser())) { - return createDummyLivingPerson(id); - } if (shouldHideConfidential(person, util.hasAdmin())) { throw new ObjectNotFoundException("person not found", "ApiPerson", db, id); } + if (shouldHideLiving(person, util.hasUser())) { + return createDummyLivingPerson(id); + } logger.info("entering read person: " + id); return crud().readOne(db, id); }