import org.asamk.signal.manager.Manager;
import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage.Reaction;
+import java.util.UUID;
+
import static org.asamk.signal.util.Util.getLegacyIdentifier;
public class JsonReaction {
final String emoji;
@JsonProperty
+ @Deprecated
final String targetAuthor;
+ @JsonProperty
+ final String targetAuthorNumber;
+
+ @JsonProperty
+ final String targetAuthorUuid;
+
@JsonProperty
final long targetSentTimestamp;
JsonReaction(Reaction reaction, Manager m) {
this.emoji = reaction.getEmoji();
- this.targetAuthor = getLegacyIdentifier(m.resolveSignalServiceAddress(reaction.getTargetAuthor()));
+ final var address = m.resolveSignalServiceAddress(reaction.getTargetAuthor());
+ this.targetAuthor = getLegacyIdentifier(address);
+ this.targetAuthorNumber = address.getNumber().orNull();
+ this.targetAuthorUuid = address.getUuid().transform(UUID::toString).orNull();
this.targetSentTimestamp = reaction.getTargetSentTimestamp();
this.isRemove = reaction.isRemove();
}