]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java
Make fields in json classes final and omit unnecessary nulls when serializing
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSyncDataMessage.java
index d253b197e5a43c700409adc0aab05010cf914669..d93351f16d01b5a2b1da1fc7de6dd9817b2cea52 100644 (file)
@@ -1,17 +1,23 @@
 package org.asamk.signal.json;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
+
 import org.asamk.Signal;
+import org.asamk.signal.manager.Manager;
 import org.whispersystems.signalservice.api.messages.multidevice.SentTranscriptMessage;
+import org.whispersystems.signalservice.api.push.SignalServiceAddress;
 
 class JsonSyncDataMessage extends JsonDataMessage {
 
-    String destination;
+    @JsonProperty
+    final String destination;
+
+    JsonSyncDataMessage(SentTranscriptMessage transcriptMessage, Manager m) {
+        super(transcriptMessage.getMessage(), m);
 
-    JsonSyncDataMessage(SentTranscriptMessage transcriptMessage) {
-        super(transcriptMessage.getMessage());
-        if (transcriptMessage.getDestination().isPresent()) {
-            this.destination = transcriptMessage.getDestination().get().getNumber().get();
-        }
+        this.destination = transcriptMessage.getDestination()
+                .transform(SignalServiceAddress::getLegacyIdentifier)
+                .orNull();
     }
 
     JsonSyncDataMessage(Signal.SyncMessageReceived messageReceived) {