]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonMention.java
Update tests
[signal-cli] / src / main / java / org / asamk / signal / json / JsonMention.java
index 302128eda41c3fdce47ef5a6597951228b95ace5..f0c66d00867c3df9b3cb945aab446dabe5127364 100644 (file)
@@ -1,18 +1,38 @@
 package org.asamk.signal.json;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
+
 import org.asamk.signal.manager.Manager;
 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
 
+import java.util.UUID;
+
+import static org.asamk.signal.util.Util.getLegacyIdentifier;
+
 public class JsonMention {
 
-    String name;
-    int start;
-    int length;
+    @JsonProperty
+    @Deprecated
+    final String name;
+
+    @JsonProperty
+    final String number;
+
+    @JsonProperty
+    final String uuid;
+
+    @JsonProperty
+    final int start;
+
+    @JsonProperty
+    final int length;
 
     JsonMention(SignalServiceDataMessage.Mention mention, Manager m) {
-        this.name = m.resolveSignalServiceAddress(new SignalServiceAddress(mention.getUuid(), null))
-                .getLegacyIdentifier();
+        final var address = m.resolveSignalServiceAddress(new SignalServiceAddress(mention.getUuid(), null));
+        this.name = getLegacyIdentifier(address);
+        this.number = address.getNumber().orNull();
+        this.uuid = address.getUuid().transform(UUID::toString).orNull();
         this.start = mention.getStart();
         this.length = mention.getLength();
     }