]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonReaction.java
Extend json output with number and uuid fields
[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 java.util.UUID;
9
10 import static org.asamk.signal.util.Util.getLegacyIdentifier;
11
12 public class JsonReaction {
13
14 @JsonProperty
15 final String emoji;
16
17 @JsonProperty
18 @Deprecated
19 final String targetAuthor;
20
21 @JsonProperty
22 final String targetAuthorNumber;
23
24 @JsonProperty
25 final String targetAuthorUuid;
26
27 @JsonProperty
28 final long targetSentTimestamp;
29
30 @JsonProperty
31 final boolean isRemove;
32
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();
41 }
42 }