import com.fasterxml.jackson.annotation.JsonInclude;
+import org.asamk.signal.manager.Manager;
import org.asamk.signal.manager.api.MessageEnvelope;
import java.util.List;
@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;
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));
}
}
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");
}
}
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;
@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));
}
}
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;
@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())