]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonSyncStoryMessage.java
Use .isEmpty() for checking lists and strings
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSyncStoryMessage.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 JsonSyncStoryMessage(
10 String destinationNumber, String destinationUuid, @JsonUnwrapped JsonStoryMessage dataMessage
11 ) {
12
13 static JsonSyncStoryMessage from(MessageEnvelope.Sync.Sent transcriptMessage) {
14 if (transcriptMessage.destination().isPresent()) {
15 final var address = transcriptMessage.destination().get();
16 return new JsonSyncStoryMessage(address.number().orElse(null),
17 address.uuid().map(UUID::toString).orElse(null),
18 transcriptMessage.story().map(JsonStoryMessage::from).orElse(null));
19
20 } else {
21 return new JsonSyncStoryMessage(null,
22 null,
23 transcriptMessage.story().map(JsonStoryMessage::from).orElse(null));
24 }
25 }
26 }