1 package org
.asamk
.signal
.json
;
3 import com
.fasterxml
.jackson
.annotation
.JsonUnwrapped
;
5 import org
.asamk
.Signal
;
6 import org
.asamk
.signal
.manager
.Manager
;
7 import org
.whispersystems
.signalservice
.api
.messages
.multidevice
.SentTranscriptMessage
;
9 import static org
.asamk
.signal
.util
.Util
.getLegacyIdentifier
;
11 record JsonSyncDataMessage(
12 @Deprecated String destination
,
13 String destinationNumber
,
14 String destinationUuid
,
15 @JsonUnwrapped JsonDataMessage dataMessage
18 static JsonSyncDataMessage
from(SentTranscriptMessage transcriptMessage
, Manager m
) {
19 if (transcriptMessage
.getDestination().isPresent()) {
20 final var address
= transcriptMessage
.getDestination().get();
21 return new JsonSyncDataMessage(getLegacyIdentifier(address
),
22 address
.getNumber().orNull(),
23 address
.getUuid().toString(),
24 JsonDataMessage
.from(transcriptMessage
.getMessage(), m
));
27 return new JsonSyncDataMessage(null, null, null, JsonDataMessage
.from(transcriptMessage
.getMessage(), m
));
31 static JsonSyncDataMessage
from(Signal
.SyncMessageReceived messageReceived
) {
32 return new JsonSyncDataMessage(messageReceived
.getDestination(),
35 JsonDataMessage
.from(messageReceived
));