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
.Manager
;
7 import org
.asamk
.signal
.manager
.api
.MessageEnvelope
;
8 import org
.asamk
.signal
.manager
.api
.RecipientAddress
;
10 import java
.util
.UUID
;
12 record JsonSyncDataMessage(
13 @Deprecated String destination
,
14 String destinationNumber
,
15 String destinationUuid
,
16 @JsonInclude(JsonInclude
.Include
.NON_NULL
) JsonEditMessage editMessage
,
17 @JsonUnwrapped JsonDataMessage dataMessage
20 static JsonSyncDataMessage
from(MessageEnvelope
.Sync
.Sent transcriptMessage
, Manager m
) {
21 return new JsonSyncDataMessage(transcriptMessage
.destination()
22 .map(RecipientAddress
::getLegacyIdentifier
)
24 transcriptMessage
.destination().flatMap(RecipientAddress
::number
).orElse(null),
25 transcriptMessage
.destination().flatMap(address
-> address
.uuid().map(UUID
::toString
)).orElse(null),
26 transcriptMessage
.editMessage().map(data
-> JsonEditMessage
.from(data
, m
)).orElse(null),
27 transcriptMessage
.message().map(data
-> JsonDataMessage
.from(data
, m
)).orElse(null));