X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/5bbfd3259891e18a11cb878e14a9c17990b13d79..19b15e68e4ec652e23f9625662b7c0f96b963029:/src/main/java/org/asamk/signal/json/JsonMention.java diff --git a/src/main/java/org/asamk/signal/json/JsonMention.java b/src/main/java/org/asamk/signal/json/JsonMention.java index f0c66d00..c4c962a0 100644 --- a/src/main/java/org/asamk/signal/json/JsonMention.java +++ b/src/main/java/org/asamk/signal/json/JsonMention.java @@ -1,39 +1,17 @@ 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 org.asamk.signal.manager.api.MessageEnvelope; import java.util.UUID; -import static org.asamk.signal.util.Util.getLegacyIdentifier; - -public class JsonMention { - - @JsonProperty - @Deprecated - final String name; - - @JsonProperty - final String number; - - @JsonProperty - final String uuid; - - @JsonProperty - final int start; - - @JsonProperty - final int length; +public record JsonMention(@Deprecated String name, String number, String uuid, int start, int length) { - JsonMention(SignalServiceDataMessage.Mention mention, Manager m) { - 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(); + 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()); } }