]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java
28c9d9369403a41fdd95d87bea0a082e21e2594f
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSyncDataMessage.java
1 package org.asamk.signal.json;
2
3 import com.fasterxml.jackson.annotation.JsonProperty;
4
5 import org.asamk.Signal;
6 import org.asamk.signal.manager.Manager;
7 import org.whispersystems.signalservice.api.messages.multidevice.SentTranscriptMessage;
8
9 import java.util.UUID;
10
11 import static org.asamk.signal.util.Util.getLegacyIdentifier;
12
13 class JsonSyncDataMessage extends JsonDataMessage {
14
15 @JsonProperty
16 @Deprecated
17 final String destination;
18
19 @JsonProperty
20 final String destinationNumber;
21
22 @JsonProperty
23 final String destinationUuid;
24
25 JsonSyncDataMessage(SentTranscriptMessage transcriptMessage, Manager m) {
26 super(transcriptMessage.getMessage(), m);
27
28 if (transcriptMessage.getDestination().isPresent()) {
29 final var address = transcriptMessage.getDestination().get();
30 this.destination = getLegacyIdentifier(address);
31 this.destinationNumber = address.getNumber().orNull();
32 this.destinationUuid = address.getUuid().transform(UUID::toString).orNull();
33 } else {
34 this.destination = null;
35 this.destinationNumber = null;
36 this.destinationUuid = null;
37 }
38 }
39
40 JsonSyncDataMessage(Signal.SyncMessageReceived messageReceived) {
41 super(messageReceived);
42 this.destination = messageReceived.getDestination();
43 this.destinationNumber = null;
44 this.destinationUuid = null;
45 }
46 }