]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java
fc84b0887ef75bf9e82393a94f8a8144b44facc5
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSyncDataMessage.java
1 package org.asamk.signal.json;
2
3 import com.fasterxml.jackson.annotation.JsonUnwrapped;
4
5 import org.asamk.signal.manager.api.MessageEnvelope;
6
7 import java.util.UUID;
8
9 record JsonSyncDataMessage(
10 @Deprecated String destination,
11 String destinationNumber,
12 String destinationUuid,
13 @JsonUnwrapped JsonDataMessage dataMessage
14 ) {
15
16 static JsonSyncDataMessage from(MessageEnvelope.Sync.Sent transcriptMessage) {
17 if (transcriptMessage.destination().isPresent()) {
18 final var address = transcriptMessage.destination().get();
19 return new JsonSyncDataMessage(address.getLegacyIdentifier(),
20 address.number().orElse(null),
21 address.uuid().map(UUID::toString).orElse(null),
22 transcriptMessage.message().map(JsonDataMessage::from).orElse(null));
23
24 } else {
25 return new JsonSyncDataMessage(null,
26 null,
27 null,
28 transcriptMessage.message().map(JsonDataMessage::from).orElse(null));
29 }
30 }
31 }