Return key transparency protobufs encoded as base64 strings

This commit is contained in:
Katherine
2024-08-21 17:08:06 -04:00
committed by GitHub
parent 8699d94de6
commit 9eafa118d5
10 changed files with 36 additions and 289 deletions

View File

@@ -1,20 +0,0 @@
/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.textsecuregcm.util;
import katie.FullTreeHead;
public class FullTreeHeadProtobufAdapter {
public static class Serializer extends ProtobufAdapter.Serializer<FullTreeHead> {}
public static class Deserializer extends ProtobufAdapter.Deserializer<FullTreeHead> {
public Deserializer() {
super(FullTreeHead::newBuilder);
}
}
}

View File

@@ -1,20 +0,0 @@
/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.textsecuregcm.util;
import katie.MonitorProof;
public class MonitorProofProtobufAdapter {
public static class Serializer extends ProtobufAdapter.Serializer<MonitorProof> {}
public static class Deserializer extends ProtobufAdapter.Deserializer<MonitorProof> {
public Deserializer() {
super(MonitorProof::newBuilder);
}
}
}

View File

@@ -1,46 +0,0 @@
/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.textsecuregcm.util;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.google.protobuf.Message;
import com.google.protobuf.util.JsonFormat;
import java.io.IOException;
import java.util.function.Supplier;
public class ProtobufAdapter {
public static class Serializer<T extends Message> extends JsonSerializer<T> {
@Override
public void serialize(T message, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
throws IOException {
jsonGenerator.writeString(JsonFormat.printer().print(message));
}
}
public static class Deserializer<T extends Message> extends JsonDeserializer<T> {
private final Supplier<Message.Builder> builderSupplier;
public Deserializer(Supplier<Message.Builder> builderSupplier) {
this.builderSupplier = builderSupplier;
}
@Override
public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
Message.Builder builder = builderSupplier.get();
JsonFormat.parser().ignoringUnknownFields().merge(jsonParser.getValueAsString(), builder);
return (T) builder.build();
}
}
}

View File

@@ -1,20 +0,0 @@
/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.textsecuregcm.util;
import katie.SearchResponse;
public class SearchResponseProtobufAdapter {
public static class Serializer extends ProtobufAdapter.Serializer<SearchResponse> {}
public static class Deserializer extends ProtobufAdapter.Deserializer<SearchResponse> {
public Deserializer() {
super(SearchResponse::newBuilder);
}
}
}