X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/5cccf521032954d7ad8e3f70e3cbef2ce1293e85..0a287b0b3eef6591fed86fd4b39506e4d32eb69c:/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 264b7fce..7ba4b307 100644 --- a/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java +++ b/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java @@ -3,10 +3,10 @@ package org.asamk.signal.json; import com.fasterxml.jackson.annotation.JsonInclude; import org.asamk.signal.manager.Manager; -import org.asamk.signal.manager.api.UntrustedIdentityException; import org.asamk.signal.manager.api.MessageEnvelope; +import org.asamk.signal.manager.api.RecipientAddress; import org.asamk.signal.manager.api.RecipientIdentifier; -import org.asamk.signal.manager.storage.recipients.RecipientAddress; +import org.asamk.signal.manager.api.UntrustedIdentityException; import java.util.UUID; @@ -17,7 +17,11 @@ 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, @JsonInclude(JsonInclude.Include.NON_NULL) JsonReceiptMessage receiptMessage, @@ -48,8 +52,7 @@ public record JsonMessageEnvelope( source = sourceAddress.getLegacyIdentifier(); sourceNumber = sourceAddress.number().orElse(null); sourceUuid = sourceAddress.uuid().map(UUID::toString).orElse(null); - sourceName = m.getContactOrProfileName(RecipientIdentifier.Single.fromAddress(envelope.sourceAddress() - .get())); + sourceName = m.getContactOrProfileName(RecipientIdentifier.Single.fromAddress(sourceAddress)); } else { source = null; sourceNumber = null; @@ -57,11 +60,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 syncMessage = envelope.sync().map(JsonSyncMessage::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(data -> JsonSyncMessage.from(data, m)).orElse(null); final var callMessage = envelope.call().map(JsonCallMessage::from).orElse(null); return new JsonMessageEnvelope(source, @@ -70,7 +77,11 @@ public record JsonMessageEnvelope( sourceName, sourceDevice, timestamp, + serverReceivedTimestamp, + serverDeliveredTimestamp, dataMessage, + editMessage, + storyMessage, syncMessage, callMessage, receiptMessage,