X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/7eb7ee44f2dd85431bf8077965f73cf14d477000..HEAD:/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java diff --git a/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java b/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java index c32de61a..8ab8ea83 100644 --- a/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java +++ b/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java @@ -17,7 +17,10 @@ public record JsonMessageEnvelope( String sourceName, Integer sourceDevice, long timestamp, + long serverReceivedTimestamp, + long serverDeliveredTimestamp, @JsonInclude(JsonInclude.Include.NON_NULL) JsonDataMessage dataMessage, + @JsonInclude(JsonInclude.Include.NON_NULL) JsonEditMessage editMessage, @JsonInclude(JsonInclude.Include.NON_NULL) JsonStoryMessage storyMessage, @JsonInclude(JsonInclude.Include.NON_NULL) JsonSyncMessage syncMessage, @JsonInclude(JsonInclude.Include.NON_NULL) JsonCallMessage callMessage, @@ -25,9 +28,7 @@ public record JsonMessageEnvelope( @JsonInclude(JsonInclude.Include.NON_NULL) JsonTypingMessage typingMessage ) { - public static JsonMessageEnvelope from( - MessageEnvelope envelope, Throwable exception, Manager m - ) { + public static JsonMessageEnvelope from(MessageEnvelope envelope, Throwable exception, Manager m) { final RecipientAddress sourceAddress; final Integer sourceDevice; if (envelope.sourceAddress().isPresent()) { @@ -57,12 +58,15 @@ public record JsonMessageEnvelope( sourceName = null; } final var timestamp = envelope.timestamp(); + final var serverReceivedTimestamp = envelope.serverReceivedTimestamp(); + final var serverDeliveredTimestamp = envelope.serverDeliveredTimestamp(); final var receiptMessage = envelope.receipt().map(JsonReceiptMessage::from).orElse(null); final var typingMessage = envelope.typing().map(JsonTypingMessage::from).orElse(null); - final var dataMessage = envelope.data().map(JsonDataMessage::from).orElse(null); + final var dataMessage = envelope.data().map(data -> JsonDataMessage.from(data, m)).orElse(null); + final var editMessage = envelope.edit().map(data -> JsonEditMessage.from(data, m)).orElse(null); final var storyMessage = envelope.story().map(JsonStoryMessage::from).orElse(null); - final var syncMessage = envelope.sync().map(JsonSyncMessage::from).orElse(null); + final var syncMessage = envelope.sync().map(data -> JsonSyncMessage.from(data, m)).orElse(null); final var callMessage = envelope.call().map(JsonCallMessage::from).orElse(null); return new JsonMessageEnvelope(source, @@ -71,7 +75,10 @@ public record JsonMessageEnvelope( sourceName, sourceDevice, timestamp, + serverReceivedTimestamp, + serverDeliveredTimestamp, dataMessage, + editMessage, storyMessage, syncMessage, callMessage,