package org.asamk.signal.json;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import org.asamk.signal.manager.api.MessageEnvelope;
+import org.asamk.signal.manager.api.RecipientAddress;
import java.util.UUID;
@Deprecated String destination,
String destinationNumber,
String destinationUuid,
+ @JsonInclude(JsonInclude.Include.NON_NULL) JsonEditMessage editMessage,
@JsonUnwrapped JsonDataMessage dataMessage
) {
static JsonSyncDataMessage from(MessageEnvelope.Sync.Sent transcriptMessage) {
- if (transcriptMessage.destination().isPresent()) {
- final var address = transcriptMessage.destination().get();
- return new JsonSyncDataMessage(address.getLegacyIdentifier(),
- address.number().orElse(null),
- address.uuid().map(UUID::toString).orElse(null),
- transcriptMessage.message().map(JsonDataMessage::from).orElse(null));
-
- } else {
- return new JsonSyncDataMessage(null,
- null,
- null,
- transcriptMessage.message().map(JsonDataMessage::from).orElse(null));
- }
+ return new JsonSyncDataMessage(transcriptMessage.destination()
+ .map(RecipientAddress::getLegacyIdentifier)
+ .orElse(null),
+ transcriptMessage.destination().flatMap(RecipientAddress::number).orElse(null),
+ transcriptMessage.destination().flatMap(address -> address.uuid().map(UUID::toString)).orElse(null),
+ transcriptMessage.editMessage().map(JsonEditMessage::from).orElse(null),
+ transcriptMessage.message().map(JsonDataMessage::from).orElse(null));
}
}