package org.asamk.signal.json;
-import org.asamk.signal.manager.Manager;
-import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
-import org.whispersystems.signalservice.api.push.SignalServiceAddress;
+import org.asamk.signal.manager.api.MessageEnvelope;
-public class JsonMention {
+import java.util.UUID;
- String name;
- int start;
- int length;
+public record JsonMention(@Deprecated String name, String number, String uuid, int start, int length) {
- JsonMention(SignalServiceDataMessage.Mention mention, Manager m) {
- this.name = m.resolveSignalServiceAddress(new SignalServiceAddress(mention.getUuid(), null))
- .getLegacyIdentifier();
- this.start = mention.getStart();
- this.length = mention.getLength();
+ static JsonMention from(MessageEnvelope.Data.Mention mention) {
+ final var address = mention.recipient();
+ return new JsonMention(address.getLegacyIdentifier(),
+ address.number().orElse(null),
+ address.uuid().map(UUID::toString).orElse(null),
+ mention.start(),
+ mention.length());
}
}