diff --git a/spec/postfach-api-facade.yaml b/spec/postfach-api-facade.yaml index ac32d8ce022f44d50c0986b906df6e32f0eeb188..708f7e16cc9e82ecf771d1401179bf40739c14ff 100644 --- a/spec/postfach-api-facade.yaml +++ b/spec/postfach-api-facade.yaml @@ -953,6 +953,7 @@ paths: nicht gefunden. /MessageExchange/v1/Receive/{messageId}/Attachment/{attachmentId}: get: + operationId: getMessageAttachment tags: - MessageExchange summary: Liefert den Inhalt eines hochgeladenen Attachments im Kontext einer @@ -1062,6 +1063,7 @@ paths: (GUIDs) wurde nicht gefunden. /MessageExchange/v1/Receive/{messageId}: get: + operationId: getMessage tags: - MessageExchange summary: Liefert den Inhalt einer Antwortnachricht. @@ -1161,6 +1163,7 @@ paths: nicht gefunden. /MessageExchange/v1/Receive: get: + operationId: receiveMessages tags: - MessageExchange summary: Liefert eine Liste von Antwortnachrichten inklusive der Anhänge. diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java index aad81c535cad05387cfed79b974cd7bfdc57709c..88a7720b790dfd4c4e4c875e677522d03c7b8ea9 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java @@ -26,8 +26,8 @@ public record OsiPostfachRemoteService( @Override public Stream<PostfachNachricht> getAllMessages() { - // TODO - return Stream.empty(); + // TODO handle exceptions? + return postfachApiFacadeService.receiveMessages(); } @Override diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java index c5af0318cfb103fe861b13349c1aef585989d986..0e9a8979c20e843e84dc63c4a4e44f076687a24b 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java @@ -1,10 +1,14 @@ package de.ozgcloud.nachrichten.postfach.osiv2.transfer; +import java.util.stream.Stream; + import org.springframework.stereotype.Service; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi; +import lombok.extern.log4j.Log4j2; +@Log4j2 @Service public record PostfachApiFacadeService( MessageExchangeApi messageExchangeApi, @@ -17,4 +21,14 @@ public record PostfachApiFacadeService( requestMapper.mapOutSendMessageRequestV2(nachricht) ).block(); } + + public Stream<PostfachNachricht> receiveMessages() { + // TODO fetch message by guid and map to PostfachNachricht + var response = messageExchangeApi.receiveMessages(100, 0) + .block(); + LOG.info("receive-message-guids: {}", String.join(", ", + response.getMessages().stream().map(message -> message.getGuid().toString()).toList())); + return Stream.empty(); + } + } diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapper.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapper.java index 393327f78a56c53c21da97d235e324aa4738a8f6..41c126a15861bc5dbfa06e06f99b327ec6563979 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapper.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapper.java @@ -4,6 +4,6 @@ import org.mapstruct.Mapper; import org.mapstruct.ReportingPolicy; @Mapper(unmappedTargetPolicy = ReportingPolicy.ERROR) -public class ResponseMapper { +public interface ResponseMapper { } diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceRemoteITCase.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceRemoteITCase.java index b85d5225eecb974c503e3e1a628fe25a2032fa33..78c6a2f4e5e0384195bf93c99957aef281af2077 100644 --- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceRemoteITCase.java +++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceRemoteITCase.java @@ -15,8 +15,6 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; -import de.ozgcloud.nachrichten.postfach.PostfachNachricht; - @SpringBootTest(classes = TestApplication.class, webEnvironment = SpringBootTest.WebEnvironment.NONE) @ActiveProfiles("itcase") @EnabledIfEnvironmentVariable(named = "SH_STAGE_CLIENT_SECRET", matches = ".+") @@ -25,11 +23,6 @@ public class OsiPostfachRemoteServiceRemoteITCase { @Autowired private OsiPostfachRemoteService osiPostfachRemoteService; - private static final String MESSAGE_ID = "message-id"; - private final PostfachNachricht postfachNachricht = PostfachNachricht.builder() - .messageId(MESSAGE_ID) - .build(); - @DynamicPropertySource static void dynamicProperties(DynamicPropertyRegistry registry) { registry.add( @@ -61,7 +54,7 @@ public class OsiPostfachRemoteServiceRemoteITCase { @DisplayName("should not fail") @Test void shouldNotFail() { - assertThatCode(() -> osiPostfachRemoteService.sendMessage(postfachNachricht)) + assertThatCode(() -> osiPostfachRemoteService.getAllMessages()) .doesNotThrowAnyException(); }