X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/62687d103fab1ade650b920008060c220361d581..43face8ead95344e3d0dcbc94c6cf85959f26203:/src/main/java/org/asamk/signal/json/JsonDataMessage.java diff --git a/src/main/java/org/asamk/signal/json/JsonDataMessage.java b/src/main/java/org/asamk/signal/json/JsonDataMessage.java index 46328466..5511f531 100644 --- a/src/main/java/org/asamk/signal/json/JsonDataMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonDataMessage.java @@ -15,17 +15,22 @@ record JsonDataMessage( @JsonInclude(JsonInclude.Include.NON_NULL) JsonQuote quote, @JsonInclude(JsonInclude.Include.NON_NULL) JsonPayment payment, @JsonInclude(JsonInclude.Include.NON_NULL) List mentions, + @JsonInclude(JsonInclude.Include.NON_NULL) List previews, @JsonInclude(JsonInclude.Include.NON_NULL) List attachments, @JsonInclude(JsonInclude.Include.NON_NULL) JsonSticker sticker, @JsonInclude(JsonInclude.Include.NON_NULL) JsonRemoteDelete remoteDelete, @JsonInclude(JsonInclude.Include.NON_NULL) List contacts, - @JsonInclude(JsonInclude.Include.NON_NULL) JsonGroupInfo groupInfo + @JsonInclude(JsonInclude.Include.NON_NULL) JsonGroupInfo groupInfo, + @JsonInclude(JsonInclude.Include.NON_NULL) JsonStoryContext storyContext ) { static JsonDataMessage from(MessageEnvelope.Data dataMessage) { final var timestamp = dataMessage.timestamp(); final var groupInfo = dataMessage.groupContext().isPresent() ? JsonGroupInfo.from(dataMessage.groupContext() .get()) : null; + final var storyContext = dataMessage.storyContext().isPresent() + ? JsonStoryContext.from(dataMessage.storyContext().get()) + : null; final var message = dataMessage.body().orElse(null); final var expiresInSeconds = dataMessage.expiresInSeconds(); final var viewOnce = dataMessage.isViewOnce(); @@ -36,6 +41,10 @@ record JsonDataMessage( .stream() .map(JsonMention::from) .toList() : null; + final var previews = dataMessage.previews().size() > 0 ? dataMessage.previews() + .stream() + .map(JsonPreview::from) + .toList() : null; final var remoteDelete = dataMessage.remoteDeleteId().isPresent() ? new JsonRemoteDelete(dataMessage.remoteDeleteId().get()) : null; @@ -57,10 +66,12 @@ record JsonDataMessage( quote, payment, mentions, + previews, attachments, sticker, remoteDelete, contacts, - groupInfo); + groupInfo, + storyContext); } }