X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/ce7aa580b6f0580cdcf7fd68fcc8efba737d21ed..43face8ead95344e3d0dcbc94c6cf85959f26203:/src/main/java/org/asamk/signal/json/JsonGroupInfo.java diff --git a/src/main/java/org/asamk/signal/json/JsonGroupInfo.java b/src/main/java/org/asamk/signal/json/JsonGroupInfo.java index 2c1a5b80..01e39900 100644 --- a/src/main/java/org/asamk/signal/json/JsonGroupInfo.java +++ b/src/main/java/org/asamk/signal/json/JsonGroupInfo.java @@ -1,42 +1,11 @@ package org.asamk.signal.json; -import com.fasterxml.jackson.annotation.JsonInclude; +import org.asamk.signal.manager.api.MessageEnvelope; -import org.asamk.signal.manager.groups.GroupUtils; -import org.asamk.signal.util.Util; -import org.whispersystems.signalservice.api.messages.SignalServiceGroup; -import org.whispersystems.signalservice.api.messages.SignalServiceGroupV2; +record JsonGroupInfo(String groupId, String type) { -import java.util.Base64; -import java.util.List; -import java.util.stream.Collectors; - -record JsonGroupInfo( - String groupId, - String type, - @JsonInclude(JsonInclude.Include.NON_NULL) String name, - @JsonInclude(JsonInclude.Include.NON_NULL) List members -) { - - static JsonGroupInfo from(SignalServiceGroup groupInfo) { - return new JsonGroupInfo(Base64.getEncoder().encodeToString(groupInfo.getGroupId()), - groupInfo.getType().toString(), - groupInfo.getName().orNull(), - groupInfo.getMembers().isPresent() ? groupInfo.getMembers() - .get() - .stream() - .map(Util::getLegacyIdentifier) - .collect(Collectors.toList()) : null); - } - - static JsonGroupInfo from(SignalServiceGroupV2 groupInfo) { - return new JsonGroupInfo(GroupUtils.getGroupIdV2(groupInfo.getMasterKey()).toBase64(), - groupInfo.hasSignedGroupChange() ? "UPDATE" : "DELIVER", - null, - null); - } - - static JsonGroupInfo from(byte[] groupId) { - return new JsonGroupInfo(Base64.getEncoder().encodeToString(groupId), "DELIVER", null, null); + static JsonGroupInfo from(MessageEnvelope.Data.GroupContext groupContext) { + return new JsonGroupInfo(groupContext.groupId().toBase64(), + groupContext.isGroupUpdate() ? "UPDATE" : "DELIVER"); } }