1 package org
.asamk
.signal
.json
;
3 import com
.fasterxml
.jackson
.annotation
.JsonInclude
;
4 import com
.fasterxml
.jackson
.annotation
.JsonUnwrapped
;
6 import org
.asamk
.signal
.manager
.api
.MessageEnvelope
;
7 import org
.asamk
.signal
.manager
.api
.RecipientAddress
;
11 record JsonSyncDataMessage(
12 @Deprecated String destination
,
13 String destinationNumber
,
14 String destinationUuid
,
15 @JsonInclude(JsonInclude
.Include
.NON_NULL
) JsonEditMessage editMessage
,
16 @JsonUnwrapped JsonDataMessage dataMessage
19 static JsonSyncDataMessage
from(MessageEnvelope
.Sync
.Sent transcriptMessage
) {
20 return new JsonSyncDataMessage(transcriptMessage
.destination()
21 .map(RecipientAddress
::getLegacyIdentifier
)
23 transcriptMessage
.destination().flatMap(RecipientAddress
::number
).orElse(null),
24 transcriptMessage
.destination().flatMap(address
-> address
.uuid().map(UUID
::toString
)).orElse(null),
25 transcriptMessage
.editMessage().map(JsonEditMessage
::from
).orElse(null),
26 transcriptMessage
.message().map(JsonDataMessage
::from
).orElse(null));