diff --git a/src/main/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapper.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java similarity index 90% rename from src/main/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapper.java rename to src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java index f704b435ee7a72fc5200b9c842071cf87b91873f..94e6d52038b3a92512f0da44c586ecf244da4e67 100644 --- a/src/main/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapper.java +++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapper.java @@ -25,17 +25,19 @@ import de.ozgcloud.nachrichten.postfach.antragraum.GrpcRueckfrage; import org.apache.commons.collections.MapUtils; import org.mapstruct.Mapper; +import java.time.format.DateTimeFormatter; import java.util.Collections; import java.util.Map; @Mapper -public interface NachrichtMapper { +public interface AntragraumNachrichtMapper { String DEFAULT_STATUS = "NEU"; default GrpcRueckfrage toGrpc(PostfachNachricht postfachNachricht) { return GrpcRueckfrage.newBuilder() + .setId(postfachNachricht.getId()) .setText(postfachNachricht.getMailBody()) - .setSendAt(postfachNachricht.getSentAt().toString()) + .setSendAt(postfachNachricht.getSentAt().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)) .setVorgangName(postfachNachricht.getSubject()) .setVorgangId(postfachNachricht.getVorgangId()) .setStatus(DEFAULT_STATUS) diff --git a/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcService.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcService.java index bc623a5bf19d2ae31eadda56dfd43e7c751f2fe7..3c76ef83f646a18b17002951de3ceb359db7a39e 100644 --- a/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcService.java +++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcService.java @@ -33,7 +33,7 @@ import org.apache.commons.lang3.NotImplementedException; @RequiredArgsConstructor public class AntragsraumGrpcService extends AntragraumServiceGrpc.AntragraumServiceImplBase { private final PersistPostfachNachrichtService postfachNachrichtService; - private final NachrichtMapper mapper; + private final AntragraumNachrichtMapper mapper; private final Saml2Verifier verifier; private final Saml2Parser parser; private final Saml2Decrypter decrypter; @@ -54,9 +54,11 @@ public class AntragsraumGrpcService extends AntragraumServiceGrpc.AntragraumServ public void getRueckfrage(GrpcGetRueckfrageRequest request, StreamObserver<GrpcGetRueckfrageResponse> streamObserver) { verifyToken(request.getSamlToken()); - var response = GrpcGetRueckfrageResponse.newBuilder().setRueckfrage(mapper.toGrpc(postfachNachrichtService.getById(request.getRueckfrageId()))).build(); + String postfachId = decrypter.decryptPostfachId(parser.parse(request.getSamlToken())); + var rueckfragen = postfachNachrichtService.findRueckfragen(postfachId); + + rueckfragen.forEach(rueckfrage -> streamObserver.onNext(GrpcGetRueckfrageResponse.newBuilder().setRueckfrage(mapper.toGrpc(rueckfrage)).build())); - streamObserver.onNext(response); streamObserver.onCompleted(); } diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapperTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java similarity index 85% rename from src/test/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapperTest.java rename to src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java index d90fa112cb9a6becc76b52c8ba59d428caec3fa5..ef14bb5b6c5dba0f67889d74bb49c0c5b7ffc356 100644 --- a/src/test/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapperTest.java +++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumNachrichtMapperTest.java @@ -28,9 +28,9 @@ import org.mapstruct.factory.Mappers; import static org.assertj.core.api.Assertions.*; -class NachrichtMapperTest { +class AntragraumNachrichtMapperTest { - NachrichtMapper mapper = Mappers.getMapper(NachrichtMapper.class); + AntragraumNachrichtMapper mapper = Mappers.getMapper(AntragraumNachrichtMapper.class); @Test void shouldMapVorgangId() { @@ -39,6 +39,13 @@ class NachrichtMapperTest { assertThat(result.getVorgangId()).isEqualTo(MessageTestFactory.VORGANG_ID); } + @Test + void shouldMapId() { + var result = map(); + + assertThat(result.getId()).isEqualTo(PostfachNachrichtTestFactory.ID); + } + @Test void shouldMapVorgangName() { var result = map(); @@ -50,7 +57,7 @@ class NachrichtMapperTest { void shouldMapStatus() { var result = map(); - assertThat(result.getStatus()).isEqualTo(NachrichtMapper.DEFAULT_STATUS); + assertThat(result.getStatus()).isEqualTo(AntragraumNachrichtMapper.DEFAULT_STATUS); } @Test diff --git a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcServiceTest.java index 102210262a05e361882cf135d2705f1d1195aa35..e1e59fe31a1f7632fe17d9d83060918784ab0d7f 100644 --- a/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcServiceTest.java +++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcServiceTest.java @@ -45,7 +45,7 @@ class AntragsraumGrpcServiceTest { @Mock private PersistPostfachNachrichtService postfachNachrichtService; @Mock - private NachrichtMapper mapper; + private AntragraumNachrichtMapper mapper; @Mock private Saml2Verifier verifier; @Mock