1 package org
.asamk
.signal
.json
;
3 import com
.fasterxml
.jackson
.annotation
.JsonProperty
;
5 import org
.asamk
.signal
.manager
.Manager
;
6 import org
.whispersystems
.signalservice
.api
.messages
.SignalServiceDataMessage
.Reaction
;
10 import static org
.asamk
.signal
.util
.Util
.getLegacyIdentifier
;
12 public class JsonReaction
{
19 final String targetAuthor
;
22 final String targetAuthorNumber
;
25 final String targetAuthorUuid
;
28 final long targetSentTimestamp
;
31 final boolean isRemove
;
33 JsonReaction(Reaction reaction
, Manager m
) {
34 this.emoji
= reaction
.getEmoji();
35 final var address
= m
.resolveSignalServiceAddress(reaction
.getTargetAuthor());
36 this.targetAuthor
= getLegacyIdentifier(address
);
37 this.targetAuthorNumber
= address
.getNumber().orNull();
38 this.targetAuthorUuid
= address
.getUuid().transform(UUID
::toString
).orNull();
39 this.targetSentTimestamp
= reaction
.getTargetSentTimestamp();
40 this.isRemove
= reaction
.isRemove();