Files
zwift-offline/protobuf/variants.proto
2023-04-24 14:05:50 -03:00

77 lines
2.3 KiB
Protocol Buffer

syntax = "proto2";
// https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto {
// `Struct` represents a structured data value, consisting of fields
// which map to dynamically typed values. In some languages, `Struct`
// might be supported by a native representation. For example, in
// scripting languages like JS a struct is represented as an
// object. The details of that representation are described together
// with the proto support for the language.
//
// The JSON representation for `Struct` is JSON object.
message Struct {
// Unordered map of dynamically typed values.
map<string, Value> fields = 1;
}
// `Value` represents a dynamically typed value which can be either
// null, a number, a string, a boolean, a recursive struct value, or a
// list of values. A producer of value is expected to set one of these
// variants. Absence of any variant indicates an error.
//
// The JSON representation for `Value` is JSON value.
message Value {
// The kind of value.
oneof kind {
// Represents a null value.
NullValue null_value = 1;
// Represents a double value.
double number_value = 2;
// Represents a string value.
string string_value = 3;
// Represents a boolean value.
bool bool_value = 4;
// Represents a integer value.
uint64 varint_value = 5;
// Represents a repeated `Value`.
ListValue list_value = 6;
}
}
// `NullValue` is a singleton enumeration to represent the null value for the
// `Value` type union.
//
// The JSON representation for `NullValue` is JSON `null`.
enum NullValue {
// Null value.
NULL_VALUE = 0;
}
// `ListValue` is a wrapper around a repeated field of values.
//
// The JSON representation for `ListValue` is JSON array.
message ListValue {
// Repeated field of dynamically typed values.
repeated Value values = 1;
}
// } https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto
message FeatureResponse_Params {
required string name = 1;
optional bool value = 2;
optional Struct values = 3;
}
message FeatureResponse {
repeated FeatureResponse_Params variants = 1;
}
message FeatureRequest_Params {
repeated string param = 1;
}
message FeatureRequest {
repeated FeatureRequest_Params params = 1;
optional string str_player_id = 2;
map<string, string> user_attrs = 3;
}