From: AsamK Date: Sun, 17 Jan 2021 10:57:46 +0000 (+0100) Subject: Add remote delete info to json output X-Git-Tag: v0.7.3~2 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/a28ad7195ceb3970ffe2f3b169aab994948e3aba Add remote delete info to json output Fixes #424 --- diff --git a/src/main/java/org/asamk/signal/json/JsonDataMessage.java b/src/main/java/org/asamk/signal/json/JsonDataMessage.java index 4636d808..1c927b40 100644 --- a/src/main/java/org/asamk/signal/json/JsonDataMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonDataMessage.java @@ -48,6 +48,10 @@ class JsonDataMessage { @JsonInclude(JsonInclude.Include.NON_NULL) final JsonSticker sticker; + @JsonProperty + @JsonInclude(JsonInclude.Include.NON_NULL) + final JsonRemoteDelete remoteDelete; + @JsonProperty @JsonInclude(JsonInclude.Include.NON_NULL) final JsonGroupInfo groupInfo; @@ -84,6 +88,8 @@ class JsonDataMessage { } else { this.mentions = List.of(); } + remoteDelete = dataMessage.getRemoteDelete().isPresent() ? new JsonRemoteDelete(dataMessage.getRemoteDelete() + .get()) : null; if (dataMessage.getAttachments().isPresent()) { this.attachments = dataMessage.getAttachments() .get() @@ -102,6 +108,7 @@ class JsonDataMessage { groupInfo = messageReceived.getGroupId().length > 0 ? new JsonGroupInfo(messageReceived.getGroupId()) : null; expiresInSeconds = null; viewOnce = null; + remoteDelete = null; reaction = null; // TODO Replace these 4 with the proper commands quote = null; mentions = null; @@ -115,6 +122,7 @@ class JsonDataMessage { groupInfo = messageReceived.getGroupId().length > 0 ? new JsonGroupInfo(messageReceived.getGroupId()) : null; expiresInSeconds = null; viewOnce = null; + remoteDelete = null; reaction = null; // TODO Replace these 4 with the proper commands quote = null; mentions = null; diff --git a/src/main/java/org/asamk/signal/json/JsonRemoteDelete.java b/src/main/java/org/asamk/signal/json/JsonRemoteDelete.java new file mode 100644 index 00000000..a498a0e5 --- /dev/null +++ b/src/main/java/org/asamk/signal/json/JsonRemoteDelete.java @@ -0,0 +1,15 @@ +package org.asamk.signal.json; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; + +class JsonRemoteDelete { + + @JsonProperty + final long timestamp; + + JsonRemoteDelete(SignalServiceDataMessage.RemoteDelete remoteDelete) { + this.timestamp = remoteDelete.getTargetSentTimestamp(); + } +}