X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/a54fc92c05c5c8b532e029e82eedd73f9440e138..ce7aa580b6f0580cdcf7fd68fcc8efba737d21ed:/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java diff --git a/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java b/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java index c6571a93..98139c84 100644 --- a/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java @@ -1,21 +1,37 @@ package org.asamk.signal.json; +import com.fasterxml.jackson.annotation.JsonUnwrapped; + import org.asamk.Signal; +import org.asamk.signal.manager.Manager; import org.whispersystems.signalservice.api.messages.multidevice.SentTranscriptMessage; -class JsonSyncDataMessage extends JsonDataMessage { +import static org.asamk.signal.util.Util.getLegacyIdentifier; - String destination; +record JsonSyncDataMessage( + @Deprecated String destination, + String destinationNumber, + String destinationUuid, + @JsonUnwrapped JsonDataMessage dataMessage +) { - JsonSyncDataMessage(SentTranscriptMessage transcriptMessage) { - super(transcriptMessage.getMessage()); + static JsonSyncDataMessage from(SentTranscriptMessage transcriptMessage, Manager m) { if (transcriptMessage.getDestination().isPresent()) { - this.destination = transcriptMessage.getDestination().get().getLegacyIdentifier(); + final var address = transcriptMessage.getDestination().get(); + return new JsonSyncDataMessage(getLegacyIdentifier(address), + address.getNumber().orNull(), + address.getUuid().toString(), + JsonDataMessage.from(transcriptMessage.getMessage(), m)); + + } else { + return new JsonSyncDataMessage(null, null, null, JsonDataMessage.from(transcriptMessage.getMessage(), m)); } } - JsonSyncDataMessage(Signal.SyncMessageReceived messageReceived) { - super(messageReceived); - destination = messageReceived.getDestination(); + static JsonSyncDataMessage from(Signal.SyncMessageReceived messageReceived) { + return new JsonSyncDataMessage(messageReceived.getDestination(), + null, + null, + JsonDataMessage.from(messageReceived)); } }