diff --git a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapper.java b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapper.java index 660c438c4d9cfbbb5bf95b79bcbe24e695bcfd76..039696e7823b24b9c34e1da5efbc1a9ee155bad9 100644 --- a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapper.java +++ b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapper.java @@ -104,6 +104,7 @@ class NachrichtMapper { .map(answer -> { var builder = ReplyNachricht.builder() .id(rueckfrage.getId()) + .antwortId(answer.getRueckfrageId()) .nachrichtEventId(id) .message(answer.getAnswerText()) .attachments(getAttachments(answer.getAttachmentFileId(), answer.getRueckfrageId(), id)); diff --git a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/ReplyNachricht.java b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/ReplyNachricht.java index 6c712bb36bcb222275c89a2e163f74c33d404966..d22d0df368a4acc418bf01b828e41bb7cab9f62c 100644 --- a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/ReplyNachricht.java +++ b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/ReplyNachricht.java @@ -34,6 +34,22 @@ import lombok.Builder; @JsonInclude(JsonInclude.Include.NON_NULL) @Builder(toBuilder = true) record ReplyNachricht( + @Size(max = 24, message = "An id is too long") + @Schema(description = "The id of the Rückfrage", + name = "id", + type = "string", + example = "66af924b4f1a2560298b45ab" + ) + @NotEmpty + String id, + @Size(max = 24, message = "An id is too long") + @Schema(description = "The id of the Antwort", + name = "id", + type = "string", + example = "66af924b4f1a2560298b45ab" + ) + @NotEmpty + String antwortId, @Size(max = 36, message = "An id is too long") @Schema(description = "The id of the postfach", name = "postfachId", @@ -48,14 +64,6 @@ record ReplyNachricht( example = "60af924b4f1a2560298b4567" ) String nachrichtEventId, - @Size(max = 24, message = "An id is too long") - @Schema(description = "The id of the Rückfrage", - name = "id", - type = "string", - example = "66af924b4f1a2560298b45ab" - ) - @NotEmpty - String id, @Schema(description = "The answer to the rueckfrage.", name = "message", type = "string", @@ -73,6 +81,7 @@ record ReplyNachricht( "postfachId='" + postfachId + '\'' + ", nachrichtEventId='" + nachrichtEventId + '\'' + ", id='" + id + '\'' + + ", antwortId='" + antwortId + '\'' + ", attachments=" + attachments + ", message=<...masked for privacy..>" + '}'; diff --git a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumproxyGrpcRueckfrageTestFactory.java b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumproxyGrpcRueckfrageTestFactory.java index 5f7963f0b92298f4b51ba49f1b849d1543a4ab25..7d85279f39764541af9e381c0d3447f844840277 100644 --- a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumproxyGrpcRueckfrageTestFactory.java +++ b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumproxyGrpcRueckfrageTestFactory.java @@ -40,6 +40,7 @@ public class AntragraumproxyGrpcRueckfrageTestFactory { public static final String VORGANG_ID = UUID.randomUUID().toString(); public static final String VORGANG_NAME = NachrichtTestFactory.VORGANG_TITLE; public static final String ANSWER_FILE_ID = UUID.randomUUID().toString(); + public static final String ANSWER_ID = UUID.randomUUID().toString(); public static final String TEXT = """ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, @@ -91,6 +92,7 @@ public class AntragraumproxyGrpcRueckfrageTestFactory { static AntragraumproxyGrpcRueckfrageAnswer createRueckfrageAnswer() { var antwort = new AntragraumproxyGrpcRueckfrageAnswer(); + antwort.setRueckfrageId(ANSWER_ID); antwort.setAnswerText(ANSWER_TEXT); antwort.setSentAt(SEND_AT); antwort.setAttachmentFileId(List.of(ANSWER_FILE_ID)); diff --git a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapperTest.java b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapperTest.java index 6b8a2aa6499b97fbf63eec72a15540f5dde22739..e4b967011ef35fd0de5b51901d23671997c2443f 100644 --- a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapperTest.java +++ b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapperTest.java @@ -179,6 +179,13 @@ class NachrichtMapperTest { assertThat(nachricht.replyNachrichten()).isEmpty(); } + @Test + void shouldMapAnswerNachrichtId() { + var nachricht = mapper.fromRestRueckfrage(answeredRueckfrage, NachrichtTestFactory.NACHRICHT_EVENT_ID); + + assertThat(nachricht.replyNachrichten().getFirst().antwortId()).isEqualTo(AntragraumproxyGrpcRueckfrageTestFactory.ANSWER_ID); + } + @Test void shouldMapAnswerNachrichtText() { var nachricht = mapper.fromRestRueckfrage(answeredRueckfrage, NachrichtTestFactory.NACHRICHT_EVENT_ID); diff --git a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/ReplyNachrichtTestFactory.java b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/ReplyNachrichtTestFactory.java index ca44f4f85426e5e143179ad91a164fa8ef4e88aa..072cc052aa28adf3def265ca47a54e4eb2dcb417 100644 --- a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/ReplyNachrichtTestFactory.java +++ b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/ReplyNachrichtTestFactory.java @@ -23,7 +23,8 @@ package de.ozgcloud.antragsraum.nachricht; public class ReplyNachrichtTestFactory { public static final String ID = "60af924b4f1a2560298b4567"; - public static final String NACHRICHT_EVENT_ID = "60af924b4f1a2560298b4567"; + public static final String ANTWORT_ID = "60af924b4f1a2560298b4568"; + public static final String NACHRICHT_EVENT_ID = "60af924b4f1a2560298b4569"; public static final String TEXT = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam"; static ReplyNachricht create() { @@ -33,6 +34,7 @@ public class ReplyNachrichtTestFactory { static ReplyNachricht.ReplyNachrichtBuilder createBuilder() { return ReplyNachricht.builder() .id(ID) + .antwortId(ANTWORT_ID) .nachrichtEventId(NACHRICHT_EVENT_ID) .postfachId(NachrichtTestFactory.POSTFACH_ID) .message(TEXT);