]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonSyncReadMessage.java
Improve dbus error handling
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSyncReadMessage.java
index d65b0672097770a2af54333dde56d34a6cf85958..05cb48f3a2655841752abd1956a2459d22f3296a 100644 (file)
@@ -1,17 +1,19 @@
 package org.asamk.signal.json;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
+import org.whispersystems.signalservice.api.messages.multidevice.ReadMessage;
 
-class JsonSyncReadMessage {
+import static org.asamk.signal.util.Util.getLegacyIdentifier;
 
-    @JsonProperty
-    final String sender;
+record JsonSyncReadMessage(
+        @Deprecated String sender, String senderNumber, String senderUuid, long timestamp
+) {
 
-    @JsonProperty
-    final long timestamp;
-
-    public JsonSyncReadMessage(final String sender, final long timestamp) {
-        this.sender = sender;
-        this.timestamp = timestamp;
+    static JsonSyncReadMessage from(final ReadMessage readMessage) {
+        final var senderAddress = readMessage.getSender();
+        final var sender = getLegacyIdentifier(senderAddress);
+        final var senderNumber = senderAddress.getNumber().orNull();
+        final var senderUuid = senderAddress.getUuid().toString();
+        final var timestamp = readMessage.getTimestamp();
+        return new JsonSyncReadMessage(sender, senderNumber, senderUuid, timestamp);
     }
 }