]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonReaction.java
cc80ee84eb3ac89dde1c459fb69371a325a079fc
[signal-cli] / src / main / java / org / asamk / signal / json / JsonReaction.java
1 package org.asamk.signal.json;
2
3 import com.fasterxml.jackson.annotation.JsonProperty;
4
5 import org.asamk.signal.manager.Manager;
6 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage.Reaction;
7
8 import static org.asamk.signal.util.Util.getLegacyIdentifier;
9
10 public class JsonReaction {
11
12 @JsonProperty
13 final String emoji;
14
15 @JsonProperty
16 @Deprecated
17 final String targetAuthor;
18
19 @JsonProperty
20 final String targetAuthorNumber;
21
22 @JsonProperty
23 final String targetAuthorUuid;
24
25 @JsonProperty
26 final long targetSentTimestamp;
27
28 @JsonProperty
29 final boolean isRemove;
30
31 JsonReaction(Reaction reaction, Manager m) {
32 this.emoji = reaction.getEmoji();
33 final var address = m.resolveSignalServiceAddress(reaction.getTargetAuthor());
34 this.targetAuthor = getLegacyIdentifier(address);
35 this.targetAuthorNumber = address.getNumber().orNull();
36 this.targetAuthorUuid = address.getUuid().toString();
37 this.targetSentTimestamp = reaction.getTargetSentTimestamp();
38 this.isRemove = reaction.isRemove();
39 }
40 }