]> nmode's Git Repositories - signal-cli/commitdiff
add group info on json message
authorJailson Dias <jaison.diasc@gmail.com>
Thu, 24 Oct 2024 20:27:51 +0000 (17:27 -0300)
committerSebastian Scheibner <asamk@gmx.de>
Fri, 25 Oct 2024 15:19:17 +0000 (17:19 +0200)
src/main/java/org/asamk/signal/json/JsonDataMessage.java
src/main/java/org/asamk/signal/json/JsonEditMessage.java
src/main/java/org/asamk/signal/json/JsonGroupInfo.java
src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java
src/main/java/org/asamk/signal/json/JsonSyncMessage.java

index ef7425850363ff9094bb9ddd824b784f2d2336d4..f24fdbba51c2e33b3bb2f040dcccd79f889213e5 100644 (file)
@@ -2,6 +2,7 @@ package org.asamk.signal.json;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 
+import org.asamk.signal.manager.Manager;
 import org.asamk.signal.manager.api.MessageEnvelope;
 
 import java.util.List;
@@ -25,10 +26,10 @@ record JsonDataMessage(
         @JsonInclude(JsonInclude.Include.NON_NULL) JsonStoryContext storyContext
 ) {
 
-    static JsonDataMessage from(MessageEnvelope.Data dataMessage) {
+    static JsonDataMessage from(MessageEnvelope.Data dataMessage, Manager m) {
         final var timestamp = dataMessage.timestamp();
         final var groupInfo = dataMessage.groupContext().isPresent() ? JsonGroupInfo.from(dataMessage.groupContext()
-                .get()) : null;
+                .get(), m) : null;
         final var storyContext = dataMessage.storyContext().isPresent()
                 ? JsonStoryContext.from(dataMessage.storyContext().get())
                 : null;
index 193bd16adc2c2aec3836f2603d65c8ebfd3413e9..6b17344b86296a1ef57cc73c3cde3b014c095346 100644 (file)
@@ -1,10 +1,11 @@
 package org.asamk.signal.json;
 
+import org.asamk.signal.manager.Manager;
 import org.asamk.signal.manager.api.MessageEnvelope;
 
 record JsonEditMessage(long targetSentTimestamp, JsonDataMessage dataMessage) {
 
-    static JsonEditMessage from(MessageEnvelope.Edit editMessage) {
-        return new JsonEditMessage(editMessage.targetSentTimestamp(), JsonDataMessage.from(editMessage.dataMessage()));
+    static JsonEditMessage from(MessageEnvelope.Edit editMessage, Manager m) {
+        return new JsonEditMessage(editMessage.targetSentTimestamp(), JsonDataMessage.from(editMessage.dataMessage(), m));
     }
 }
index 01e39900516571ec827e3b7f1027960da63acd1e..c370d1e2ee127d01589be47355e17c1d86e31bf3 100644 (file)
@@ -1,11 +1,14 @@
 package org.asamk.signal.json;
 
+import org.asamk.signal.manager.Manager;
 import org.asamk.signal.manager.api.MessageEnvelope;
 
-record JsonGroupInfo(String groupId, String type) {
+record JsonGroupInfo(String groupId, String groupName, int revision, String type) {
 
-    static JsonGroupInfo from(MessageEnvelope.Data.GroupContext groupContext) {
+    static JsonGroupInfo from(MessageEnvelope.Data.GroupContext groupContext, Manager m) {
         return new JsonGroupInfo(groupContext.groupId().toBase64(),
+                m.getGroup(groupContext.groupId()).title(),
+                groupContext.revision(),
                 groupContext.isGroupUpdate() ? "UPDATE" : "DELIVER");
     }
 }
index fe427ef132afa7bebf90bf997a3bab8508ce7b0b..391181b03aac4bee7789193598ced55191a08271 100644 (file)
@@ -3,6 +3,7 @@ package org.asamk.signal.json;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonUnwrapped;
 
+import org.asamk.signal.manager.Manager;
 import org.asamk.signal.manager.api.MessageEnvelope;
 import org.asamk.signal.manager.api.RecipientAddress;
 
@@ -16,13 +17,17 @@ record JsonSyncDataMessage(
         @JsonUnwrapped JsonDataMessage dataMessage
 ) {
 
-    static JsonSyncDataMessage from(MessageEnvelope.Sync.Sent transcriptMessage) {
+    static JsonSyncDataMessage from(MessageEnvelope.Sync.Sent transcriptMessage, Manager m) {
         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));
+                transcriptMessage.editMessage()
+                    .map(data -> JsonEditMessage.from(data, m))
+                    .orElse(null),
+                transcriptMessage.message()
+                    .map(data -> JsonDataMessage.from(data, m))
+                    .orElse(null));
     }
 }
index fbe11daf44917d18548c114625d5c541fab08299..072b2e3b7f3096eb3893fa107e1290a627eacc76 100644 (file)
@@ -2,6 +2,7 @@ package org.asamk.signal.json;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 
+import org.asamk.signal.manager.Manager;
 import org.asamk.signal.manager.api.GroupId;
 import org.asamk.signal.manager.api.MessageEnvelope;
 import org.asamk.signal.manager.api.RecipientAddress;
@@ -23,9 +24,9 @@ record JsonSyncMessage(
         @JsonInclude(JsonInclude.Include.NON_NULL) JsonSyncMessageType type
 ) {
 
-    static JsonSyncMessage from(MessageEnvelope.Sync syncMessage) {
+    static JsonSyncMessage from(MessageEnvelope.Sync syncMessage, Manager m) {
         final var sentMessage = syncMessage.sent().isPresent() && syncMessage.sent().get().story().isEmpty()
-                ? JsonSyncDataMessage.from(syncMessage.sent().get())
+                ? JsonSyncDataMessage.from(syncMessage.sent().get(), m)
                 : null;
         final var sentStoryMessage = syncMessage.sent().isPresent() && syncMessage.sent().get().story().isPresent()
                 ? JsonSyncStoryMessage.from(syncMessage.sent().get())