mirror of
https://github.com/aljazceru/signal-cli.git
synced 2026-01-13 10:54:21 +01:00
Implement editing of previous messages
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
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;
|
||||
|
||||
@@ -10,22 +12,17 @@ record JsonSyncDataMessage(
|
||||
@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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user