]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java
Fix error type for dbus rate limit challenge
[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;
6 import org.asamk.signal.manager.api.MessageEnvelope;
7
8 import java.util.UUID;
9
10 record JsonSyncDataMessage(
11 @Deprecated String destination,
12 String destinationNumber,
13 String destinationUuid,
14 @JsonUnwrapped JsonDataMessage dataMessage
15 ) {
16
17 static JsonSyncDataMessage from(MessageEnvelope.Sync.Sent transcriptMessage) {
18 if (transcriptMessage.destination().isPresent()) {
19 final var address = transcriptMessage.destination().get();
20 return new JsonSyncDataMessage(address.getLegacyIdentifier(),
21 address.getNumber().orElse(null),
22 address.getUuid().map(UUID::toString).orElse(null),
23 JsonDataMessage.from(transcriptMessage.message()));
24
25 } else {
26 return new JsonSyncDataMessage(null, null, null, JsonDataMessage.from(transcriptMessage.message()));
27 }
28 }
29
30 static JsonSyncDataMessage from(Signal.SyncMessageReceived messageReceived) {
31 return new JsonSyncDataMessage(messageReceived.getDestination(),
32 null,
33 null,
34 JsonDataMessage.from(messageReceived));
35 }
36 }