From dfa6bd2beda73e58868503c13f81cbd806aeb762 Mon Sep 17 00:00:00 2001 From: Michael Hoennig Date: Wed, 3 Apr 2019 18:32:10 +0200 Subject: [PATCH] spike for isOwnedByLoginUser --- .../hsadminng/service/ContactQueryService.java | 8 +++++++- .../hsadminng/service/dto/ContactDTO.java | 12 +++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/hostsharing/hsadminng/service/ContactQueryService.java b/src/main/java/org/hostsharing/hsadminng/service/ContactQueryService.java index 6c153b1b..a7651aa9 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/ContactQueryService.java +++ b/src/main/java/org/hostsharing/hsadminng/service/ContactQueryService.java @@ -65,7 +65,13 @@ public class ContactQueryService extends QueryService { log.debug("find by criteria : {}, page: {}", criteria, page); final Specification specification = createSpecification(criteria); return contactRepository.findAll(specification, page) - .map(contactMapper::toDto); + .map(contactMapper::toDto) + .map((dto) -> determineAccessRights(dto)); + } + + private ContactDTO determineAccessRights(ContactDTO dto) { + dto.setOwnedByLoginUser(dto.getLastName().startsWith("Owner")); + return dto; } /** diff --git a/src/main/java/org/hostsharing/hsadminng/service/dto/ContactDTO.java b/src/main/java/org/hostsharing/hsadminng/service/dto/ContactDTO.java index c5a7ba0d..7e4fbc76 100644 --- a/src/main/java/org/hostsharing/hsadminng/service/dto/ContactDTO.java +++ b/src/main/java/org/hostsharing/hsadminng/service/dto/ContactDTO.java @@ -1,4 +1,5 @@ package org.hostsharing.hsadminng.service.dto; + import javax.validation.constraints.*; import java.io.Serializable; import java.util.Objects; @@ -8,6 +9,8 @@ import java.util.Objects; */ public class ContactDTO implements Serializable { + private boolean isOwnedByLoginUser; + private Long id; @NotNull @@ -22,7 +25,6 @@ public class ContactDTO implements Serializable { @Size(max = 80) private String email; - public Long getId() { return id; } @@ -85,4 +87,12 @@ public class ContactDTO implements Serializable { ", email='" + getEmail() + "'" + "}"; } + + public boolean isOwnedByLoginUser() { + return isOwnedByLoginUser; + } + + public void setOwnedByLoginUser(boolean ownedByLoginUser) { + isOwnedByLoginUser = ownedByLoginUser; + } }