12047 lines
431 KiB
Go
12047 lines
431 KiB
Go
// Copyright 2019 The Nakama Authors
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
//*
|
|
// The Nakama server RPC protocol for games and apps.
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.31.0
|
|
// protoc v5.27.1
|
|
// source: api.proto
|
|
|
|
package api
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
|
wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
// Validation Provider,
|
|
type StoreProvider int32
|
|
|
|
const (
|
|
// Apple App Store
|
|
StoreProvider_APPLE_APP_STORE StoreProvider = 0
|
|
// Google Play Store
|
|
StoreProvider_GOOGLE_PLAY_STORE StoreProvider = 1
|
|
// Huawei App Gallery
|
|
StoreProvider_HUAWEI_APP_GALLERY StoreProvider = 2
|
|
// Facebook Instant Store
|
|
StoreProvider_FACEBOOK_INSTANT_STORE StoreProvider = 3
|
|
)
|
|
|
|
// Enum value maps for StoreProvider.
|
|
var (
|
|
StoreProvider_name = map[int32]string{
|
|
0: "APPLE_APP_STORE",
|
|
1: "GOOGLE_PLAY_STORE",
|
|
2: "HUAWEI_APP_GALLERY",
|
|
3: "FACEBOOK_INSTANT_STORE",
|
|
}
|
|
StoreProvider_value = map[string]int32{
|
|
"APPLE_APP_STORE": 0,
|
|
"GOOGLE_PLAY_STORE": 1,
|
|
"HUAWEI_APP_GALLERY": 2,
|
|
"FACEBOOK_INSTANT_STORE": 3,
|
|
}
|
|
)
|
|
|
|
func (x StoreProvider) Enum() *StoreProvider {
|
|
p := new(StoreProvider)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x StoreProvider) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (StoreProvider) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_api_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (StoreProvider) Type() protoreflect.EnumType {
|
|
return &file_api_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x StoreProvider) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use StoreProvider.Descriptor instead.
|
|
func (StoreProvider) EnumDescriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
// Environment where a purchase/subscription took place,
|
|
type StoreEnvironment int32
|
|
|
|
const (
|
|
// Unknown environment.
|
|
StoreEnvironment_UNKNOWN StoreEnvironment = 0
|
|
// Sandbox/test environment.
|
|
StoreEnvironment_SANDBOX StoreEnvironment = 1
|
|
// Production environment.
|
|
StoreEnvironment_PRODUCTION StoreEnvironment = 2
|
|
)
|
|
|
|
// Enum value maps for StoreEnvironment.
|
|
var (
|
|
StoreEnvironment_name = map[int32]string{
|
|
0: "UNKNOWN",
|
|
1: "SANDBOX",
|
|
2: "PRODUCTION",
|
|
}
|
|
StoreEnvironment_value = map[string]int32{
|
|
"UNKNOWN": 0,
|
|
"SANDBOX": 1,
|
|
"PRODUCTION": 2,
|
|
}
|
|
)
|
|
|
|
func (x StoreEnvironment) Enum() *StoreEnvironment {
|
|
p := new(StoreEnvironment)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x StoreEnvironment) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (StoreEnvironment) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_api_proto_enumTypes[1].Descriptor()
|
|
}
|
|
|
|
func (StoreEnvironment) Type() protoreflect.EnumType {
|
|
return &file_api_proto_enumTypes[1]
|
|
}
|
|
|
|
func (x StoreEnvironment) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use StoreEnvironment.Descriptor instead.
|
|
func (StoreEnvironment) EnumDescriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
// Operator that can be used to override the one set in the leaderboard.
|
|
type Operator int32
|
|
|
|
const (
|
|
// Do not override the leaderboard operator.
|
|
Operator_NO_OVERRIDE Operator = 0
|
|
// Override the leaderboard operator with BEST.
|
|
Operator_BEST Operator = 1
|
|
// Override the leaderboard operator with SET.
|
|
Operator_SET Operator = 2
|
|
// Override the leaderboard operator with INCREMENT.
|
|
Operator_INCREMENT Operator = 3
|
|
// Override the leaderboard operator with DECREMENT.
|
|
Operator_DECREMENT Operator = 4
|
|
)
|
|
|
|
// Enum value maps for Operator.
|
|
var (
|
|
Operator_name = map[int32]string{
|
|
0: "NO_OVERRIDE",
|
|
1: "BEST",
|
|
2: "SET",
|
|
3: "INCREMENT",
|
|
4: "DECREMENT",
|
|
}
|
|
Operator_value = map[string]int32{
|
|
"NO_OVERRIDE": 0,
|
|
"BEST": 1,
|
|
"SET": 2,
|
|
"INCREMENT": 3,
|
|
"DECREMENT": 4,
|
|
}
|
|
)
|
|
|
|
func (x Operator) Enum() *Operator {
|
|
p := new(Operator)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Operator) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Operator) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_api_proto_enumTypes[2].Descriptor()
|
|
}
|
|
|
|
func (Operator) Type() protoreflect.EnumType {
|
|
return &file_api_proto_enumTypes[2]
|
|
}
|
|
|
|
func (x Operator) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use Operator.Descriptor instead.
|
|
func (Operator) EnumDescriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
// The friendship status.
|
|
type Friend_State int32
|
|
|
|
const (
|
|
// The user is a friend of the current user.
|
|
Friend_FRIEND Friend_State = 0
|
|
// The current user has sent an invite to the user.
|
|
Friend_INVITE_SENT Friend_State = 1
|
|
// The current user has received an invite from this user.
|
|
Friend_INVITE_RECEIVED Friend_State = 2
|
|
// The current user has blocked this user.
|
|
Friend_BLOCKED Friend_State = 3
|
|
)
|
|
|
|
// Enum value maps for Friend_State.
|
|
var (
|
|
Friend_State_name = map[int32]string{
|
|
0: "FRIEND",
|
|
1: "INVITE_SENT",
|
|
2: "INVITE_RECEIVED",
|
|
3: "BLOCKED",
|
|
}
|
|
Friend_State_value = map[string]int32{
|
|
"FRIEND": 0,
|
|
"INVITE_SENT": 1,
|
|
"INVITE_RECEIVED": 2,
|
|
"BLOCKED": 3,
|
|
}
|
|
)
|
|
|
|
func (x Friend_State) Enum() *Friend_State {
|
|
p := new(Friend_State)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Friend_State) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Friend_State) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_api_proto_enumTypes[3].Descriptor()
|
|
}
|
|
|
|
func (Friend_State) Type() protoreflect.EnumType {
|
|
return &file_api_proto_enumTypes[3]
|
|
}
|
|
|
|
func (x Friend_State) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use Friend_State.Descriptor instead.
|
|
func (Friend_State) EnumDescriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{37, 0}
|
|
}
|
|
|
|
// The group role status.
|
|
type GroupUserList_GroupUser_State int32
|
|
|
|
const (
|
|
// The user is a superadmin with full control of the group.
|
|
GroupUserList_GroupUser_SUPERADMIN GroupUserList_GroupUser_State = 0
|
|
// The user is an admin with additional privileges.
|
|
GroupUserList_GroupUser_ADMIN GroupUserList_GroupUser_State = 1
|
|
// The user is a regular member.
|
|
GroupUserList_GroupUser_MEMBER GroupUserList_GroupUser_State = 2
|
|
// The user has requested to join the group
|
|
GroupUserList_GroupUser_JOIN_REQUEST GroupUserList_GroupUser_State = 3
|
|
)
|
|
|
|
// Enum value maps for GroupUserList_GroupUser_State.
|
|
var (
|
|
GroupUserList_GroupUser_State_name = map[int32]string{
|
|
0: "SUPERADMIN",
|
|
1: "ADMIN",
|
|
2: "MEMBER",
|
|
3: "JOIN_REQUEST",
|
|
}
|
|
GroupUserList_GroupUser_State_value = map[string]int32{
|
|
"SUPERADMIN": 0,
|
|
"ADMIN": 1,
|
|
"MEMBER": 2,
|
|
"JOIN_REQUEST": 3,
|
|
}
|
|
)
|
|
|
|
func (x GroupUserList_GroupUser_State) Enum() *GroupUserList_GroupUser_State {
|
|
p := new(GroupUserList_GroupUser_State)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x GroupUserList_GroupUser_State) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (GroupUserList_GroupUser_State) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_api_proto_enumTypes[4].Descriptor()
|
|
}
|
|
|
|
func (GroupUserList_GroupUser_State) Type() protoreflect.EnumType {
|
|
return &file_api_proto_enumTypes[4]
|
|
}
|
|
|
|
func (x GroupUserList_GroupUser_State) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use GroupUserList_GroupUser_State.Descriptor instead.
|
|
func (GroupUserList_GroupUser_State) EnumDescriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{44, 0, 0}
|
|
}
|
|
|
|
// The group role status.
|
|
type UserGroupList_UserGroup_State int32
|
|
|
|
const (
|
|
// The user is a superadmin with full control of the group.
|
|
UserGroupList_UserGroup_SUPERADMIN UserGroupList_UserGroup_State = 0
|
|
// The user is an admin with additional privileges.
|
|
UserGroupList_UserGroup_ADMIN UserGroupList_UserGroup_State = 1
|
|
// The user is a regular member.
|
|
UserGroupList_UserGroup_MEMBER UserGroupList_UserGroup_State = 2
|
|
// The user has requested to join the group
|
|
UserGroupList_UserGroup_JOIN_REQUEST UserGroupList_UserGroup_State = 3
|
|
)
|
|
|
|
// Enum value maps for UserGroupList_UserGroup_State.
|
|
var (
|
|
UserGroupList_UserGroup_State_name = map[int32]string{
|
|
0: "SUPERADMIN",
|
|
1: "ADMIN",
|
|
2: "MEMBER",
|
|
3: "JOIN_REQUEST",
|
|
}
|
|
UserGroupList_UserGroup_State_value = map[string]int32{
|
|
"SUPERADMIN": 0,
|
|
"ADMIN": 1,
|
|
"MEMBER": 2,
|
|
"JOIN_REQUEST": 3,
|
|
}
|
|
)
|
|
|
|
func (x UserGroupList_UserGroup_State) Enum() *UserGroupList_UserGroup_State {
|
|
p := new(UserGroupList_UserGroup_State)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x UserGroupList_UserGroup_State) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (UserGroupList_UserGroup_State) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_api_proto_enumTypes[5].Descriptor()
|
|
}
|
|
|
|
func (UserGroupList_UserGroup_State) Type() protoreflect.EnumType {
|
|
return &file_api_proto_enumTypes[5]
|
|
}
|
|
|
|
func (x UserGroupList_UserGroup_State) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use UserGroupList_UserGroup_State.Descriptor instead.
|
|
func (UserGroupList_UserGroup_State) EnumDescriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{95, 0, 0}
|
|
}
|
|
|
|
// A user with additional account details. Always the current user.
|
|
type Account struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The user object.
|
|
User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
|
|
// The user's wallet data.
|
|
Wallet string `protobuf:"bytes,2,opt,name=wallet,proto3" json:"wallet,omitempty"`
|
|
// The email address of the user.
|
|
Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
|
|
// The devices which belong to the user's account.
|
|
Devices []*AccountDevice `protobuf:"bytes,4,rep,name=devices,proto3" json:"devices,omitempty"`
|
|
// The custom id in the user's account.
|
|
CustomId string `protobuf:"bytes,5,opt,name=custom_id,json=customId,proto3" json:"custom_id,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user's email was verified.
|
|
VerifyTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=verify_time,json=verifyTime,proto3" json:"verify_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user's account was disabled/banned.
|
|
DisableTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=disable_time,json=disableTime,proto3" json:"disable_time,omitempty"`
|
|
}
|
|
|
|
func (x *Account) Reset() {
|
|
*x = Account{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Account) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Account) ProtoMessage() {}
|
|
|
|
func (x *Account) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[0]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Account.ProtoReflect.Descriptor instead.
|
|
func (*Account) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *Account) GetUser() *User {
|
|
if x != nil {
|
|
return x.User
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Account) GetWallet() string {
|
|
if x != nil {
|
|
return x.Wallet
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Account) GetEmail() string {
|
|
if x != nil {
|
|
return x.Email
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Account) GetDevices() []*AccountDevice {
|
|
if x != nil {
|
|
return x.Devices
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Account) GetCustomId() string {
|
|
if x != nil {
|
|
return x.CustomId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Account) GetVerifyTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.VerifyTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Account) GetDisableTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.DisableTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Obtain a new authentication token using a refresh token.
|
|
type AccountRefresh struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Refresh token.
|
|
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountRefresh) Reset() {
|
|
*x = AccountRefresh{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountRefresh) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountRefresh) ProtoMessage() {}
|
|
|
|
func (x *AccountRefresh) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[1]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountRefresh.ProtoReflect.Descriptor instead.
|
|
func (*AccountRefresh) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *AccountRefresh) GetToken() string {
|
|
if x != nil {
|
|
return x.Token
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountRefresh) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Send a Apple Sign In token to the server. Used with authenticate/link/unlink.
|
|
type AccountApple struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID token received from Apple to validate.
|
|
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountApple) Reset() {
|
|
*x = AccountApple{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountApple) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountApple) ProtoMessage() {}
|
|
|
|
func (x *AccountApple) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[2]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountApple.ProtoReflect.Descriptor instead.
|
|
func (*AccountApple) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *AccountApple) GetToken() string {
|
|
if x != nil {
|
|
return x.Token
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountApple) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Send a custom ID to the server. Used with authenticate/link/unlink.
|
|
type AccountCustom struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// A custom identifier.
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountCustom) Reset() {
|
|
*x = AccountCustom{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountCustom) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountCustom) ProtoMessage() {}
|
|
|
|
func (x *AccountCustom) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[3]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountCustom.ProtoReflect.Descriptor instead.
|
|
func (*AccountCustom) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *AccountCustom) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountCustom) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Send a device to the server. Used with authenticate/link/unlink and user.
|
|
type AccountDevice struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// A device identifier. Should be obtained by a platform-specific device API.
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountDevice) Reset() {
|
|
*x = AccountDevice{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountDevice) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountDevice) ProtoMessage() {}
|
|
|
|
func (x *AccountDevice) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[4]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountDevice.ProtoReflect.Descriptor instead.
|
|
func (*AccountDevice) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *AccountDevice) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountDevice) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Send an email with password to the server. Used with authenticate/link/unlink.
|
|
type AccountEmail struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// A valid RFC-5322 email address.
|
|
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
|
|
// A password for the user account.
|
|
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` // Ignored with unlink operations.
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,3,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountEmail) Reset() {
|
|
*x = AccountEmail{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountEmail) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountEmail) ProtoMessage() {}
|
|
|
|
func (x *AccountEmail) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[5]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountEmail.ProtoReflect.Descriptor instead.
|
|
func (*AccountEmail) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *AccountEmail) GetEmail() string {
|
|
if x != nil {
|
|
return x.Email
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountEmail) GetPassword() string {
|
|
if x != nil {
|
|
return x.Password
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountEmail) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Send a Facebook token to the server. Used with authenticate/link/unlink.
|
|
type AccountFacebook struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The OAuth token received from Facebook to access their profile API.
|
|
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountFacebook) Reset() {
|
|
*x = AccountFacebook{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountFacebook) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountFacebook) ProtoMessage() {}
|
|
|
|
func (x *AccountFacebook) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[6]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountFacebook.ProtoReflect.Descriptor instead.
|
|
func (*AccountFacebook) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *AccountFacebook) GetToken() string {
|
|
if x != nil {
|
|
return x.Token
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountFacebook) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Send a Facebook Instant Game token to the server. Used with authenticate/link/unlink.
|
|
type AccountFacebookInstantGame struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The OAuth token received from a Facebook Instant Game that may be decoded with the Application Secret (must be available with the nakama configuration)
|
|
SignedPlayerInfo string `protobuf:"bytes,1,opt,name=signed_player_info,json=signedPlayerInfo,proto3" json:"signed_player_info,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountFacebookInstantGame) Reset() {
|
|
*x = AccountFacebookInstantGame{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountFacebookInstantGame) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountFacebookInstantGame) ProtoMessage() {}
|
|
|
|
func (x *AccountFacebookInstantGame) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[7]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountFacebookInstantGame.ProtoReflect.Descriptor instead.
|
|
func (*AccountFacebookInstantGame) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *AccountFacebookInstantGame) GetSignedPlayerInfo() string {
|
|
if x != nil {
|
|
return x.SignedPlayerInfo
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountFacebookInstantGame) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Send Apple's Game Center account credentials to the server. Used with authenticate/link/unlink.
|
|
type AccountGameCenter struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Player ID (generated by GameCenter).
|
|
PlayerId string `protobuf:"bytes,1,opt,name=player_id,json=playerId,proto3" json:"player_id,omitempty"`
|
|
// Bundle ID (generated by GameCenter).
|
|
BundleId string `protobuf:"bytes,2,opt,name=bundle_id,json=bundleId,proto3" json:"bundle_id,omitempty"`
|
|
// Time since UNIX epoch when the signature was created.
|
|
TimestampSeconds int64 `protobuf:"varint,3,opt,name=timestamp_seconds,json=timestampSeconds,proto3" json:"timestamp_seconds,omitempty"`
|
|
// A random "NSString" used to compute the hash and keep it randomized.
|
|
Salt string `protobuf:"bytes,4,opt,name=salt,proto3" json:"salt,omitempty"`
|
|
// The verification signature data generated.
|
|
Signature string `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
|
|
// The URL for the public encryption key.
|
|
PublicKeyUrl string `protobuf:"bytes,6,opt,name=public_key_url,json=publicKeyUrl,proto3" json:"public_key_url,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,7,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountGameCenter) Reset() {
|
|
*x = AccountGameCenter{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountGameCenter) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountGameCenter) ProtoMessage() {}
|
|
|
|
func (x *AccountGameCenter) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[8]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountGameCenter.ProtoReflect.Descriptor instead.
|
|
func (*AccountGameCenter) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *AccountGameCenter) GetPlayerId() string {
|
|
if x != nil {
|
|
return x.PlayerId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountGameCenter) GetBundleId() string {
|
|
if x != nil {
|
|
return x.BundleId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountGameCenter) GetTimestampSeconds() int64 {
|
|
if x != nil {
|
|
return x.TimestampSeconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *AccountGameCenter) GetSalt() string {
|
|
if x != nil {
|
|
return x.Salt
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountGameCenter) GetSignature() string {
|
|
if x != nil {
|
|
return x.Signature
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountGameCenter) GetPublicKeyUrl() string {
|
|
if x != nil {
|
|
return x.PublicKeyUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountGameCenter) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Send a Google token to the server. Used with authenticate/link/unlink.
|
|
type AccountGoogle struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The OAuth token received from Google to access their profile API.
|
|
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountGoogle) Reset() {
|
|
*x = AccountGoogle{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountGoogle) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountGoogle) ProtoMessage() {}
|
|
|
|
func (x *AccountGoogle) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[9]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountGoogle.ProtoReflect.Descriptor instead.
|
|
func (*AccountGoogle) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *AccountGoogle) GetToken() string {
|
|
if x != nil {
|
|
return x.Token
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountGoogle) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Send a Steam token to the server. Used with authenticate/link/unlink.
|
|
type AccountSteam struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The account token received from Steam to access their profile API.
|
|
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccountSteam) Reset() {
|
|
*x = AccountSteam{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccountSteam) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccountSteam) ProtoMessage() {}
|
|
|
|
func (x *AccountSteam) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[10]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccountSteam.ProtoReflect.Descriptor instead.
|
|
func (*AccountSteam) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
func (x *AccountSteam) GetToken() string {
|
|
if x != nil {
|
|
return x.Token
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccountSteam) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Add one or more friends to the current user.
|
|
type AddFriendsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The account id of a user.
|
|
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
|
|
// The account username of a user.
|
|
Usernames []string `protobuf:"bytes,2,rep,name=usernames,proto3" json:"usernames,omitempty"`
|
|
}
|
|
|
|
func (x *AddFriendsRequest) Reset() {
|
|
*x = AddFriendsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AddFriendsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AddFriendsRequest) ProtoMessage() {}
|
|
|
|
func (x *AddFriendsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[11]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AddFriendsRequest.ProtoReflect.Descriptor instead.
|
|
func (*AddFriendsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *AddFriendsRequest) GetIds() []string {
|
|
if x != nil {
|
|
return x.Ids
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AddFriendsRequest) GetUsernames() []string {
|
|
if x != nil {
|
|
return x.Usernames
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Add users to a group.
|
|
type AddGroupUsersRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The group to add users to.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
// The users to add.
|
|
UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
|
|
}
|
|
|
|
func (x *AddGroupUsersRequest) Reset() {
|
|
*x = AddGroupUsersRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AddGroupUsersRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AddGroupUsersRequest) ProtoMessage() {}
|
|
|
|
func (x *AddGroupUsersRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[12]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AddGroupUsersRequest.ProtoReflect.Descriptor instead.
|
|
func (*AddGroupUsersRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *AddGroupUsersRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AddGroupUsersRequest) GetUserIds() []string {
|
|
if x != nil {
|
|
return x.UserIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Authenticate against the server with a refresh token.
|
|
type SessionRefreshRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Refresh token.
|
|
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
|
|
// Extra information that will be bundled in the session token.
|
|
Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *SessionRefreshRequest) Reset() {
|
|
*x = SessionRefreshRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SessionRefreshRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SessionRefreshRequest) ProtoMessage() {}
|
|
|
|
func (x *SessionRefreshRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[13]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SessionRefreshRequest.ProtoReflect.Descriptor instead.
|
|
func (*SessionRefreshRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *SessionRefreshRequest) GetToken() string {
|
|
if x != nil {
|
|
return x.Token
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SessionRefreshRequest) GetVars() map[string]string {
|
|
if x != nil {
|
|
return x.Vars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.
|
|
type SessionLogoutRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Session token to log out.
|
|
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
|
|
// Refresh token to invalidate.
|
|
RefreshToken string `protobuf:"bytes,2,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"`
|
|
}
|
|
|
|
func (x *SessionLogoutRequest) Reset() {
|
|
*x = SessionLogoutRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[14]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SessionLogoutRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SessionLogoutRequest) ProtoMessage() {}
|
|
|
|
func (x *SessionLogoutRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[14]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SessionLogoutRequest.ProtoReflect.Descriptor instead.
|
|
func (*SessionLogoutRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
func (x *SessionLogoutRequest) GetToken() string {
|
|
if x != nil {
|
|
return x.Token
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SessionLogoutRequest) GetRefreshToken() string {
|
|
if x != nil {
|
|
return x.RefreshToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Authenticate against the server with Apple Sign In.
|
|
type AuthenticateAppleRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Apple account details.
|
|
Account *AccountApple `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Register the account if the user does not already exist.
|
|
Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"`
|
|
// Set the username on the account at register. Must be unique.
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateAppleRequest) Reset() {
|
|
*x = AuthenticateAppleRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[15]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateAppleRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateAppleRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateAppleRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[15]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateAppleRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateAppleRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{15}
|
|
}
|
|
|
|
func (x *AuthenticateAppleRequest) GetAccount() *AccountApple {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateAppleRequest) GetCreate() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Create
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateAppleRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Authenticate against the server with a custom ID.
|
|
type AuthenticateCustomRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The custom account details.
|
|
Account *AccountCustom `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Register the account if the user does not already exist.
|
|
Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"`
|
|
// Set the username on the account at register. Must be unique.
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateCustomRequest) Reset() {
|
|
*x = AuthenticateCustomRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[16]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateCustomRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateCustomRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateCustomRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[16]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateCustomRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateCustomRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{16}
|
|
}
|
|
|
|
func (x *AuthenticateCustomRequest) GetAccount() *AccountCustom {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateCustomRequest) GetCreate() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Create
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateCustomRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Authenticate against the server with a device ID.
|
|
type AuthenticateDeviceRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The device account details.
|
|
Account *AccountDevice `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Register the account if the user does not already exist.
|
|
Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"`
|
|
// Set the username on the account at register. Must be unique.
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateDeviceRequest) Reset() {
|
|
*x = AuthenticateDeviceRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[17]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateDeviceRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateDeviceRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateDeviceRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[17]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateDeviceRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateDeviceRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{17}
|
|
}
|
|
|
|
func (x *AuthenticateDeviceRequest) GetAccount() *AccountDevice {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateDeviceRequest) GetCreate() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Create
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateDeviceRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Authenticate against the server with email+password.
|
|
type AuthenticateEmailRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The email account details.
|
|
Account *AccountEmail `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Register the account if the user does not already exist.
|
|
Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"`
|
|
// Set the username on the account at register. Must be unique.
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateEmailRequest) Reset() {
|
|
*x = AuthenticateEmailRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[18]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateEmailRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateEmailRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateEmailRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[18]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateEmailRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateEmailRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{18}
|
|
}
|
|
|
|
func (x *AuthenticateEmailRequest) GetAccount() *AccountEmail {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateEmailRequest) GetCreate() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Create
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateEmailRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Authenticate against the server with Facebook.
|
|
type AuthenticateFacebookRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Facebook account details.
|
|
Account *AccountFacebook `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Register the account if the user does not already exist.
|
|
Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"`
|
|
// Set the username on the account at register. Must be unique.
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
// Import Facebook friends for the user.
|
|
Sync *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=sync,proto3" json:"sync,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateFacebookRequest) Reset() {
|
|
*x = AuthenticateFacebookRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[19]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateFacebookRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateFacebookRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateFacebookRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[19]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateFacebookRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateFacebookRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{19}
|
|
}
|
|
|
|
func (x *AuthenticateFacebookRequest) GetAccount() *AccountFacebook {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateFacebookRequest) GetCreate() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Create
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateFacebookRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AuthenticateFacebookRequest) GetSync() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Sync
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Authenticate against the server with Facebook Instant Game token.
|
|
type AuthenticateFacebookInstantGameRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Facebook Instant Game account details.
|
|
Account *AccountFacebookInstantGame `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Register the account if the user does not already exist.
|
|
Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"`
|
|
// Set the username on the account at register. Must be unique.
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateFacebookInstantGameRequest) Reset() {
|
|
*x = AuthenticateFacebookInstantGameRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[20]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateFacebookInstantGameRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateFacebookInstantGameRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateFacebookInstantGameRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[20]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateFacebookInstantGameRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateFacebookInstantGameRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{20}
|
|
}
|
|
|
|
func (x *AuthenticateFacebookInstantGameRequest) GetAccount() *AccountFacebookInstantGame {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateFacebookInstantGameRequest) GetCreate() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Create
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateFacebookInstantGameRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Authenticate against the server with Apple's Game Center.
|
|
type AuthenticateGameCenterRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Game Center account details.
|
|
Account *AccountGameCenter `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Register the account if the user does not already exist.
|
|
Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"`
|
|
// Set the username on the account at register. Must be unique.
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateGameCenterRequest) Reset() {
|
|
*x = AuthenticateGameCenterRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[21]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateGameCenterRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateGameCenterRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateGameCenterRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[21]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateGameCenterRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateGameCenterRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{21}
|
|
}
|
|
|
|
func (x *AuthenticateGameCenterRequest) GetAccount() *AccountGameCenter {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateGameCenterRequest) GetCreate() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Create
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateGameCenterRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Authenticate against the server with Google.
|
|
type AuthenticateGoogleRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Google account details.
|
|
Account *AccountGoogle `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Register the account if the user does not already exist.
|
|
Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"`
|
|
// Set the username on the account at register. Must be unique.
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateGoogleRequest) Reset() {
|
|
*x = AuthenticateGoogleRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[22]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateGoogleRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateGoogleRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateGoogleRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[22]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateGoogleRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateGoogleRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{22}
|
|
}
|
|
|
|
func (x *AuthenticateGoogleRequest) GetAccount() *AccountGoogle {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateGoogleRequest) GetCreate() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Create
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateGoogleRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Authenticate against the server with Steam.
|
|
type AuthenticateSteamRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Steam account details.
|
|
Account *AccountSteam `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Register the account if the user does not already exist.
|
|
Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"`
|
|
// Set the username on the account at register. Must be unique.
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
// Import Steam friends for the user.
|
|
Sync *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=sync,proto3" json:"sync,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateSteamRequest) Reset() {
|
|
*x = AuthenticateSteamRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[23]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateSteamRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateSteamRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateSteamRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[23]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateSteamRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateSteamRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{23}
|
|
}
|
|
|
|
func (x *AuthenticateSteamRequest) GetAccount() *AccountSteam {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateSteamRequest) GetCreate() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Create
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateSteamRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AuthenticateSteamRequest) GetSync() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Sync
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Ban users from a group.
|
|
type BanGroupUsersRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The group to ban users from.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
// The users to ban.
|
|
UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
|
|
}
|
|
|
|
func (x *BanGroupUsersRequest) Reset() {
|
|
*x = BanGroupUsersRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[24]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *BanGroupUsersRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*BanGroupUsersRequest) ProtoMessage() {}
|
|
|
|
func (x *BanGroupUsersRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[24]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use BanGroupUsersRequest.ProtoReflect.Descriptor instead.
|
|
func (*BanGroupUsersRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{24}
|
|
}
|
|
|
|
func (x *BanGroupUsersRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BanGroupUsersRequest) GetUserIds() []string {
|
|
if x != nil {
|
|
return x.UserIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Block one or more friends for the current user.
|
|
type BlockFriendsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The account id of a user.
|
|
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
|
|
// The account username of a user.
|
|
Usernames []string `protobuf:"bytes,2,rep,name=usernames,proto3" json:"usernames,omitempty"`
|
|
}
|
|
|
|
func (x *BlockFriendsRequest) Reset() {
|
|
*x = BlockFriendsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[25]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *BlockFriendsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*BlockFriendsRequest) ProtoMessage() {}
|
|
|
|
func (x *BlockFriendsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[25]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use BlockFriendsRequest.ProtoReflect.Descriptor instead.
|
|
func (*BlockFriendsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{25}
|
|
}
|
|
|
|
func (x *BlockFriendsRequest) GetIds() []string {
|
|
if x != nil {
|
|
return x.Ids
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockFriendsRequest) GetUsernames() []string {
|
|
if x != nil {
|
|
return x.Usernames
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A message sent on a channel.
|
|
type ChannelMessage struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The channel this message belongs to.
|
|
ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
|
|
// The unique ID of this message.
|
|
MessageId string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
|
|
// The code representing a message type or category.
|
|
Code *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`
|
|
// Message sender, usually a user ID.
|
|
SenderId string `protobuf:"bytes,4,opt,name=sender_id,json=senderId,proto3" json:"sender_id,omitempty"`
|
|
// The username of the message sender, if any.
|
|
Username string `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"`
|
|
// The content payload.
|
|
Content string `protobuf:"bytes,6,opt,name=content,proto3" json:"content,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was created.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was last updated.
|
|
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
|
|
// True if the message was persisted to the channel's history, false otherwise.
|
|
Persistent *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=persistent,proto3" json:"persistent,omitempty"`
|
|
// The name of the chat room, or an empty string if this message was not sent through a chat room.
|
|
RoomName string `protobuf:"bytes,10,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
|
|
// The ID of the group, or an empty string if this message was not sent through a group channel.
|
|
GroupId string `protobuf:"bytes,11,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
// The ID of the first DM user, or an empty string if this message was not sent through a DM chat.
|
|
UserIdOne string `protobuf:"bytes,12,opt,name=user_id_one,json=userIdOne,proto3" json:"user_id_one,omitempty"`
|
|
// The ID of the second DM user, or an empty string if this message was not sent through a DM chat.
|
|
UserIdTwo string `protobuf:"bytes,13,opt,name=user_id_two,json=userIdTwo,proto3" json:"user_id_two,omitempty"`
|
|
}
|
|
|
|
func (x *ChannelMessage) Reset() {
|
|
*x = ChannelMessage{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[26]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ChannelMessage) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ChannelMessage) ProtoMessage() {}
|
|
|
|
func (x *ChannelMessage) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[26]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ChannelMessage.ProtoReflect.Descriptor instead.
|
|
func (*ChannelMessage) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{26}
|
|
}
|
|
|
|
func (x *ChannelMessage) GetChannelId() string {
|
|
if x != nil {
|
|
return x.ChannelId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessage) GetMessageId() string {
|
|
if x != nil {
|
|
return x.MessageId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessage) GetCode() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Code
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ChannelMessage) GetSenderId() string {
|
|
if x != nil {
|
|
return x.SenderId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessage) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessage) GetContent() string {
|
|
if x != nil {
|
|
return x.Content
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessage) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ChannelMessage) GetUpdateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.UpdateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ChannelMessage) GetPersistent() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Persistent
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ChannelMessage) GetRoomName() string {
|
|
if x != nil {
|
|
return x.RoomName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessage) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessage) GetUserIdOne() string {
|
|
if x != nil {
|
|
return x.UserIdOne
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessage) GetUserIdTwo() string {
|
|
if x != nil {
|
|
return x.UserIdTwo
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A list of channel messages, usually a result of a list operation.
|
|
type ChannelMessageList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// A list of messages.
|
|
Messages []*ChannelMessage `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
|
|
// The cursor to send when retrieving the next page, if any.
|
|
NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"`
|
|
// The cursor to send when retrieving the previous page, if any.
|
|
PrevCursor string `protobuf:"bytes,3,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"`
|
|
// Cacheable cursor to list newer messages. Durable and designed to be stored, unlike next/prev cursors.
|
|
CacheableCursor string `protobuf:"bytes,4,opt,name=cacheable_cursor,json=cacheableCursor,proto3" json:"cacheable_cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ChannelMessageList) Reset() {
|
|
*x = ChannelMessageList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[27]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ChannelMessageList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ChannelMessageList) ProtoMessage() {}
|
|
|
|
func (x *ChannelMessageList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[27]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ChannelMessageList.ProtoReflect.Descriptor instead.
|
|
func (*ChannelMessageList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{27}
|
|
}
|
|
|
|
func (x *ChannelMessageList) GetMessages() []*ChannelMessage {
|
|
if x != nil {
|
|
return x.Messages
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ChannelMessageList) GetNextCursor() string {
|
|
if x != nil {
|
|
return x.NextCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessageList) GetPrevCursor() string {
|
|
if x != nil {
|
|
return x.PrevCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChannelMessageList) GetCacheableCursor() string {
|
|
if x != nil {
|
|
return x.CacheableCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Create a group with the current user as owner.
|
|
type CreateGroupRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// A unique name for the group.
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// A description for the group.
|
|
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
|
|
// The language expected to be a tag which follows the BCP-47 spec.
|
|
LangTag string `protobuf:"bytes,3,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"`
|
|
// A URL for an avatar image.
|
|
AvatarUrl string `protobuf:"bytes,4,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
|
|
// Mark a group as open or not where only admins can accept members.
|
|
Open bool `protobuf:"varint,5,opt,name=open,proto3" json:"open,omitempty"`
|
|
// Maximum number of group members.
|
|
MaxCount int32 `protobuf:"varint,6,opt,name=max_count,json=maxCount,proto3" json:"max_count,omitempty"`
|
|
}
|
|
|
|
func (x *CreateGroupRequest) Reset() {
|
|
*x = CreateGroupRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[28]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *CreateGroupRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CreateGroupRequest) ProtoMessage() {}
|
|
|
|
func (x *CreateGroupRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[28]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CreateGroupRequest.ProtoReflect.Descriptor instead.
|
|
func (*CreateGroupRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{28}
|
|
}
|
|
|
|
func (x *CreateGroupRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateGroupRequest) GetDescription() string {
|
|
if x != nil {
|
|
return x.Description
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateGroupRequest) GetLangTag() string {
|
|
if x != nil {
|
|
return x.LangTag
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateGroupRequest) GetAvatarUrl() string {
|
|
if x != nil {
|
|
return x.AvatarUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateGroupRequest) GetOpen() bool {
|
|
if x != nil {
|
|
return x.Open
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *CreateGroupRequest) GetMaxCount() int32 {
|
|
if x != nil {
|
|
return x.MaxCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// Delete one or more friends for the current user.
|
|
type DeleteFriendsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The account id of a user.
|
|
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
|
|
// The account username of a user.
|
|
Usernames []string `protobuf:"bytes,2,rep,name=usernames,proto3" json:"usernames,omitempty"`
|
|
}
|
|
|
|
func (x *DeleteFriendsRequest) Reset() {
|
|
*x = DeleteFriendsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[29]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DeleteFriendsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteFriendsRequest) ProtoMessage() {}
|
|
|
|
func (x *DeleteFriendsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[29]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteFriendsRequest.ProtoReflect.Descriptor instead.
|
|
func (*DeleteFriendsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{29}
|
|
}
|
|
|
|
func (x *DeleteFriendsRequest) GetIds() []string {
|
|
if x != nil {
|
|
return x.Ids
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *DeleteFriendsRequest) GetUsernames() []string {
|
|
if x != nil {
|
|
return x.Usernames
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Delete a group the user has access to.
|
|
type DeleteGroupRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The id of a group.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
}
|
|
|
|
func (x *DeleteGroupRequest) Reset() {
|
|
*x = DeleteGroupRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[30]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DeleteGroupRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteGroupRequest) ProtoMessage() {}
|
|
|
|
func (x *DeleteGroupRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[30]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteGroupRequest.ProtoReflect.Descriptor instead.
|
|
func (*DeleteGroupRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{30}
|
|
}
|
|
|
|
func (x *DeleteGroupRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Delete a leaderboard record.
|
|
type DeleteLeaderboardRecordRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The leaderboard ID to delete from.
|
|
LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"`
|
|
}
|
|
|
|
func (x *DeleteLeaderboardRecordRequest) Reset() {
|
|
*x = DeleteLeaderboardRecordRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[31]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DeleteLeaderboardRecordRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteLeaderboardRecordRequest) ProtoMessage() {}
|
|
|
|
func (x *DeleteLeaderboardRecordRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[31]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteLeaderboardRecordRequest.ProtoReflect.Descriptor instead.
|
|
func (*DeleteLeaderboardRecordRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{31}
|
|
}
|
|
|
|
func (x *DeleteLeaderboardRecordRequest) GetLeaderboardId() string {
|
|
if x != nil {
|
|
return x.LeaderboardId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Delete one or more notifications for the current user.
|
|
type DeleteNotificationsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The id of notifications.
|
|
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
|
|
}
|
|
|
|
func (x *DeleteNotificationsRequest) Reset() {
|
|
*x = DeleteNotificationsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[32]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DeleteNotificationsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteNotificationsRequest) ProtoMessage() {}
|
|
|
|
func (x *DeleteNotificationsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[32]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteNotificationsRequest.ProtoReflect.Descriptor instead.
|
|
func (*DeleteNotificationsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{32}
|
|
}
|
|
|
|
func (x *DeleteNotificationsRequest) GetIds() []string {
|
|
if x != nil {
|
|
return x.Ids
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Delete a leaderboard record.
|
|
type DeleteTournamentRecordRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The tournament ID to delete from.
|
|
TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"`
|
|
}
|
|
|
|
func (x *DeleteTournamentRecordRequest) Reset() {
|
|
*x = DeleteTournamentRecordRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[33]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DeleteTournamentRecordRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteTournamentRecordRequest) ProtoMessage() {}
|
|
|
|
func (x *DeleteTournamentRecordRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[33]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteTournamentRecordRequest.ProtoReflect.Descriptor instead.
|
|
func (*DeleteTournamentRecordRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{33}
|
|
}
|
|
|
|
func (x *DeleteTournamentRecordRequest) GetTournamentId() string {
|
|
if x != nil {
|
|
return x.TournamentId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Storage objects to delete.
|
|
type DeleteStorageObjectId struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The collection which stores the object.
|
|
Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
// The key of the object within the collection.
|
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
|
// The version hash of the object.
|
|
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
|
|
}
|
|
|
|
func (x *DeleteStorageObjectId) Reset() {
|
|
*x = DeleteStorageObjectId{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[34]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DeleteStorageObjectId) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteStorageObjectId) ProtoMessage() {}
|
|
|
|
func (x *DeleteStorageObjectId) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[34]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteStorageObjectId.ProtoReflect.Descriptor instead.
|
|
func (*DeleteStorageObjectId) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{34}
|
|
}
|
|
|
|
func (x *DeleteStorageObjectId) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DeleteStorageObjectId) GetKey() string {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DeleteStorageObjectId) GetVersion() string {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Batch delete storage objects.
|
|
type DeleteStorageObjectsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Batch of storage objects.
|
|
ObjectIds []*DeleteStorageObjectId `protobuf:"bytes,1,rep,name=object_ids,json=objectIds,proto3" json:"object_ids,omitempty"`
|
|
}
|
|
|
|
func (x *DeleteStorageObjectsRequest) Reset() {
|
|
*x = DeleteStorageObjectsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[35]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DeleteStorageObjectsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteStorageObjectsRequest) ProtoMessage() {}
|
|
|
|
func (x *DeleteStorageObjectsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[35]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteStorageObjectsRequest.ProtoReflect.Descriptor instead.
|
|
func (*DeleteStorageObjectsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{35}
|
|
}
|
|
|
|
func (x *DeleteStorageObjectsRequest) GetObjectIds() []*DeleteStorageObjectId {
|
|
if x != nil {
|
|
return x.ObjectIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Represents an event to be passed through the server to registered event handlers.
|
|
type Event struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// An event name, type, category, or identifier.
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// Arbitrary event property values.
|
|
Properties map[string]string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
// The time when the event was triggered.
|
|
Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
// True if the event came directly from a client call, false otherwise.
|
|
External bool `protobuf:"varint,4,opt,name=external,proto3" json:"external,omitempty"`
|
|
}
|
|
|
|
func (x *Event) Reset() {
|
|
*x = Event{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[36]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Event) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Event) ProtoMessage() {}
|
|
|
|
func (x *Event) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[36]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Event.ProtoReflect.Descriptor instead.
|
|
func (*Event) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{36}
|
|
}
|
|
|
|
func (x *Event) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Event) GetProperties() map[string]string {
|
|
if x != nil {
|
|
return x.Properties
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Event) GetTimestamp() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Event) GetExternal() bool {
|
|
if x != nil {
|
|
return x.External
|
|
}
|
|
return false
|
|
}
|
|
|
|
// A friend of a user.
|
|
type Friend struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The user object.
|
|
User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
|
|
// The friend status.
|
|
State *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` // one of "Friend.State".
|
|
// Time of the latest relationship update.
|
|
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
|
|
}
|
|
|
|
func (x *Friend) Reset() {
|
|
*x = Friend{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[37]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Friend) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Friend) ProtoMessage() {}
|
|
|
|
func (x *Friend) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[37]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Friend.ProtoReflect.Descriptor instead.
|
|
func (*Friend) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{37}
|
|
}
|
|
|
|
func (x *Friend) GetUser() *User {
|
|
if x != nil {
|
|
return x.User
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Friend) GetState() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.State
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Friend) GetUpdateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.UpdateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A collection of zero or more friends of the user.
|
|
type FriendList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Friend objects.
|
|
Friends []*Friend `protobuf:"bytes,1,rep,name=friends,proto3" json:"friends,omitempty"`
|
|
// Cursor for the next page of results, if any.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *FriendList) Reset() {
|
|
*x = FriendList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[38]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *FriendList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FriendList) ProtoMessage() {}
|
|
|
|
func (x *FriendList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[38]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FriendList.ProtoReflect.Descriptor instead.
|
|
func (*FriendList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{38}
|
|
}
|
|
|
|
func (x *FriendList) GetFriends() []*Friend {
|
|
if x != nil {
|
|
return x.Friends
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *FriendList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A List of friends of friends
|
|
type FriendsOfFriendsList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// User friends of friends.
|
|
FriendsOfFriends []*FriendsOfFriendsList_FriendOfFriend `protobuf:"bytes,1,rep,name=friends_of_friends,json=friendsOfFriends,proto3" json:"friends_of_friends,omitempty"`
|
|
// Cursor for the next page of results, if any.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *FriendsOfFriendsList) Reset() {
|
|
*x = FriendsOfFriendsList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[39]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *FriendsOfFriendsList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FriendsOfFriendsList) ProtoMessage() {}
|
|
|
|
func (x *FriendsOfFriendsList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[39]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FriendsOfFriendsList.ProtoReflect.Descriptor instead.
|
|
func (*FriendsOfFriendsList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{39}
|
|
}
|
|
|
|
func (x *FriendsOfFriendsList) GetFriendsOfFriends() []*FriendsOfFriendsList_FriendOfFriend {
|
|
if x != nil {
|
|
return x.FriendsOfFriends
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *FriendsOfFriendsList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Fetch a batch of zero or more users from the server.
|
|
type GetUsersRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The account id of a user.
|
|
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
|
|
// The account username of a user.
|
|
Usernames []string `protobuf:"bytes,2,rep,name=usernames,proto3" json:"usernames,omitempty"`
|
|
// The Facebook ID of a user.
|
|
FacebookIds []string `protobuf:"bytes,3,rep,name=facebook_ids,json=facebookIds,proto3" json:"facebook_ids,omitempty"`
|
|
}
|
|
|
|
func (x *GetUsersRequest) Reset() {
|
|
*x = GetUsersRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[40]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *GetUsersRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetUsersRequest) ProtoMessage() {}
|
|
|
|
func (x *GetUsersRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[40]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetUsersRequest.ProtoReflect.Descriptor instead.
|
|
func (*GetUsersRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{40}
|
|
}
|
|
|
|
func (x *GetUsersRequest) GetIds() []string {
|
|
if x != nil {
|
|
return x.Ids
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GetUsersRequest) GetUsernames() []string {
|
|
if x != nil {
|
|
return x.Usernames
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GetUsersRequest) GetFacebookIds() []string {
|
|
if x != nil {
|
|
return x.FacebookIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Fetch a subscription by product id.
|
|
type GetSubscriptionRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Product id of the subscription
|
|
ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
|
|
}
|
|
|
|
func (x *GetSubscriptionRequest) Reset() {
|
|
*x = GetSubscriptionRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[41]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *GetSubscriptionRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetSubscriptionRequest) ProtoMessage() {}
|
|
|
|
func (x *GetSubscriptionRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[41]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetSubscriptionRequest.ProtoReflect.Descriptor instead.
|
|
func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{41}
|
|
}
|
|
|
|
func (x *GetSubscriptionRequest) GetProductId() string {
|
|
if x != nil {
|
|
return x.ProductId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A group in the server.
|
|
type Group struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The id of a group.
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
// The id of the user who created the group.
|
|
CreatorId string `protobuf:"bytes,2,opt,name=creator_id,json=creatorId,proto3" json:"creator_id,omitempty"`
|
|
// The unique name of the group.
|
|
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
|
|
// A description for the group.
|
|
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
|
|
// The language expected to be a tag which follows the BCP-47 spec.
|
|
LangTag string `protobuf:"bytes,5,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"`
|
|
// Additional information stored as a JSON object.
|
|
Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
|
// A URL for an avatar image.
|
|
AvatarUrl string `protobuf:"bytes,7,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
|
|
// Anyone can join open groups, otherwise only admins can accept members.
|
|
Open *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=open,proto3" json:"open,omitempty"`
|
|
// The current count of all members in the group.
|
|
EdgeCount int32 `protobuf:"varint,9,opt,name=edge_count,json=edgeCount,proto3" json:"edge_count,omitempty"`
|
|
// The maximum number of members allowed.
|
|
MaxCount int32 `protobuf:"varint,10,opt,name=max_count,json=maxCount,proto3" json:"max_count,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the group was created.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the group was last updated.
|
|
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
|
|
}
|
|
|
|
func (x *Group) Reset() {
|
|
*x = Group{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[42]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Group) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Group) ProtoMessage() {}
|
|
|
|
func (x *Group) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[42]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Group.ProtoReflect.Descriptor instead.
|
|
func (*Group) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{42}
|
|
}
|
|
|
|
func (x *Group) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Group) GetCreatorId() string {
|
|
if x != nil {
|
|
return x.CreatorId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Group) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Group) GetDescription() string {
|
|
if x != nil {
|
|
return x.Description
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Group) GetLangTag() string {
|
|
if x != nil {
|
|
return x.LangTag
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Group) GetMetadata() string {
|
|
if x != nil {
|
|
return x.Metadata
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Group) GetAvatarUrl() string {
|
|
if x != nil {
|
|
return x.AvatarUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Group) GetOpen() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Open
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Group) GetEdgeCount() int32 {
|
|
if x != nil {
|
|
return x.EdgeCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Group) GetMaxCount() int32 {
|
|
if x != nil {
|
|
return x.MaxCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Group) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Group) GetUpdateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.UpdateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// One or more groups returned from a listing operation.
|
|
type GroupList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// One or more groups.
|
|
Groups []*Group `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups,omitempty"`
|
|
// A cursor used to get the next page.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *GroupList) Reset() {
|
|
*x = GroupList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[43]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *GroupList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GroupList) ProtoMessage() {}
|
|
|
|
func (x *GroupList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[43]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GroupList.ProtoReflect.Descriptor instead.
|
|
func (*GroupList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{43}
|
|
}
|
|
|
|
func (x *GroupList) GetGroups() []*Group {
|
|
if x != nil {
|
|
return x.Groups
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GroupList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A list of users belonging to a group, along with their role.
|
|
type GroupUserList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// User-role pairs for a group.
|
|
GroupUsers []*GroupUserList_GroupUser `protobuf:"bytes,1,rep,name=group_users,json=groupUsers,proto3" json:"group_users,omitempty"`
|
|
// Cursor for the next page of results, if any.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *GroupUserList) Reset() {
|
|
*x = GroupUserList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[44]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *GroupUserList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GroupUserList) ProtoMessage() {}
|
|
|
|
func (x *GroupUserList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[44]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GroupUserList.ProtoReflect.Descriptor instead.
|
|
func (*GroupUserList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{44}
|
|
}
|
|
|
|
func (x *GroupUserList) GetGroupUsers() []*GroupUserList_GroupUser {
|
|
if x != nil {
|
|
return x.GroupUsers
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GroupUserList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Import Facebook friends into the current user's account.
|
|
type ImportFacebookFriendsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Facebook account details.
|
|
Account *AccountFacebook `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Reset the current user's friends list.
|
|
Reset_ *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=reset,proto3" json:"reset,omitempty"`
|
|
}
|
|
|
|
func (x *ImportFacebookFriendsRequest) Reset() {
|
|
*x = ImportFacebookFriendsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[45]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ImportFacebookFriendsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ImportFacebookFriendsRequest) ProtoMessage() {}
|
|
|
|
func (x *ImportFacebookFriendsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[45]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ImportFacebookFriendsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ImportFacebookFriendsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{45}
|
|
}
|
|
|
|
func (x *ImportFacebookFriendsRequest) GetAccount() *AccountFacebook {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ImportFacebookFriendsRequest) GetReset_() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Reset_
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Import Facebook friends into the current user's account.
|
|
type ImportSteamFriendsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Facebook account details.
|
|
Account *AccountSteam `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Reset the current user's friends list.
|
|
Reset_ *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=reset,proto3" json:"reset,omitempty"`
|
|
}
|
|
|
|
func (x *ImportSteamFriendsRequest) Reset() {
|
|
*x = ImportSteamFriendsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[46]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ImportSteamFriendsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ImportSteamFriendsRequest) ProtoMessage() {}
|
|
|
|
func (x *ImportSteamFriendsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[46]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ImportSteamFriendsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ImportSteamFriendsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{46}
|
|
}
|
|
|
|
func (x *ImportSteamFriendsRequest) GetAccount() *AccountSteam {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ImportSteamFriendsRequest) GetReset_() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Reset_
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Immediately join an open group, or request to join a closed one.
|
|
type JoinGroupRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The group ID to join. The group must already exist.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
}
|
|
|
|
func (x *JoinGroupRequest) Reset() {
|
|
*x = JoinGroupRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[47]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *JoinGroupRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*JoinGroupRequest) ProtoMessage() {}
|
|
|
|
func (x *JoinGroupRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[47]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use JoinGroupRequest.ProtoReflect.Descriptor instead.
|
|
func (*JoinGroupRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{47}
|
|
}
|
|
|
|
func (x *JoinGroupRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// The request to join a tournament.
|
|
type JoinTournamentRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the tournament to join. The tournament must already exist.
|
|
TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"`
|
|
}
|
|
|
|
func (x *JoinTournamentRequest) Reset() {
|
|
*x = JoinTournamentRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[48]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *JoinTournamentRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*JoinTournamentRequest) ProtoMessage() {}
|
|
|
|
func (x *JoinTournamentRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[48]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use JoinTournamentRequest.ProtoReflect.Descriptor instead.
|
|
func (*JoinTournamentRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{48}
|
|
}
|
|
|
|
func (x *JoinTournamentRequest) GetTournamentId() string {
|
|
if x != nil {
|
|
return x.TournamentId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Kick a set of users from a group.
|
|
type KickGroupUsersRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The group ID to kick from.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
// The users to kick.
|
|
UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
|
|
}
|
|
|
|
func (x *KickGroupUsersRequest) Reset() {
|
|
*x = KickGroupUsersRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[49]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *KickGroupUsersRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*KickGroupUsersRequest) ProtoMessage() {}
|
|
|
|
func (x *KickGroupUsersRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[49]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use KickGroupUsersRequest.ProtoReflect.Descriptor instead.
|
|
func (*KickGroupUsersRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{49}
|
|
}
|
|
|
|
func (x *KickGroupUsersRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *KickGroupUsersRequest) GetUserIds() []string {
|
|
if x != nil {
|
|
return x.UserIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A leaderboard on the server.
|
|
type Leaderboard struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the leaderboard.
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
// ASC(0) or DESC(1) sort mode of scores in the leaderboard.
|
|
SortOrder uint32 `protobuf:"varint,2,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
|
|
// BEST, SET, INCREMENT or DECREMENT operator mode of the leaderboard.
|
|
Operator Operator `protobuf:"varint,3,opt,name=operator,proto3,enum=nakama.api.Operator" json:"operator,omitempty"`
|
|
// The UNIX time when the leaderboard was previously reset. A computed value.
|
|
PrevReset uint32 `protobuf:"varint,4,opt,name=prev_reset,json=prevReset,proto3" json:"prev_reset,omitempty"`
|
|
// The UNIX time when the leaderboard is next playable. A computed value.
|
|
NextReset uint32 `protobuf:"varint,5,opt,name=next_reset,json=nextReset,proto3" json:"next_reset,omitempty"`
|
|
// Additional information stored as a JSON object.
|
|
Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard was created.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// Whether the leaderboard was created authoritatively or not.
|
|
Authoritative bool `protobuf:"varint,8,opt,name=authoritative,proto3" json:"authoritative,omitempty"`
|
|
}
|
|
|
|
func (x *Leaderboard) Reset() {
|
|
*x = Leaderboard{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[50]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Leaderboard) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Leaderboard) ProtoMessage() {}
|
|
|
|
func (x *Leaderboard) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[50]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Leaderboard.ProtoReflect.Descriptor instead.
|
|
func (*Leaderboard) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{50}
|
|
}
|
|
|
|
func (x *Leaderboard) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Leaderboard) GetSortOrder() uint32 {
|
|
if x != nil {
|
|
return x.SortOrder
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Leaderboard) GetOperator() Operator {
|
|
if x != nil {
|
|
return x.Operator
|
|
}
|
|
return Operator_NO_OVERRIDE
|
|
}
|
|
|
|
func (x *Leaderboard) GetPrevReset() uint32 {
|
|
if x != nil {
|
|
return x.PrevReset
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Leaderboard) GetNextReset() uint32 {
|
|
if x != nil {
|
|
return x.NextReset
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Leaderboard) GetMetadata() string {
|
|
if x != nil {
|
|
return x.Metadata
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Leaderboard) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Leaderboard) GetAuthoritative() bool {
|
|
if x != nil {
|
|
return x.Authoritative
|
|
}
|
|
return false
|
|
}
|
|
|
|
// A list of leaderboards
|
|
type LeaderboardList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The list of leaderboards returned.
|
|
Leaderboards []*Leaderboard `protobuf:"bytes,1,rep,name=leaderboards,proto3" json:"leaderboards,omitempty"`
|
|
// A pagination cursor (optional).
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *LeaderboardList) Reset() {
|
|
*x = LeaderboardList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[51]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *LeaderboardList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LeaderboardList) ProtoMessage() {}
|
|
|
|
func (x *LeaderboardList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[51]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LeaderboardList.ProtoReflect.Descriptor instead.
|
|
func (*LeaderboardList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{51}
|
|
}
|
|
|
|
func (x *LeaderboardList) GetLeaderboards() []*Leaderboard {
|
|
if x != nil {
|
|
return x.Leaderboards
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LeaderboardList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Represents a complete leaderboard record with all scores and associated metadata.
|
|
type LeaderboardRecord struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the leaderboard this score belongs to.
|
|
LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"`
|
|
// The ID of the score owner, usually a user or group.
|
|
OwnerId string `protobuf:"bytes,2,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
|
// The username of the score owner, if the owner is a user.
|
|
Username *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
// The score value.
|
|
Score int64 `protobuf:"varint,4,opt,name=score,proto3" json:"score,omitempty"`
|
|
// An optional subscore value.
|
|
Subscore int64 `protobuf:"varint,5,opt,name=subscore,proto3" json:"subscore,omitempty"`
|
|
// The number of submissions to this score record.
|
|
NumScore int32 `protobuf:"varint,6,opt,name=num_score,json=numScore,proto3" json:"num_score,omitempty"`
|
|
// Metadata.
|
|
Metadata string `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record was created.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record was updated.
|
|
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record expires.
|
|
ExpiryTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=expiry_time,json=expiryTime,proto3" json:"expiry_time,omitempty"`
|
|
// The rank of this record.
|
|
Rank int64 `protobuf:"varint,11,opt,name=rank,proto3" json:"rank,omitempty"`
|
|
// The maximum number of score updates allowed by the owner.
|
|
MaxNumScore uint32 `protobuf:"varint,12,opt,name=max_num_score,json=maxNumScore,proto3" json:"max_num_score,omitempty"`
|
|
}
|
|
|
|
func (x *LeaderboardRecord) Reset() {
|
|
*x = LeaderboardRecord{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[52]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *LeaderboardRecord) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LeaderboardRecord) ProtoMessage() {}
|
|
|
|
func (x *LeaderboardRecord) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[52]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LeaderboardRecord.ProtoReflect.Descriptor instead.
|
|
func (*LeaderboardRecord) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{52}
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetLeaderboardId() string {
|
|
if x != nil {
|
|
return x.LeaderboardId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetOwnerId() string {
|
|
if x != nil {
|
|
return x.OwnerId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetUsername() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetScore() int64 {
|
|
if x != nil {
|
|
return x.Score
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetSubscore() int64 {
|
|
if x != nil {
|
|
return x.Subscore
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetNumScore() int32 {
|
|
if x != nil {
|
|
return x.NumScore
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetMetadata() string {
|
|
if x != nil {
|
|
return x.Metadata
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetUpdateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.UpdateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetExpiryTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.ExpiryTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetRank() int64 {
|
|
if x != nil {
|
|
return x.Rank
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LeaderboardRecord) GetMaxNumScore() uint32 {
|
|
if x != nil {
|
|
return x.MaxNumScore
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// A set of leaderboard records, may be part of a leaderboard records page or a batch of individual records.
|
|
type LeaderboardRecordList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// A list of leaderboard records.
|
|
Records []*LeaderboardRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
|
|
// A batched set of leaderboard records belonging to specified owners.
|
|
OwnerRecords []*LeaderboardRecord `protobuf:"bytes,2,rep,name=owner_records,json=ownerRecords,proto3" json:"owner_records,omitempty"`
|
|
// The cursor to send when retrieving the next page, if any.
|
|
NextCursor string `protobuf:"bytes,3,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"`
|
|
// The cursor to send when retrieving the previous page, if any.
|
|
PrevCursor string `protobuf:"bytes,4,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"`
|
|
// The total number of ranks available.
|
|
RankCount int64 `protobuf:"varint,5,opt,name=rank_count,json=rankCount,proto3" json:"rank_count,omitempty"`
|
|
}
|
|
|
|
func (x *LeaderboardRecordList) Reset() {
|
|
*x = LeaderboardRecordList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[53]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *LeaderboardRecordList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LeaderboardRecordList) ProtoMessage() {}
|
|
|
|
func (x *LeaderboardRecordList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[53]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LeaderboardRecordList.ProtoReflect.Descriptor instead.
|
|
func (*LeaderboardRecordList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{53}
|
|
}
|
|
|
|
func (x *LeaderboardRecordList) GetRecords() []*LeaderboardRecord {
|
|
if x != nil {
|
|
return x.Records
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LeaderboardRecordList) GetOwnerRecords() []*LeaderboardRecord {
|
|
if x != nil {
|
|
return x.OwnerRecords
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LeaderboardRecordList) GetNextCursor() string {
|
|
if x != nil {
|
|
return x.NextCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LeaderboardRecordList) GetPrevCursor() string {
|
|
if x != nil {
|
|
return x.PrevCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LeaderboardRecordList) GetRankCount() int64 {
|
|
if x != nil {
|
|
return x.RankCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// Leave a group.
|
|
type LeaveGroupRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The group ID to leave.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
}
|
|
|
|
func (x *LeaveGroupRequest) Reset() {
|
|
*x = LeaveGroupRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[54]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *LeaveGroupRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LeaveGroupRequest) ProtoMessage() {}
|
|
|
|
func (x *LeaveGroupRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[54]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LeaveGroupRequest.ProtoReflect.Descriptor instead.
|
|
func (*LeaveGroupRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{54}
|
|
}
|
|
|
|
func (x *LeaveGroupRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Link Facebook to the current user's account.
|
|
type LinkFacebookRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Facebook account details.
|
|
Account *AccountFacebook `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Import Facebook friends for the user.
|
|
Sync *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=sync,proto3" json:"sync,omitempty"`
|
|
}
|
|
|
|
func (x *LinkFacebookRequest) Reset() {
|
|
*x = LinkFacebookRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[55]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *LinkFacebookRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LinkFacebookRequest) ProtoMessage() {}
|
|
|
|
func (x *LinkFacebookRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[55]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LinkFacebookRequest.ProtoReflect.Descriptor instead.
|
|
func (*LinkFacebookRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{55}
|
|
}
|
|
|
|
func (x *LinkFacebookRequest) GetAccount() *AccountFacebook {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LinkFacebookRequest) GetSync() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Sync
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Link Steam to the current user's account.
|
|
type LinkSteamRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The Facebook account details.
|
|
Account *AccountSteam `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
|
|
// Import Steam friends for the user.
|
|
Sync *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=sync,proto3" json:"sync,omitempty"`
|
|
}
|
|
|
|
func (x *LinkSteamRequest) Reset() {
|
|
*x = LinkSteamRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[56]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *LinkSteamRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LinkSteamRequest) ProtoMessage() {}
|
|
|
|
func (x *LinkSteamRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[56]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LinkSteamRequest.ProtoReflect.Descriptor instead.
|
|
func (*LinkSteamRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{56}
|
|
}
|
|
|
|
func (x *LinkSteamRequest) GetAccount() *AccountSteam {
|
|
if x != nil {
|
|
return x.Account
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LinkSteamRequest) GetSync() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Sync
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// List a channel's message history.
|
|
type ListChannelMessagesRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The channel ID to list from.
|
|
ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// True if listing should be older messages to newer, false if reverse.
|
|
Forward *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=forward,proto3" json:"forward,omitempty"`
|
|
// A pagination cursor, if any.
|
|
Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ListChannelMessagesRequest) Reset() {
|
|
*x = ListChannelMessagesRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[57]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListChannelMessagesRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListChannelMessagesRequest) ProtoMessage() {}
|
|
|
|
func (x *ListChannelMessagesRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[57]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListChannelMessagesRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListChannelMessagesRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{57}
|
|
}
|
|
|
|
func (x *ListChannelMessagesRequest) GetChannelId() string {
|
|
if x != nil {
|
|
return x.ChannelId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListChannelMessagesRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListChannelMessagesRequest) GetForward() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Forward
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListChannelMessagesRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// List friends for a user.
|
|
type ListFriendsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// The friend state to list.
|
|
State *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
|
|
// An optional next page cursor.
|
|
Cursor string `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ListFriendsRequest) Reset() {
|
|
*x = ListFriendsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[58]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListFriendsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListFriendsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListFriendsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[58]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListFriendsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListFriendsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{58}
|
|
}
|
|
|
|
func (x *ListFriendsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListFriendsRequest) GetState() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.State
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListFriendsRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type ListFriendsOfFriendsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// An optional next page cursor.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ListFriendsOfFriendsRequest) Reset() {
|
|
*x = ListFriendsOfFriendsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[59]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListFriendsOfFriendsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListFriendsOfFriendsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListFriendsOfFriendsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[59]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListFriendsOfFriendsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListFriendsOfFriendsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{59}
|
|
}
|
|
|
|
func (x *ListFriendsOfFriendsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListFriendsOfFriendsRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// List groups based on given filters.
|
|
type ListGroupsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// List groups that contain this value in their names.
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// Optional pagination cursor.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
// Max number of groups to return. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// Language tag filter
|
|
LangTag string `protobuf:"bytes,4,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"`
|
|
// Number of group members
|
|
Members *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=members,proto3" json:"members,omitempty"`
|
|
// Optional Open/Closed filter.
|
|
Open *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=open,proto3" json:"open,omitempty"`
|
|
}
|
|
|
|
func (x *ListGroupsRequest) Reset() {
|
|
*x = ListGroupsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[60]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListGroupsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListGroupsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListGroupsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[60]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListGroupsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListGroupsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{60}
|
|
}
|
|
|
|
func (x *ListGroupsRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListGroupsRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListGroupsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListGroupsRequest) GetLangTag() string {
|
|
if x != nil {
|
|
return x.LangTag
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListGroupsRequest) GetMembers() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Members
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListGroupsRequest) GetOpen() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Open
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// List all users that are part of a group.
|
|
type ListGroupUsersRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The group ID to list from.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// The group user state to list.
|
|
State *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"`
|
|
// An optional next page cursor.
|
|
Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ListGroupUsersRequest) Reset() {
|
|
*x = ListGroupUsersRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[61]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListGroupUsersRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListGroupUsersRequest) ProtoMessage() {}
|
|
|
|
func (x *ListGroupUsersRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[61]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListGroupUsersRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListGroupUsersRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{61}
|
|
}
|
|
|
|
func (x *ListGroupUsersRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListGroupUsersRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListGroupUsersRequest) GetState() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.State
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListGroupUsersRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// List leaerboard records from a given leaderboard around the owner.
|
|
type ListLeaderboardRecordsAroundOwnerRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the tournament to list for.
|
|
LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"`
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// The owner to retrieve records around.
|
|
OwnerId string `protobuf:"bytes,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
|
// Expiry in seconds (since epoch) to begin fetching records from.
|
|
Expiry *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=expiry,proto3" json:"expiry,omitempty"`
|
|
// A next or previous page cursor.
|
|
Cursor string `protobuf:"bytes,5,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsAroundOwnerRequest) Reset() {
|
|
*x = ListLeaderboardRecordsAroundOwnerRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[62]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsAroundOwnerRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListLeaderboardRecordsAroundOwnerRequest) ProtoMessage() {}
|
|
|
|
func (x *ListLeaderboardRecordsAroundOwnerRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[62]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListLeaderboardRecordsAroundOwnerRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListLeaderboardRecordsAroundOwnerRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{62}
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsAroundOwnerRequest) GetLeaderboardId() string {
|
|
if x != nil {
|
|
return x.LeaderboardId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsAroundOwnerRequest) GetLimit() *wrapperspb.UInt32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsAroundOwnerRequest) GetOwnerId() string {
|
|
if x != nil {
|
|
return x.OwnerId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsAroundOwnerRequest) GetExpiry() *wrapperspb.Int64Value {
|
|
if x != nil {
|
|
return x.Expiry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsAroundOwnerRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// List leaderboard records from a given leaderboard.
|
|
type ListLeaderboardRecordsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the leaderboard to list for.
|
|
LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"`
|
|
// One or more owners to retrieve records for.
|
|
OwnerIds []string `protobuf:"bytes,2,rep,name=owner_ids,json=ownerIds,proto3" json:"owner_ids,omitempty"`
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// A next or previous page cursor.
|
|
Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
// Expiry in seconds (since epoch) to begin fetching records from. Optional. 0 means from current time.
|
|
Expiry *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=expiry,proto3" json:"expiry,omitempty"`
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsRequest) Reset() {
|
|
*x = ListLeaderboardRecordsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[63]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListLeaderboardRecordsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListLeaderboardRecordsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[63]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListLeaderboardRecordsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListLeaderboardRecordsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{63}
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsRequest) GetLeaderboardId() string {
|
|
if x != nil {
|
|
return x.LeaderboardId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsRequest) GetOwnerIds() []string {
|
|
if x != nil {
|
|
return x.OwnerIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListLeaderboardRecordsRequest) GetExpiry() *wrapperspb.Int64Value {
|
|
if x != nil {
|
|
return x.Expiry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// List realtime matches.
|
|
type ListMatchesRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Limit the number of returned matches.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// Authoritative or relayed matches.
|
|
Authoritative *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=authoritative,proto3" json:"authoritative,omitempty"`
|
|
// Label filter.
|
|
Label *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
|
|
// Minimum user count.
|
|
MinSize *wrapperspb.Int32Value `protobuf:"bytes,4,opt,name=min_size,json=minSize,proto3" json:"min_size,omitempty"`
|
|
// Maximum user count.
|
|
MaxSize *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"`
|
|
// Arbitrary label query.
|
|
Query *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=query,proto3" json:"query,omitempty"`
|
|
}
|
|
|
|
func (x *ListMatchesRequest) Reset() {
|
|
*x = ListMatchesRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[64]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListMatchesRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListMatchesRequest) ProtoMessage() {}
|
|
|
|
func (x *ListMatchesRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[64]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListMatchesRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListMatchesRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{64}
|
|
}
|
|
|
|
func (x *ListMatchesRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListMatchesRequest) GetAuthoritative() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Authoritative
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListMatchesRequest) GetLabel() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.Label
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListMatchesRequest) GetMinSize() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.MinSize
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListMatchesRequest) GetMaxSize() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.MaxSize
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListMatchesRequest) GetQuery() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.Query
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Get a list of unexpired notifications.
|
|
type ListNotificationsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The number of notifications to get. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// A cursor to page through notifications. May be cached by clients to get from point in time forwards.
|
|
CacheableCursor string `protobuf:"bytes,2,opt,name=cacheable_cursor,json=cacheableCursor,proto3" json:"cacheable_cursor,omitempty"` // value from NotificationList.cacheable_cursor.
|
|
}
|
|
|
|
func (x *ListNotificationsRequest) Reset() {
|
|
*x = ListNotificationsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[65]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListNotificationsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListNotificationsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListNotificationsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[65]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListNotificationsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListNotificationsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{65}
|
|
}
|
|
|
|
func (x *ListNotificationsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListNotificationsRequest) GetCacheableCursor() string {
|
|
if x != nil {
|
|
return x.CacheableCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// List publicly readable storage objects in a given collection.
|
|
type ListStorageObjectsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// ID of the user.
|
|
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
// The collection which stores the object.
|
|
Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
// The number of storage objects to list. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// The cursor to page through results from.
|
|
Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"` // value from StorageObjectList.cursor.
|
|
}
|
|
|
|
func (x *ListStorageObjectsRequest) Reset() {
|
|
*x = ListStorageObjectsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[66]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListStorageObjectsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListStorageObjectsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListStorageObjectsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[66]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListStorageObjectsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListStorageObjectsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{66}
|
|
}
|
|
|
|
func (x *ListStorageObjectsRequest) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListStorageObjectsRequest) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListStorageObjectsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListStorageObjectsRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// List user subscriptions.
|
|
type ListSubscriptionsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Max number of results per page
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// Cursor to retrieve a page of records from
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ListSubscriptionsRequest) Reset() {
|
|
*x = ListSubscriptionsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[67]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListSubscriptionsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListSubscriptionsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListSubscriptionsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[67]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListSubscriptionsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{67}
|
|
}
|
|
|
|
func (x *ListSubscriptionsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListSubscriptionsRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// List tournament records from a given tournament around the owner.
|
|
type ListTournamentRecordsAroundOwnerRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the tournament to list for.
|
|
TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"`
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// The owner to retrieve records around.
|
|
OwnerId string `protobuf:"bytes,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"`
|
|
// Expiry in seconds (since epoch) to begin fetching records from.
|
|
Expiry *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=expiry,proto3" json:"expiry,omitempty"`
|
|
// A next or previous page cursor.
|
|
Cursor string `protobuf:"bytes,5,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ListTournamentRecordsAroundOwnerRequest) Reset() {
|
|
*x = ListTournamentRecordsAroundOwnerRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[68]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListTournamentRecordsAroundOwnerRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListTournamentRecordsAroundOwnerRequest) ProtoMessage() {}
|
|
|
|
func (x *ListTournamentRecordsAroundOwnerRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[68]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListTournamentRecordsAroundOwnerRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListTournamentRecordsAroundOwnerRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{68}
|
|
}
|
|
|
|
func (x *ListTournamentRecordsAroundOwnerRequest) GetTournamentId() string {
|
|
if x != nil {
|
|
return x.TournamentId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListTournamentRecordsAroundOwnerRequest) GetLimit() *wrapperspb.UInt32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListTournamentRecordsAroundOwnerRequest) GetOwnerId() string {
|
|
if x != nil {
|
|
return x.OwnerId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListTournamentRecordsAroundOwnerRequest) GetExpiry() *wrapperspb.Int64Value {
|
|
if x != nil {
|
|
return x.Expiry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListTournamentRecordsAroundOwnerRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// List tournament records from a given tournament.
|
|
type ListTournamentRecordsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the tournament to list for.
|
|
TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"`
|
|
// One or more owners to retrieve records for.
|
|
OwnerIds []string `protobuf:"bytes,2,rep,name=owner_ids,json=ownerIds,proto3" json:"owner_ids,omitempty"`
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// A next or previous page cursor.
|
|
Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
// Expiry in seconds (since epoch) to begin fetching records from.
|
|
Expiry *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=expiry,proto3" json:"expiry,omitempty"`
|
|
}
|
|
|
|
func (x *ListTournamentRecordsRequest) Reset() {
|
|
*x = ListTournamentRecordsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[69]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListTournamentRecordsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListTournamentRecordsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListTournamentRecordsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[69]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListTournamentRecordsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListTournamentRecordsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{69}
|
|
}
|
|
|
|
func (x *ListTournamentRecordsRequest) GetTournamentId() string {
|
|
if x != nil {
|
|
return x.TournamentId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListTournamentRecordsRequest) GetOwnerIds() []string {
|
|
if x != nil {
|
|
return x.OwnerIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListTournamentRecordsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListTournamentRecordsRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListTournamentRecordsRequest) GetExpiry() *wrapperspb.Int64Value {
|
|
if x != nil {
|
|
return x.Expiry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// List active/upcoming tournaments based on given filters.
|
|
type ListTournamentsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The start of the categories to include. Defaults to 0.
|
|
CategoryStart *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=category_start,json=categoryStart,proto3" json:"category_start,omitempty"`
|
|
// The end of the categories to include. Defaults to 128.
|
|
CategoryEnd *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=category_end,json=categoryEnd,proto3" json:"category_end,omitempty"`
|
|
// The start time for tournaments. Defaults to epoch.
|
|
StartTime *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
|
|
// The end time for tournaments. Defaults to +1 year from current Unix time.
|
|
EndTime *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,6,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// A next page cursor for listings (optional).
|
|
Cursor string `protobuf:"bytes,8,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ListTournamentsRequest) Reset() {
|
|
*x = ListTournamentsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[70]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListTournamentsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListTournamentsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListTournamentsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[70]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListTournamentsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListTournamentsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{70}
|
|
}
|
|
|
|
func (x *ListTournamentsRequest) GetCategoryStart() *wrapperspb.UInt32Value {
|
|
if x != nil {
|
|
return x.CategoryStart
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListTournamentsRequest) GetCategoryEnd() *wrapperspb.UInt32Value {
|
|
if x != nil {
|
|
return x.CategoryEnd
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListTournamentsRequest) GetStartTime() *wrapperspb.UInt32Value {
|
|
if x != nil {
|
|
return x.StartTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListTournamentsRequest) GetEndTime() *wrapperspb.UInt32Value {
|
|
if x != nil {
|
|
return x.EndTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListTournamentsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListTournamentsRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// List the groups a user is part of, and their relationship to each.
|
|
type ListUserGroupsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// ID of the user.
|
|
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
// Max number of records to return. Between 1 and 100.
|
|
Limit *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
// The user group state to list.
|
|
State *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"`
|
|
// An optional next page cursor.
|
|
Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *ListUserGroupsRequest) Reset() {
|
|
*x = ListUserGroupsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[71]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListUserGroupsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListUserGroupsRequest) ProtoMessage() {}
|
|
|
|
func (x *ListUserGroupsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[71]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListUserGroupsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListUserGroupsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{71}
|
|
}
|
|
|
|
func (x *ListUserGroupsRequest) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListUserGroupsRequest) GetLimit() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListUserGroupsRequest) GetState() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.State
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListUserGroupsRequest) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Represents a realtime match.
|
|
type Match struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the match, can be used to join.
|
|
MatchId string `protobuf:"bytes,1,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
|
|
// True if it's an server-managed authoritative match, false otherwise.
|
|
Authoritative bool `protobuf:"varint,2,opt,name=authoritative,proto3" json:"authoritative,omitempty"`
|
|
// Match label, if any.
|
|
Label *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
|
|
// Current number of users in the match.
|
|
Size int32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
|
|
// Tick Rate
|
|
TickRate int32 `protobuf:"varint,5,opt,name=tick_rate,json=tickRate,proto3" json:"tick_rate,omitempty"`
|
|
// Handler name
|
|
HandlerName string `protobuf:"bytes,6,opt,name=handler_name,json=handlerName,proto3" json:"handler_name,omitempty"`
|
|
}
|
|
|
|
func (x *Match) Reset() {
|
|
*x = Match{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[72]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Match) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Match) ProtoMessage() {}
|
|
|
|
func (x *Match) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[72]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Match.ProtoReflect.Descriptor instead.
|
|
func (*Match) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{72}
|
|
}
|
|
|
|
func (x *Match) GetMatchId() string {
|
|
if x != nil {
|
|
return x.MatchId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Match) GetAuthoritative() bool {
|
|
if x != nil {
|
|
return x.Authoritative
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Match) GetLabel() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.Label
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Match) GetSize() int32 {
|
|
if x != nil {
|
|
return x.Size
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Match) GetTickRate() int32 {
|
|
if x != nil {
|
|
return x.TickRate
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Match) GetHandlerName() string {
|
|
if x != nil {
|
|
return x.HandlerName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A list of realtime matches.
|
|
type MatchList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// A number of matches corresponding to a list operation.
|
|
Matches []*Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"`
|
|
}
|
|
|
|
func (x *MatchList) Reset() {
|
|
*x = MatchList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[73]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *MatchList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MatchList) ProtoMessage() {}
|
|
|
|
func (x *MatchList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[73]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MatchList.ProtoReflect.Descriptor instead.
|
|
func (*MatchList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{73}
|
|
}
|
|
|
|
func (x *MatchList) GetMatches() []*Match {
|
|
if x != nil {
|
|
return x.Matches
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Matchmaker ticket completion stats
|
|
type MatchmakerCompletionStats struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
CompleteTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"`
|
|
}
|
|
|
|
func (x *MatchmakerCompletionStats) Reset() {
|
|
*x = MatchmakerCompletionStats{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[74]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *MatchmakerCompletionStats) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MatchmakerCompletionStats) ProtoMessage() {}
|
|
|
|
func (x *MatchmakerCompletionStats) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[74]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MatchmakerCompletionStats.ProtoReflect.Descriptor instead.
|
|
func (*MatchmakerCompletionStats) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{74}
|
|
}
|
|
|
|
func (x *MatchmakerCompletionStats) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MatchmakerCompletionStats) GetCompleteTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CompleteTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Matchmaker stats
|
|
type MatchmakerStats struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
TicketCount int32 `protobuf:"varint,1,opt,name=ticket_count,json=ticketCount,proto3" json:"ticket_count,omitempty"`
|
|
OldestTicketCreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=oldest_ticket_create_time,json=oldestTicketCreateTime,proto3" json:"oldest_ticket_create_time,omitempty"`
|
|
Completions []*MatchmakerCompletionStats `protobuf:"bytes,3,rep,name=completions,proto3" json:"completions,omitempty"`
|
|
}
|
|
|
|
func (x *MatchmakerStats) Reset() {
|
|
*x = MatchmakerStats{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[75]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *MatchmakerStats) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MatchmakerStats) ProtoMessage() {}
|
|
|
|
func (x *MatchmakerStats) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[75]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MatchmakerStats.ProtoReflect.Descriptor instead.
|
|
func (*MatchmakerStats) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{75}
|
|
}
|
|
|
|
func (x *MatchmakerStats) GetTicketCount() int32 {
|
|
if x != nil {
|
|
return x.TicketCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MatchmakerStats) GetOldestTicketCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.OldestTicketCreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MatchmakerStats) GetCompletions() []*MatchmakerCompletionStats {
|
|
if x != nil {
|
|
return x.Completions
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A notification in the server.
|
|
type Notification struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// ID of the Notification.
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
// Subject of the notification.
|
|
Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`
|
|
// Content of the notification in JSON.
|
|
Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
|
|
// Category code for this notification.
|
|
Code int32 `protobuf:"varint,4,opt,name=code,proto3" json:"code,omitempty"`
|
|
// ID of the sender, if a user. Otherwise 'null'.
|
|
SenderId string `protobuf:"bytes,5,opt,name=sender_id,json=senderId,proto3" json:"sender_id,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the notification was created.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// True if this notification was persisted to the database.
|
|
Persistent bool `protobuf:"varint,7,opt,name=persistent,proto3" json:"persistent,omitempty"`
|
|
}
|
|
|
|
func (x *Notification) Reset() {
|
|
*x = Notification{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[76]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Notification) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Notification) ProtoMessage() {}
|
|
|
|
func (x *Notification) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[76]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Notification.ProtoReflect.Descriptor instead.
|
|
func (*Notification) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{76}
|
|
}
|
|
|
|
func (x *Notification) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Notification) GetSubject() string {
|
|
if x != nil {
|
|
return x.Subject
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Notification) GetContent() string {
|
|
if x != nil {
|
|
return x.Content
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Notification) GetCode() int32 {
|
|
if x != nil {
|
|
return x.Code
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Notification) GetSenderId() string {
|
|
if x != nil {
|
|
return x.SenderId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Notification) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Notification) GetPersistent() bool {
|
|
if x != nil {
|
|
return x.Persistent
|
|
}
|
|
return false
|
|
}
|
|
|
|
// A collection of zero or more notifications.
|
|
type NotificationList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Collection of notifications.
|
|
Notifications []*Notification `protobuf:"bytes,1,rep,name=notifications,proto3" json:"notifications,omitempty"`
|
|
// Use this cursor to paginate notifications. Cache this to catch up to new notifications.
|
|
CacheableCursor string `protobuf:"bytes,2,opt,name=cacheable_cursor,json=cacheableCursor,proto3" json:"cacheable_cursor,omitempty"`
|
|
}
|
|
|
|
func (x *NotificationList) Reset() {
|
|
*x = NotificationList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[77]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *NotificationList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*NotificationList) ProtoMessage() {}
|
|
|
|
func (x *NotificationList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[77]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use NotificationList.ProtoReflect.Descriptor instead.
|
|
func (*NotificationList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{77}
|
|
}
|
|
|
|
func (x *NotificationList) GetNotifications() []*Notification {
|
|
if x != nil {
|
|
return x.Notifications
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *NotificationList) GetCacheableCursor() string {
|
|
if x != nil {
|
|
return x.CacheableCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Promote a set of users in a group to the next role up.
|
|
type PromoteGroupUsersRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The group ID to promote in.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
// The users to promote.
|
|
UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
|
|
}
|
|
|
|
func (x *PromoteGroupUsersRequest) Reset() {
|
|
*x = PromoteGroupUsersRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[78]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PromoteGroupUsersRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PromoteGroupUsersRequest) ProtoMessage() {}
|
|
|
|
func (x *PromoteGroupUsersRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[78]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PromoteGroupUsersRequest.ProtoReflect.Descriptor instead.
|
|
func (*PromoteGroupUsersRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{78}
|
|
}
|
|
|
|
func (x *PromoteGroupUsersRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PromoteGroupUsersRequest) GetUserIds() []string {
|
|
if x != nil {
|
|
return x.UserIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Demote a set of users in a group to the next role down.
|
|
type DemoteGroupUsersRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The group ID to demote in.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
// The users to demote.
|
|
UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
|
|
}
|
|
|
|
func (x *DemoteGroupUsersRequest) Reset() {
|
|
*x = DemoteGroupUsersRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[79]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DemoteGroupUsersRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DemoteGroupUsersRequest) ProtoMessage() {}
|
|
|
|
func (x *DemoteGroupUsersRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[79]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DemoteGroupUsersRequest.ProtoReflect.Descriptor instead.
|
|
func (*DemoteGroupUsersRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{79}
|
|
}
|
|
|
|
func (x *DemoteGroupUsersRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DemoteGroupUsersRequest) GetUserIds() []string {
|
|
if x != nil {
|
|
return x.UserIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Storage objects to get.
|
|
type ReadStorageObjectId struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The collection which stores the object.
|
|
Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
// The key of the object within the collection.
|
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
|
// The user owner of the object.
|
|
UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
}
|
|
|
|
func (x *ReadStorageObjectId) Reset() {
|
|
*x = ReadStorageObjectId{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[80]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ReadStorageObjectId) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ReadStorageObjectId) ProtoMessage() {}
|
|
|
|
func (x *ReadStorageObjectId) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[80]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ReadStorageObjectId.ProtoReflect.Descriptor instead.
|
|
func (*ReadStorageObjectId) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{80}
|
|
}
|
|
|
|
func (x *ReadStorageObjectId) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ReadStorageObjectId) GetKey() string {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ReadStorageObjectId) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Batch get storage objects.
|
|
type ReadStorageObjectsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Batch of storage objects.
|
|
ObjectIds []*ReadStorageObjectId `protobuf:"bytes,1,rep,name=object_ids,json=objectIds,proto3" json:"object_ids,omitempty"`
|
|
}
|
|
|
|
func (x *ReadStorageObjectsRequest) Reset() {
|
|
*x = ReadStorageObjectsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[81]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ReadStorageObjectsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ReadStorageObjectsRequest) ProtoMessage() {}
|
|
|
|
func (x *ReadStorageObjectsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[81]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ReadStorageObjectsRequest.ProtoReflect.Descriptor instead.
|
|
func (*ReadStorageObjectsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{81}
|
|
}
|
|
|
|
func (x *ReadStorageObjectsRequest) GetObjectIds() []*ReadStorageObjectId {
|
|
if x != nil {
|
|
return x.ObjectIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Execute an Lua function on the server.
|
|
type Rpc struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The identifier of the function.
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
// The payload of the function which must be a JSON object.
|
|
Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
|
|
// The authentication key used when executed as a non-client HTTP request.
|
|
HttpKey string `protobuf:"bytes,3,opt,name=http_key,json=httpKey,proto3" json:"http_key,omitempty"`
|
|
}
|
|
|
|
func (x *Rpc) Reset() {
|
|
*x = Rpc{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[82]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Rpc) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Rpc) ProtoMessage() {}
|
|
|
|
func (x *Rpc) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[82]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Rpc.ProtoReflect.Descriptor instead.
|
|
func (*Rpc) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{82}
|
|
}
|
|
|
|
func (x *Rpc) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Rpc) GetPayload() string {
|
|
if x != nil {
|
|
return x.Payload
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Rpc) GetHttpKey() string {
|
|
if x != nil {
|
|
return x.HttpKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A user's session used to authenticate messages.
|
|
type Session struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// True if the corresponding account was just created, false otherwise.
|
|
Created bool `protobuf:"varint,1,opt,name=created,proto3" json:"created,omitempty"`
|
|
// Authentication credentials.
|
|
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
|
|
// Refresh token that can be used for session token renewal.
|
|
RefreshToken string `protobuf:"bytes,3,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"`
|
|
}
|
|
|
|
func (x *Session) Reset() {
|
|
*x = Session{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[83]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Session) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Session) ProtoMessage() {}
|
|
|
|
func (x *Session) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[83]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Session.ProtoReflect.Descriptor instead.
|
|
func (*Session) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{83}
|
|
}
|
|
|
|
func (x *Session) GetCreated() bool {
|
|
if x != nil {
|
|
return x.Created
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Session) GetToken() string {
|
|
if x != nil {
|
|
return x.Token
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Session) GetRefreshToken() string {
|
|
if x != nil {
|
|
return x.RefreshToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// An object within the storage engine.
|
|
type StorageObject struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The collection which stores the object.
|
|
Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
// The key of the object within the collection.
|
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
|
// The user owner of the object.
|
|
UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
// The value of the object.
|
|
Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
|
|
// The version hash of the object.
|
|
Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"`
|
|
// The read access permissions for the object.
|
|
PermissionRead int32 `protobuf:"varint,6,opt,name=permission_read,json=permissionRead,proto3" json:"permission_read,omitempty"`
|
|
// The write access permissions for the object.
|
|
PermissionWrite int32 `protobuf:"varint,7,opt,name=permission_write,json=permissionWrite,proto3" json:"permission_write,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was created.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was last updated.
|
|
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
|
|
}
|
|
|
|
func (x *StorageObject) Reset() {
|
|
*x = StorageObject{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[84]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *StorageObject) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StorageObject) ProtoMessage() {}
|
|
|
|
func (x *StorageObject) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[84]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StorageObject.ProtoReflect.Descriptor instead.
|
|
func (*StorageObject) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{84}
|
|
}
|
|
|
|
func (x *StorageObject) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StorageObject) GetKey() string {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StorageObject) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StorageObject) GetValue() string {
|
|
if x != nil {
|
|
return x.Value
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StorageObject) GetVersion() string {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StorageObject) GetPermissionRead() int32 {
|
|
if x != nil {
|
|
return x.PermissionRead
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *StorageObject) GetPermissionWrite() int32 {
|
|
if x != nil {
|
|
return x.PermissionWrite
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *StorageObject) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StorageObject) GetUpdateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.UpdateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A storage acknowledgement.
|
|
type StorageObjectAck struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The collection which stores the object.
|
|
Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
// The key of the object within the collection.
|
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
|
// The version hash of the object.
|
|
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
|
|
// The owner of the object.
|
|
UserId string `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was created.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was last updated.
|
|
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
|
|
}
|
|
|
|
func (x *StorageObjectAck) Reset() {
|
|
*x = StorageObjectAck{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[85]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *StorageObjectAck) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StorageObjectAck) ProtoMessage() {}
|
|
|
|
func (x *StorageObjectAck) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[85]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StorageObjectAck.ProtoReflect.Descriptor instead.
|
|
func (*StorageObjectAck) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{85}
|
|
}
|
|
|
|
func (x *StorageObjectAck) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StorageObjectAck) GetKey() string {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StorageObjectAck) GetVersion() string {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StorageObjectAck) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StorageObjectAck) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StorageObjectAck) GetUpdateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.UpdateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Batch of acknowledgements for the storage object write.
|
|
type StorageObjectAcks struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Batch of storage write acknowledgements.
|
|
Acks []*StorageObjectAck `protobuf:"bytes,1,rep,name=acks,proto3" json:"acks,omitempty"`
|
|
}
|
|
|
|
func (x *StorageObjectAcks) Reset() {
|
|
*x = StorageObjectAcks{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[86]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *StorageObjectAcks) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StorageObjectAcks) ProtoMessage() {}
|
|
|
|
func (x *StorageObjectAcks) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[86]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StorageObjectAcks.ProtoReflect.Descriptor instead.
|
|
func (*StorageObjectAcks) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{86}
|
|
}
|
|
|
|
func (x *StorageObjectAcks) GetAcks() []*StorageObjectAck {
|
|
if x != nil {
|
|
return x.Acks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Batch of storage objects.
|
|
type StorageObjects struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The batch of storage objects.
|
|
Objects []*StorageObject `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"`
|
|
}
|
|
|
|
func (x *StorageObjects) Reset() {
|
|
*x = StorageObjects{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[87]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *StorageObjects) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StorageObjects) ProtoMessage() {}
|
|
|
|
func (x *StorageObjects) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[87]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StorageObjects.ProtoReflect.Descriptor instead.
|
|
func (*StorageObjects) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{87}
|
|
}
|
|
|
|
func (x *StorageObjects) GetObjects() []*StorageObject {
|
|
if x != nil {
|
|
return x.Objects
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// List of storage objects.
|
|
type StorageObjectList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The list of storage objects.
|
|
Objects []*StorageObject `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"`
|
|
// The cursor for the next page of results, if any.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *StorageObjectList) Reset() {
|
|
*x = StorageObjectList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[88]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *StorageObjectList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StorageObjectList) ProtoMessage() {}
|
|
|
|
func (x *StorageObjectList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[88]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StorageObjectList.ProtoReflect.Descriptor instead.
|
|
func (*StorageObjectList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{88}
|
|
}
|
|
|
|
func (x *StorageObjectList) GetObjects() []*StorageObject {
|
|
if x != nil {
|
|
return x.Objects
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StorageObjectList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A tournament on the server.
|
|
type Tournament struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the tournament.
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
// The title for the tournament.
|
|
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
|
|
// The description of the tournament. May be blank.
|
|
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
|
|
// The category of the tournament. e.g. "vip" could be category 1.
|
|
Category uint32 `protobuf:"varint,4,opt,name=category,proto3" json:"category,omitempty"`
|
|
// ASC (0) or DESC (1) sort mode of scores in the tournament.
|
|
SortOrder uint32 `protobuf:"varint,5,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
|
|
// The current number of players in the tournament.
|
|
Size uint32 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"`
|
|
// The maximum number of players for the tournament.
|
|
MaxSize uint32 `protobuf:"varint,7,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"`
|
|
// The maximum score updates allowed per player for the current tournament.
|
|
MaxNumScore uint32 `protobuf:"varint,8,opt,name=max_num_score,json=maxNumScore,proto3" json:"max_num_score,omitempty"`
|
|
// True if the tournament is active and can enter. A computed value.
|
|
CanEnter bool `protobuf:"varint,9,opt,name=can_enter,json=canEnter,proto3" json:"can_enter,omitempty"`
|
|
// The UNIX time when the tournament stops being active until next reset. A computed value.
|
|
EndActive uint32 `protobuf:"varint,10,opt,name=end_active,json=endActive,proto3" json:"end_active,omitempty"`
|
|
// The UNIX time when the tournament is next playable. A computed value.
|
|
NextReset uint32 `protobuf:"varint,11,opt,name=next_reset,json=nextReset,proto3" json:"next_reset,omitempty"`
|
|
// Additional information stored as a JSON object.
|
|
Metadata string `protobuf:"bytes,12,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament was created.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament will start.
|
|
StartTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament will be stopped.
|
|
EndTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
|
|
// Duration of the tournament in seconds.
|
|
Duration uint32 `protobuf:"varint,16,opt,name=duration,proto3" json:"duration,omitempty"`
|
|
// The UNIX time when the tournament start being active. A computed value.
|
|
StartActive uint32 `protobuf:"varint,17,opt,name=start_active,json=startActive,proto3" json:"start_active,omitempty"`
|
|
// The UNIX time when the tournament was last reset. A computed value.
|
|
PrevReset uint32 `protobuf:"varint,18,opt,name=prev_reset,json=prevReset,proto3" json:"prev_reset,omitempty"`
|
|
// Operator.
|
|
Operator Operator `protobuf:"varint,19,opt,name=operator,proto3,enum=nakama.api.Operator" json:"operator,omitempty"`
|
|
// Whether the leaderboard was created authoritatively or not.
|
|
Authoritative bool `protobuf:"varint,20,opt,name=authoritative,proto3" json:"authoritative,omitempty"`
|
|
}
|
|
|
|
func (x *Tournament) Reset() {
|
|
*x = Tournament{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[89]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Tournament) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Tournament) ProtoMessage() {}
|
|
|
|
func (x *Tournament) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[89]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Tournament.ProtoReflect.Descriptor instead.
|
|
func (*Tournament) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{89}
|
|
}
|
|
|
|
func (x *Tournament) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Tournament) GetTitle() string {
|
|
if x != nil {
|
|
return x.Title
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Tournament) GetDescription() string {
|
|
if x != nil {
|
|
return x.Description
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Tournament) GetCategory() uint32 {
|
|
if x != nil {
|
|
return x.Category
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetSortOrder() uint32 {
|
|
if x != nil {
|
|
return x.SortOrder
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetSize() uint32 {
|
|
if x != nil {
|
|
return x.Size
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetMaxSize() uint32 {
|
|
if x != nil {
|
|
return x.MaxSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetMaxNumScore() uint32 {
|
|
if x != nil {
|
|
return x.MaxNumScore
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetCanEnter() bool {
|
|
if x != nil {
|
|
return x.CanEnter
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Tournament) GetEndActive() uint32 {
|
|
if x != nil {
|
|
return x.EndActive
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetNextReset() uint32 {
|
|
if x != nil {
|
|
return x.NextReset
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetMetadata() string {
|
|
if x != nil {
|
|
return x.Metadata
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Tournament) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Tournament) GetStartTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.StartTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Tournament) GetEndTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.EndTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Tournament) GetDuration() uint32 {
|
|
if x != nil {
|
|
return x.Duration
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetStartActive() uint32 {
|
|
if x != nil {
|
|
return x.StartActive
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetPrevReset() uint32 {
|
|
if x != nil {
|
|
return x.PrevReset
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Tournament) GetOperator() Operator {
|
|
if x != nil {
|
|
return x.Operator
|
|
}
|
|
return Operator_NO_OVERRIDE
|
|
}
|
|
|
|
func (x *Tournament) GetAuthoritative() bool {
|
|
if x != nil {
|
|
return x.Authoritative
|
|
}
|
|
return false
|
|
}
|
|
|
|
// A list of tournaments.
|
|
type TournamentList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The list of tournaments returned.
|
|
Tournaments []*Tournament `protobuf:"bytes,1,rep,name=tournaments,proto3" json:"tournaments,omitempty"`
|
|
// A pagination cursor (optional).
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *TournamentList) Reset() {
|
|
*x = TournamentList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[90]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *TournamentList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TournamentList) ProtoMessage() {}
|
|
|
|
func (x *TournamentList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[90]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TournamentList.ProtoReflect.Descriptor instead.
|
|
func (*TournamentList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{90}
|
|
}
|
|
|
|
func (x *TournamentList) GetTournaments() []*Tournament {
|
|
if x != nil {
|
|
return x.Tournaments
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *TournamentList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A set of tournament records which may be part of a tournament records page or a batch of individual records.
|
|
type TournamentRecordList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// A list of tournament records.
|
|
Records []*LeaderboardRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
|
|
// A batched set of tournament records belonging to specified owners.
|
|
OwnerRecords []*LeaderboardRecord `protobuf:"bytes,2,rep,name=owner_records,json=ownerRecords,proto3" json:"owner_records,omitempty"`
|
|
// The cursor to send when retireving the next page (optional).
|
|
NextCursor string `protobuf:"bytes,3,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"`
|
|
// The cursor to send when retrieving the previous page (optional).
|
|
PrevCursor string `protobuf:"bytes,4,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"`
|
|
// The total number of ranks available.
|
|
RankCount int64 `protobuf:"varint,5,opt,name=rank_count,json=rankCount,proto3" json:"rank_count,omitempty"`
|
|
}
|
|
|
|
func (x *TournamentRecordList) Reset() {
|
|
*x = TournamentRecordList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[91]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *TournamentRecordList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TournamentRecordList) ProtoMessage() {}
|
|
|
|
func (x *TournamentRecordList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[91]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TournamentRecordList.ProtoReflect.Descriptor instead.
|
|
func (*TournamentRecordList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{91}
|
|
}
|
|
|
|
func (x *TournamentRecordList) GetRecords() []*LeaderboardRecord {
|
|
if x != nil {
|
|
return x.Records
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *TournamentRecordList) GetOwnerRecords() []*LeaderboardRecord {
|
|
if x != nil {
|
|
return x.OwnerRecords
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *TournamentRecordList) GetNextCursor() string {
|
|
if x != nil {
|
|
return x.NextCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TournamentRecordList) GetPrevCursor() string {
|
|
if x != nil {
|
|
return x.PrevCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TournamentRecordList) GetRankCount() int64 {
|
|
if x != nil {
|
|
return x.RankCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// Update a user's account details.
|
|
type UpdateAccountRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The username of the user's account.
|
|
Username *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
|
|
// The display name of the user.
|
|
DisplayName *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
|
// A URL for an avatar image.
|
|
AvatarUrl *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
|
|
// The language expected to be a tag which follows the BCP-47 spec.
|
|
LangTag *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"`
|
|
// The location set by the user.
|
|
Location *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"`
|
|
// The timezone set by the user.
|
|
Timezone *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=timezone,proto3" json:"timezone,omitempty"`
|
|
}
|
|
|
|
func (x *UpdateAccountRequest) Reset() {
|
|
*x = UpdateAccountRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[92]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *UpdateAccountRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UpdateAccountRequest) ProtoMessage() {}
|
|
|
|
func (x *UpdateAccountRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[92]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UpdateAccountRequest.ProtoReflect.Descriptor instead.
|
|
func (*UpdateAccountRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{92}
|
|
}
|
|
|
|
func (x *UpdateAccountRequest) GetUsername() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateAccountRequest) GetDisplayName() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.DisplayName
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateAccountRequest) GetAvatarUrl() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.AvatarUrl
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateAccountRequest) GetLangTag() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.LangTag
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateAccountRequest) GetLocation() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.Location
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateAccountRequest) GetTimezone() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.Timezone
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Update fields in a given group.
|
|
type UpdateGroupRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the group to update.
|
|
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
|
|
// Name.
|
|
Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
|
// Description string.
|
|
Description *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
|
|
// Lang tag.
|
|
LangTag *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"`
|
|
// Avatar URL.
|
|
AvatarUrl *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
|
|
// Open is true if anyone should be allowed to join, or false if joins must be approved by a group admin.
|
|
Open *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=open,proto3" json:"open,omitempty"`
|
|
}
|
|
|
|
func (x *UpdateGroupRequest) Reset() {
|
|
*x = UpdateGroupRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[93]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *UpdateGroupRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UpdateGroupRequest) ProtoMessage() {}
|
|
|
|
func (x *UpdateGroupRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[93]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UpdateGroupRequest.ProtoReflect.Descriptor instead.
|
|
func (*UpdateGroupRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{93}
|
|
}
|
|
|
|
func (x *UpdateGroupRequest) GetGroupId() string {
|
|
if x != nil {
|
|
return x.GroupId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *UpdateGroupRequest) GetName() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateGroupRequest) GetDescription() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.Description
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateGroupRequest) GetLangTag() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.LangTag
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateGroupRequest) GetAvatarUrl() *wrapperspb.StringValue {
|
|
if x != nil {
|
|
return x.AvatarUrl
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateGroupRequest) GetOpen() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Open
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A user in the server.
|
|
type User struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The id of the user's account.
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
// The username of the user's account.
|
|
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
|
|
// The display name of the user.
|
|
DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
|
// A URL for an avatar image.
|
|
AvatarUrl string `protobuf:"bytes,4,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
|
|
// The language expected to be a tag which follows the BCP-47 spec.
|
|
LangTag string `protobuf:"bytes,5,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"`
|
|
// The location set by the user.
|
|
Location string `protobuf:"bytes,6,opt,name=location,proto3" json:"location,omitempty"`
|
|
// The timezone set by the user.
|
|
Timezone string `protobuf:"bytes,7,opt,name=timezone,proto3" json:"timezone,omitempty"`
|
|
// Additional information stored as a JSON object.
|
|
Metadata string `protobuf:"bytes,8,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
|
// The Facebook id in the user's account.
|
|
FacebookId string `protobuf:"bytes,9,opt,name=facebook_id,json=facebookId,proto3" json:"facebook_id,omitempty"`
|
|
// The Google id in the user's account.
|
|
GoogleId string `protobuf:"bytes,10,opt,name=google_id,json=googleId,proto3" json:"google_id,omitempty"`
|
|
// The Apple Game Center in of the user's account.
|
|
GamecenterId string `protobuf:"bytes,11,opt,name=gamecenter_id,json=gamecenterId,proto3" json:"gamecenter_id,omitempty"`
|
|
// The Steam id in the user's account.
|
|
SteamId string `protobuf:"bytes,12,opt,name=steam_id,json=steamId,proto3" json:"steam_id,omitempty"`
|
|
// Indicates whether the user is currently online.
|
|
Online bool `protobuf:"varint,13,opt,name=online,proto3" json:"online,omitempty"`
|
|
// Number of related edges to this user.
|
|
EdgeCount int32 `protobuf:"varint,14,opt,name=edge_count,json=edgeCount,proto3" json:"edge_count,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user was created.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user was last updated.
|
|
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
|
|
// The Facebook Instant Game ID in the user's account.
|
|
FacebookInstantGameId string `protobuf:"bytes,17,opt,name=facebook_instant_game_id,json=facebookInstantGameId,proto3" json:"facebook_instant_game_id,omitempty"`
|
|
// The Apple Sign In ID in the user's account.
|
|
AppleId string `protobuf:"bytes,18,opt,name=apple_id,json=appleId,proto3" json:"apple_id,omitempty"`
|
|
}
|
|
|
|
func (x *User) Reset() {
|
|
*x = User{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[94]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *User) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*User) ProtoMessage() {}
|
|
|
|
func (x *User) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[94]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use User.ProtoReflect.Descriptor instead.
|
|
func (*User) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{94}
|
|
}
|
|
|
|
func (x *User) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetDisplayName() string {
|
|
if x != nil {
|
|
return x.DisplayName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetAvatarUrl() string {
|
|
if x != nil {
|
|
return x.AvatarUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetLangTag() string {
|
|
if x != nil {
|
|
return x.LangTag
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetLocation() string {
|
|
if x != nil {
|
|
return x.Location
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetTimezone() string {
|
|
if x != nil {
|
|
return x.Timezone
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetMetadata() string {
|
|
if x != nil {
|
|
return x.Metadata
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetFacebookId() string {
|
|
if x != nil {
|
|
return x.FacebookId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetGoogleId() string {
|
|
if x != nil {
|
|
return x.GoogleId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetGamecenterId() string {
|
|
if x != nil {
|
|
return x.GamecenterId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetSteamId() string {
|
|
if x != nil {
|
|
return x.SteamId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetOnline() bool {
|
|
if x != nil {
|
|
return x.Online
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *User) GetEdgeCount() int32 {
|
|
if x != nil {
|
|
return x.EdgeCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *User) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *User) GetUpdateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.UpdateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *User) GetFacebookInstantGameId() string {
|
|
if x != nil {
|
|
return x.FacebookInstantGameId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *User) GetAppleId() string {
|
|
if x != nil {
|
|
return x.AppleId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A list of groups belonging to a user, along with the user's role in each group.
|
|
type UserGroupList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Group-role pairs for a user.
|
|
UserGroups []*UserGroupList_UserGroup `protobuf:"bytes,1,rep,name=user_groups,json=userGroups,proto3" json:"user_groups,omitempty"`
|
|
// Cursor for the next page of results, if any.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
}
|
|
|
|
func (x *UserGroupList) Reset() {
|
|
*x = UserGroupList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[95]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *UserGroupList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UserGroupList) ProtoMessage() {}
|
|
|
|
func (x *UserGroupList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[95]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UserGroupList.ProtoReflect.Descriptor instead.
|
|
func (*UserGroupList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{95}
|
|
}
|
|
|
|
func (x *UserGroupList) GetUserGroups() []*UserGroupList_UserGroup {
|
|
if x != nil {
|
|
return x.UserGroups
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UserGroupList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A collection of zero or more users.
|
|
type Users struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The User objects.
|
|
Users []*User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"`
|
|
}
|
|
|
|
func (x *Users) Reset() {
|
|
*x = Users{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[96]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Users) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Users) ProtoMessage() {}
|
|
|
|
func (x *Users) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[96]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Users.ProtoReflect.Descriptor instead.
|
|
func (*Users) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{96}
|
|
}
|
|
|
|
func (x *Users) GetUsers() []*User {
|
|
if x != nil {
|
|
return x.Users
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Apple IAP Purchases validation request
|
|
type ValidatePurchaseAppleRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Base64 encoded Apple receipt data payload.
|
|
Receipt string `protobuf:"bytes,1,opt,name=receipt,proto3" json:"receipt,omitempty"`
|
|
// Persist the purchase
|
|
Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"`
|
|
}
|
|
|
|
func (x *ValidatePurchaseAppleRequest) Reset() {
|
|
*x = ValidatePurchaseAppleRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[97]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidatePurchaseAppleRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidatePurchaseAppleRequest) ProtoMessage() {}
|
|
|
|
func (x *ValidatePurchaseAppleRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[97]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidatePurchaseAppleRequest.ProtoReflect.Descriptor instead.
|
|
func (*ValidatePurchaseAppleRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{97}
|
|
}
|
|
|
|
func (x *ValidatePurchaseAppleRequest) GetReceipt() string {
|
|
if x != nil {
|
|
return x.Receipt
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatePurchaseAppleRequest) GetPersist() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Persist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Apple Subscription validation request
|
|
type ValidateSubscriptionAppleRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Base64 encoded Apple receipt data payload.
|
|
Receipt string `protobuf:"bytes,1,opt,name=receipt,proto3" json:"receipt,omitempty"`
|
|
// Persist the subscription.
|
|
Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"`
|
|
}
|
|
|
|
func (x *ValidateSubscriptionAppleRequest) Reset() {
|
|
*x = ValidateSubscriptionAppleRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[98]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidateSubscriptionAppleRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidateSubscriptionAppleRequest) ProtoMessage() {}
|
|
|
|
func (x *ValidateSubscriptionAppleRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[98]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidateSubscriptionAppleRequest.ProtoReflect.Descriptor instead.
|
|
func (*ValidateSubscriptionAppleRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{98}
|
|
}
|
|
|
|
func (x *ValidateSubscriptionAppleRequest) GetReceipt() string {
|
|
if x != nil {
|
|
return x.Receipt
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateSubscriptionAppleRequest) GetPersist() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Persist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Google IAP Purchase validation request
|
|
type ValidatePurchaseGoogleRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// JSON encoded Google purchase payload.
|
|
Purchase string `protobuf:"bytes,1,opt,name=purchase,proto3" json:"purchase,omitempty"`
|
|
// Persist the purchase
|
|
Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"`
|
|
}
|
|
|
|
func (x *ValidatePurchaseGoogleRequest) Reset() {
|
|
*x = ValidatePurchaseGoogleRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[99]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidatePurchaseGoogleRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidatePurchaseGoogleRequest) ProtoMessage() {}
|
|
|
|
func (x *ValidatePurchaseGoogleRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[99]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidatePurchaseGoogleRequest.ProtoReflect.Descriptor instead.
|
|
func (*ValidatePurchaseGoogleRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{99}
|
|
}
|
|
|
|
func (x *ValidatePurchaseGoogleRequest) GetPurchase() string {
|
|
if x != nil {
|
|
return x.Purchase
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatePurchaseGoogleRequest) GetPersist() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Persist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Google Subscription validation request
|
|
type ValidateSubscriptionGoogleRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// JSON encoded Google purchase payload.
|
|
Receipt string `protobuf:"bytes,1,opt,name=receipt,proto3" json:"receipt,omitempty"`
|
|
// Persist the subscription.
|
|
Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"`
|
|
}
|
|
|
|
func (x *ValidateSubscriptionGoogleRequest) Reset() {
|
|
*x = ValidateSubscriptionGoogleRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[100]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidateSubscriptionGoogleRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidateSubscriptionGoogleRequest) ProtoMessage() {}
|
|
|
|
func (x *ValidateSubscriptionGoogleRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[100]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidateSubscriptionGoogleRequest.ProtoReflect.Descriptor instead.
|
|
func (*ValidateSubscriptionGoogleRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{100}
|
|
}
|
|
|
|
func (x *ValidateSubscriptionGoogleRequest) GetReceipt() string {
|
|
if x != nil {
|
|
return x.Receipt
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateSubscriptionGoogleRequest) GetPersist() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Persist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Huawei IAP Purchase validation request
|
|
type ValidatePurchaseHuaweiRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// JSON encoded Huawei InAppPurchaseData.
|
|
Purchase string `protobuf:"bytes,1,opt,name=purchase,proto3" json:"purchase,omitempty"`
|
|
// InAppPurchaseData signature.
|
|
Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
|
// Persist the purchase
|
|
Persist *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=persist,proto3" json:"persist,omitempty"`
|
|
}
|
|
|
|
func (x *ValidatePurchaseHuaweiRequest) Reset() {
|
|
*x = ValidatePurchaseHuaweiRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[101]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidatePurchaseHuaweiRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidatePurchaseHuaweiRequest) ProtoMessage() {}
|
|
|
|
func (x *ValidatePurchaseHuaweiRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[101]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidatePurchaseHuaweiRequest.ProtoReflect.Descriptor instead.
|
|
func (*ValidatePurchaseHuaweiRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{101}
|
|
}
|
|
|
|
func (x *ValidatePurchaseHuaweiRequest) GetPurchase() string {
|
|
if x != nil {
|
|
return x.Purchase
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatePurchaseHuaweiRequest) GetSignature() string {
|
|
if x != nil {
|
|
return x.Signature
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatePurchaseHuaweiRequest) GetPersist() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Persist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Facebook Instant IAP Purchase validation request
|
|
type ValidatePurchaseFacebookInstantRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Base64 encoded Facebook Instant signedRequest receipt data payload.
|
|
SignedRequest string `protobuf:"bytes,1,opt,name=signed_request,json=signedRequest,proto3" json:"signed_request,omitempty"`
|
|
// Persist the purchase
|
|
Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"`
|
|
}
|
|
|
|
func (x *ValidatePurchaseFacebookInstantRequest) Reset() {
|
|
*x = ValidatePurchaseFacebookInstantRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[102]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidatePurchaseFacebookInstantRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidatePurchaseFacebookInstantRequest) ProtoMessage() {}
|
|
|
|
func (x *ValidatePurchaseFacebookInstantRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[102]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidatePurchaseFacebookInstantRequest.ProtoReflect.Descriptor instead.
|
|
func (*ValidatePurchaseFacebookInstantRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{102}
|
|
}
|
|
|
|
func (x *ValidatePurchaseFacebookInstantRequest) GetSignedRequest() string {
|
|
if x != nil {
|
|
return x.SignedRequest
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatePurchaseFacebookInstantRequest) GetPersist() *wrapperspb.BoolValue {
|
|
if x != nil {
|
|
return x.Persist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Validated Purchase stored by Nakama.
|
|
type ValidatedPurchase struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Purchase User ID.
|
|
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
// Purchase Product ID.
|
|
ProductId string `protobuf:"bytes,2,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
|
|
// Purchase Transaction ID.
|
|
TransactionId string `protobuf:"bytes,3,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"`
|
|
// Store identifier
|
|
Store StoreProvider `protobuf:"varint,4,opt,name=store,proto3,enum=nakama.api.StoreProvider" json:"store,omitempty"`
|
|
// Timestamp when the purchase was done.
|
|
PurchaseTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=purchase_time,json=purchaseTime,proto3" json:"purchase_time,omitempty"`
|
|
// Timestamp when the receipt validation was stored in DB.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// Timestamp when the receipt validation was updated in DB.
|
|
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
|
|
// Timestamp when the purchase was refunded. Set to UNIX
|
|
RefundTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=refund_time,json=refundTime,proto3" json:"refund_time,omitempty"`
|
|
// Raw provider validation response.
|
|
ProviderResponse string `protobuf:"bytes,9,opt,name=provider_response,json=providerResponse,proto3" json:"provider_response,omitempty"`
|
|
// Whether the purchase was done in production or sandbox environment.
|
|
Environment StoreEnvironment `protobuf:"varint,10,opt,name=environment,proto3,enum=nakama.api.StoreEnvironment" json:"environment,omitempty"`
|
|
// Whether the purchase had already been validated by Nakama before.
|
|
SeenBefore bool `protobuf:"varint,11,opt,name=seen_before,json=seenBefore,proto3" json:"seen_before,omitempty"`
|
|
}
|
|
|
|
func (x *ValidatedPurchase) Reset() {
|
|
*x = ValidatedPurchase{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[103]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidatedPurchase) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidatedPurchase) ProtoMessage() {}
|
|
|
|
func (x *ValidatedPurchase) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[103]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidatedPurchase.ProtoReflect.Descriptor instead.
|
|
func (*ValidatedPurchase) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{103}
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetProductId() string {
|
|
if x != nil {
|
|
return x.ProductId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetTransactionId() string {
|
|
if x != nil {
|
|
return x.TransactionId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetStore() StoreProvider {
|
|
if x != nil {
|
|
return x.Store
|
|
}
|
|
return StoreProvider_APPLE_APP_STORE
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetPurchaseTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.PurchaseTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetUpdateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.UpdateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetRefundTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.RefundTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetProviderResponse() string {
|
|
if x != nil {
|
|
return x.ProviderResponse
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetEnvironment() StoreEnvironment {
|
|
if x != nil {
|
|
return x.Environment
|
|
}
|
|
return StoreEnvironment_UNKNOWN
|
|
}
|
|
|
|
func (x *ValidatedPurchase) GetSeenBefore() bool {
|
|
if x != nil {
|
|
return x.SeenBefore
|
|
}
|
|
return false
|
|
}
|
|
|
|
// Validate IAP response.
|
|
type ValidatePurchaseResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Newly seen validated purchases.
|
|
ValidatedPurchases []*ValidatedPurchase `protobuf:"bytes,1,rep,name=validated_purchases,json=validatedPurchases,proto3" json:"validated_purchases,omitempty"`
|
|
}
|
|
|
|
func (x *ValidatePurchaseResponse) Reset() {
|
|
*x = ValidatePurchaseResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[104]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidatePurchaseResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidatePurchaseResponse) ProtoMessage() {}
|
|
|
|
func (x *ValidatePurchaseResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[104]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidatePurchaseResponse.ProtoReflect.Descriptor instead.
|
|
func (*ValidatePurchaseResponse) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{104}
|
|
}
|
|
|
|
func (x *ValidatePurchaseResponse) GetValidatedPurchases() []*ValidatedPurchase {
|
|
if x != nil {
|
|
return x.ValidatedPurchases
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Validate Subscription response.
|
|
type ValidateSubscriptionResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
ValidatedSubscription *ValidatedSubscription `protobuf:"bytes,1,opt,name=validated_subscription,json=validatedSubscription,proto3" json:"validated_subscription,omitempty"`
|
|
}
|
|
|
|
func (x *ValidateSubscriptionResponse) Reset() {
|
|
*x = ValidateSubscriptionResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[105]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidateSubscriptionResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidateSubscriptionResponse) ProtoMessage() {}
|
|
|
|
func (x *ValidateSubscriptionResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[105]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidateSubscriptionResponse.ProtoReflect.Descriptor instead.
|
|
func (*ValidateSubscriptionResponse) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{105}
|
|
}
|
|
|
|
func (x *ValidateSubscriptionResponse) GetValidatedSubscription() *ValidatedSubscription {
|
|
if x != nil {
|
|
return x.ValidatedSubscription
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ValidatedSubscription struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Subscription User ID.
|
|
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
// Purchase Product ID.
|
|
ProductId string `protobuf:"bytes,2,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
|
|
// Purchase Original transaction ID (we only keep track of the original subscription, not subsequent renewals).
|
|
OriginalTransactionId string `protobuf:"bytes,3,opt,name=original_transaction_id,json=originalTransactionId,proto3" json:"original_transaction_id,omitempty"`
|
|
// Store identifier
|
|
Store StoreProvider `protobuf:"varint,4,opt,name=store,proto3,enum=nakama.api.StoreProvider" json:"store,omitempty"`
|
|
// UNIX Timestamp when the purchase was done.
|
|
PurchaseTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=purchase_time,json=purchaseTime,proto3" json:"purchase_time,omitempty"`
|
|
// UNIX Timestamp when the receipt validation was stored in DB.
|
|
CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
|
// UNIX Timestamp when the receipt validation was updated in DB.
|
|
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
|
|
// Whether the purchase was done in production or sandbox environment.
|
|
Environment StoreEnvironment `protobuf:"varint,8,opt,name=environment,proto3,enum=nakama.api.StoreEnvironment" json:"environment,omitempty"`
|
|
// Subscription expiration time. The subscription can still be auto-renewed to extend the expiration time further.
|
|
ExpiryTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expiry_time,json=expiryTime,proto3" json:"expiry_time,omitempty"`
|
|
// Subscription refund time. If this time is set, the subscription was refunded.
|
|
RefundTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=refund_time,json=refundTime,proto3" json:"refund_time,omitempty"`
|
|
// Raw provider validation response body.
|
|
ProviderResponse string `protobuf:"bytes,11,opt,name=provider_response,json=providerResponse,proto3" json:"provider_response,omitempty"`
|
|
// Raw provider notification body.
|
|
ProviderNotification string `protobuf:"bytes,12,opt,name=provider_notification,json=providerNotification,proto3" json:"provider_notification,omitempty"`
|
|
// Whether the subscription is currently active or not.
|
|
Active bool `protobuf:"varint,13,opt,name=active,proto3" json:"active,omitempty"`
|
|
}
|
|
|
|
func (x *ValidatedSubscription) Reset() {
|
|
*x = ValidatedSubscription{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[106]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidatedSubscription) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidatedSubscription) ProtoMessage() {}
|
|
|
|
func (x *ValidatedSubscription) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[106]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidatedSubscription.ProtoReflect.Descriptor instead.
|
|
func (*ValidatedSubscription) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{106}
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetProductId() string {
|
|
if x != nil {
|
|
return x.ProductId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetOriginalTransactionId() string {
|
|
if x != nil {
|
|
return x.OriginalTransactionId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetStore() StoreProvider {
|
|
if x != nil {
|
|
return x.Store
|
|
}
|
|
return StoreProvider_APPLE_APP_STORE
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetPurchaseTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.PurchaseTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetCreateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.CreateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetUpdateTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.UpdateTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetEnvironment() StoreEnvironment {
|
|
if x != nil {
|
|
return x.Environment
|
|
}
|
|
return StoreEnvironment_UNKNOWN
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetExpiryTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.ExpiryTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetRefundTime() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.RefundTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetProviderResponse() string {
|
|
if x != nil {
|
|
return x.ProviderResponse
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetProviderNotification() string {
|
|
if x != nil {
|
|
return x.ProviderNotification
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidatedSubscription) GetActive() bool {
|
|
if x != nil {
|
|
return x.Active
|
|
}
|
|
return false
|
|
}
|
|
|
|
// A list of validated purchases stored by Nakama.
|
|
type PurchaseList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Stored validated purchases.
|
|
ValidatedPurchases []*ValidatedPurchase `protobuf:"bytes,1,rep,name=validated_purchases,json=validatedPurchases,proto3" json:"validated_purchases,omitempty"`
|
|
// The cursor to send when retrieving the next page, if any.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
// The cursor to send when retrieving the previous page, if any.
|
|
PrevCursor string `protobuf:"bytes,3,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"`
|
|
}
|
|
|
|
func (x *PurchaseList) Reset() {
|
|
*x = PurchaseList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[107]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PurchaseList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PurchaseList) ProtoMessage() {}
|
|
|
|
func (x *PurchaseList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[107]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PurchaseList.ProtoReflect.Descriptor instead.
|
|
func (*PurchaseList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{107}
|
|
}
|
|
|
|
func (x *PurchaseList) GetValidatedPurchases() []*ValidatedPurchase {
|
|
if x != nil {
|
|
return x.ValidatedPurchases
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PurchaseList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PurchaseList) GetPrevCursor() string {
|
|
if x != nil {
|
|
return x.PrevCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A list of validated subscriptions stored by Nakama.
|
|
type SubscriptionList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Stored validated subscriptions.
|
|
ValidatedSubscriptions []*ValidatedSubscription `protobuf:"bytes,1,rep,name=validated_subscriptions,json=validatedSubscriptions,proto3" json:"validated_subscriptions,omitempty"`
|
|
// The cursor to send when retrieving the next page, if any.
|
|
Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
|
|
// The cursor to send when retrieving the previous page, if any.
|
|
PrevCursor string `protobuf:"bytes,3,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"`
|
|
}
|
|
|
|
func (x *SubscriptionList) Reset() {
|
|
*x = SubscriptionList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[108]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SubscriptionList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SubscriptionList) ProtoMessage() {}
|
|
|
|
func (x *SubscriptionList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[108]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SubscriptionList.ProtoReflect.Descriptor instead.
|
|
func (*SubscriptionList) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{108}
|
|
}
|
|
|
|
func (x *SubscriptionList) GetValidatedSubscriptions() []*ValidatedSubscription {
|
|
if x != nil {
|
|
return x.ValidatedSubscriptions
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SubscriptionList) GetCursor() string {
|
|
if x != nil {
|
|
return x.Cursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SubscriptionList) GetPrevCursor() string {
|
|
if x != nil {
|
|
return x.PrevCursor
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A request to submit a score to a leaderboard.
|
|
type WriteLeaderboardRecordRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The ID of the leaderboard to write to.
|
|
LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"`
|
|
// Record input.
|
|
Record *WriteLeaderboardRecordRequest_LeaderboardRecordWrite `protobuf:"bytes,2,opt,name=record,proto3" json:"record,omitempty"`
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest) Reset() {
|
|
*x = WriteLeaderboardRecordRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[109]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*WriteLeaderboardRecordRequest) ProtoMessage() {}
|
|
|
|
func (x *WriteLeaderboardRecordRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[109]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use WriteLeaderboardRecordRequest.ProtoReflect.Descriptor instead.
|
|
func (*WriteLeaderboardRecordRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{109}
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest) GetLeaderboardId() string {
|
|
if x != nil {
|
|
return x.LeaderboardId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest) GetRecord() *WriteLeaderboardRecordRequest_LeaderboardRecordWrite {
|
|
if x != nil {
|
|
return x.Record
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// The object to store.
|
|
type WriteStorageObject struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The collection to store the object.
|
|
Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
// The key for the object within the collection.
|
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
|
// The value of the object.
|
|
Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
|
|
// The version hash of the object to check. Possible values are: ["", "*", "#hash#"].
|
|
Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // if-match and if-none-match
|
|
// The read access permissions for the object.
|
|
PermissionRead *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=permission_read,json=permissionRead,proto3" json:"permission_read,omitempty"`
|
|
// The write access permissions for the object.
|
|
PermissionWrite *wrapperspb.Int32Value `protobuf:"bytes,6,opt,name=permission_write,json=permissionWrite,proto3" json:"permission_write,omitempty"`
|
|
}
|
|
|
|
func (x *WriteStorageObject) Reset() {
|
|
*x = WriteStorageObject{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[110]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *WriteStorageObject) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*WriteStorageObject) ProtoMessage() {}
|
|
|
|
func (x *WriteStorageObject) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[110]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use WriteStorageObject.ProtoReflect.Descriptor instead.
|
|
func (*WriteStorageObject) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{110}
|
|
}
|
|
|
|
func (x *WriteStorageObject) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteStorageObject) GetKey() string {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteStorageObject) GetValue() string {
|
|
if x != nil {
|
|
return x.Value
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteStorageObject) GetVersion() string {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteStorageObject) GetPermissionRead() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.PermissionRead
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *WriteStorageObject) GetPermissionWrite() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.PermissionWrite
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Write objects to the storage engine.
|
|
type WriteStorageObjectsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The objects to store on the server.
|
|
Objects []*WriteStorageObject `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"`
|
|
}
|
|
|
|
func (x *WriteStorageObjectsRequest) Reset() {
|
|
*x = WriteStorageObjectsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[111]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *WriteStorageObjectsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*WriteStorageObjectsRequest) ProtoMessage() {}
|
|
|
|
func (x *WriteStorageObjectsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[111]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use WriteStorageObjectsRequest.ProtoReflect.Descriptor instead.
|
|
func (*WriteStorageObjectsRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{111}
|
|
}
|
|
|
|
func (x *WriteStorageObjectsRequest) GetObjects() []*WriteStorageObject {
|
|
if x != nil {
|
|
return x.Objects
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A request to submit a score to a tournament.
|
|
type WriteTournamentRecordRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The tournament ID to write the record for.
|
|
TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"`
|
|
// Record input.
|
|
Record *WriteTournamentRecordRequest_TournamentRecordWrite `protobuf:"bytes,2,opt,name=record,proto3" json:"record,omitempty"`
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest) Reset() {
|
|
*x = WriteTournamentRecordRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[112]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*WriteTournamentRecordRequest) ProtoMessage() {}
|
|
|
|
func (x *WriteTournamentRecordRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[112]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use WriteTournamentRecordRequest.ProtoReflect.Descriptor instead.
|
|
func (*WriteTournamentRecordRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{112}
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest) GetTournamentId() string {
|
|
if x != nil {
|
|
return x.TournamentId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest) GetRecord() *WriteTournamentRecordRequest_TournamentRecordWrite {
|
|
if x != nil {
|
|
return x.Record
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A friend of a friend.
|
|
type FriendsOfFriendsList_FriendOfFriend struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The user who referred its friend.
|
|
Referrer string `protobuf:"bytes,1,opt,name=referrer,proto3" json:"referrer,omitempty"`
|
|
// User.
|
|
User *User `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
|
|
}
|
|
|
|
func (x *FriendsOfFriendsList_FriendOfFriend) Reset() {
|
|
*x = FriendsOfFriendsList_FriendOfFriend{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[125]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *FriendsOfFriendsList_FriendOfFriend) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FriendsOfFriendsList_FriendOfFriend) ProtoMessage() {}
|
|
|
|
func (x *FriendsOfFriendsList_FriendOfFriend) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[125]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FriendsOfFriendsList_FriendOfFriend.ProtoReflect.Descriptor instead.
|
|
func (*FriendsOfFriendsList_FriendOfFriend) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{39, 0}
|
|
}
|
|
|
|
func (x *FriendsOfFriendsList_FriendOfFriend) GetReferrer() string {
|
|
if x != nil {
|
|
return x.Referrer
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FriendsOfFriendsList_FriendOfFriend) GetUser() *User {
|
|
if x != nil {
|
|
return x.User
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A single user-role pair.
|
|
type GroupUserList_GroupUser struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// User.
|
|
User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
|
|
// Their relationship to the group.
|
|
State *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
|
|
}
|
|
|
|
func (x *GroupUserList_GroupUser) Reset() {
|
|
*x = GroupUserList_GroupUser{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[126]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *GroupUserList_GroupUser) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GroupUserList_GroupUser) ProtoMessage() {}
|
|
|
|
func (x *GroupUserList_GroupUser) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[126]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GroupUserList_GroupUser.ProtoReflect.Descriptor instead.
|
|
func (*GroupUserList_GroupUser) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{44, 0}
|
|
}
|
|
|
|
func (x *GroupUserList_GroupUser) GetUser() *User {
|
|
if x != nil {
|
|
return x.User
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GroupUserList_GroupUser) GetState() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.State
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// A single group-role pair.
|
|
type UserGroupList_UserGroup struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Group.
|
|
Group *Group `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"`
|
|
// The user's relationship to the group.
|
|
State *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
|
|
}
|
|
|
|
func (x *UserGroupList_UserGroup) Reset() {
|
|
*x = UserGroupList_UserGroup{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[127]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *UserGroupList_UserGroup) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UserGroupList_UserGroup) ProtoMessage() {}
|
|
|
|
func (x *UserGroupList_UserGroup) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[127]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UserGroupList_UserGroup.ProtoReflect.Descriptor instead.
|
|
func (*UserGroupList_UserGroup) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{95, 0}
|
|
}
|
|
|
|
func (x *UserGroupList_UserGroup) GetGroup() *Group {
|
|
if x != nil {
|
|
return x.Group
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UserGroupList_UserGroup) GetState() *wrapperspb.Int32Value {
|
|
if x != nil {
|
|
return x.State
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Record values to write.
|
|
type WriteLeaderboardRecordRequest_LeaderboardRecordWrite struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The score value to submit.
|
|
Score int64 `protobuf:"varint,1,opt,name=score,proto3" json:"score,omitempty"`
|
|
// An optional secondary value.
|
|
Subscore int64 `protobuf:"varint,2,opt,name=subscore,proto3" json:"subscore,omitempty"`
|
|
// Optional record metadata.
|
|
Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
|
// Operator override.
|
|
Operator Operator `protobuf:"varint,4,opt,name=operator,proto3,enum=nakama.api.Operator" json:"operator,omitempty"`
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) Reset() {
|
|
*x = WriteLeaderboardRecordRequest_LeaderboardRecordWrite{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[128]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*WriteLeaderboardRecordRequest_LeaderboardRecordWrite) ProtoMessage() {}
|
|
|
|
func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[128]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use WriteLeaderboardRecordRequest_LeaderboardRecordWrite.ProtoReflect.Descriptor instead.
|
|
func (*WriteLeaderboardRecordRequest_LeaderboardRecordWrite) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{109, 0}
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) GetScore() int64 {
|
|
if x != nil {
|
|
return x.Score
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) GetSubscore() int64 {
|
|
if x != nil {
|
|
return x.Subscore
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) GetMetadata() string {
|
|
if x != nil {
|
|
return x.Metadata
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) GetOperator() Operator {
|
|
if x != nil {
|
|
return x.Operator
|
|
}
|
|
return Operator_NO_OVERRIDE
|
|
}
|
|
|
|
// Record values to write.
|
|
type WriteTournamentRecordRequest_TournamentRecordWrite struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The score value to submit.
|
|
Score int64 `protobuf:"varint,1,opt,name=score,proto3" json:"score,omitempty"`
|
|
// An optional secondary value.
|
|
Subscore int64 `protobuf:"varint,2,opt,name=subscore,proto3" json:"subscore,omitempty"`
|
|
// A JSON object of additional properties (optional).
|
|
Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
|
// Operator override.
|
|
Operator Operator `protobuf:"varint,4,opt,name=operator,proto3,enum=nakama.api.Operator" json:"operator,omitempty"`
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest_TournamentRecordWrite) Reset() {
|
|
*x = WriteTournamentRecordRequest_TournamentRecordWrite{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_api_proto_msgTypes[129]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest_TournamentRecordWrite) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*WriteTournamentRecordRequest_TournamentRecordWrite) ProtoMessage() {}
|
|
|
|
func (x *WriteTournamentRecordRequest_TournamentRecordWrite) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_proto_msgTypes[129]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use WriteTournamentRecordRequest_TournamentRecordWrite.ProtoReflect.Descriptor instead.
|
|
func (*WriteTournamentRecordRequest_TournamentRecordWrite) Descriptor() ([]byte, []int) {
|
|
return file_api_proto_rawDescGZIP(), []int{112, 0}
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest_TournamentRecordWrite) GetScore() int64 {
|
|
if x != nil {
|
|
return x.Score
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest_TournamentRecordWrite) GetSubscore() int64 {
|
|
if x != nil {
|
|
return x.Subscore
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest_TournamentRecordWrite) GetMetadata() string {
|
|
if x != nil {
|
|
return x.Metadata
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteTournamentRecordRequest_TournamentRecordWrite) GetOperator() Operator {
|
|
if x != nil {
|
|
return x.Operator
|
|
}
|
|
return Operator_NO_OVERRIDE
|
|
}
|
|
|
|
var File_api_proto protoreflect.FileDescriptor
|
|
|
|
var file_api_proto_rawDesc = []byte{
|
|
0x0a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6e, 0x61, 0x6b,
|
|
0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
|
0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
|
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
|
|
0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x02, 0x0a, 0x07, 0x41, 0x63, 0x63,
|
|
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
|
0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61,
|
|
0x6c, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c,
|
|
0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x33, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69,
|
|
0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61,
|
|
0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65,
|
|
0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1b, 0x0a,
|
|
0x09, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x08, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x65,
|
|
0x72, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x65, 0x72,
|
|
0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62,
|
|
0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
|
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62,
|
|
0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75,
|
|
0x6e, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
|
|
0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
|
|
0x38, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
|
|
0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75,
|
|
0x6e, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e,
|
|
0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72,
|
|
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
|
0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70,
|
|
0x70, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x04, 0x76, 0x61, 0x72,
|
|
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61,
|
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x6c,
|
|
0x65, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72,
|
|
0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
|
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
|
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, 0x0d, 0x41,
|
|
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02,
|
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x04,
|
|
0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b,
|
|
0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43,
|
|
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
|
|
0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74,
|
|
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91,
|
|
0x01, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
|
|
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
|
|
0x12, 0x37, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23,
|
|
0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f,
|
|
0x75, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e,
|
|
0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72,
|
|
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
|
0x38, 0x01, 0x22, 0xb1, 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d,
|
|
0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73,
|
|
0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73,
|
|
0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x03, 0x20,
|
|
0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69,
|
|
0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x61,
|
|
0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a,
|
|
0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
|
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
|
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
|
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75,
|
|
0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
|
|
0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
|
|
0x12, 0x39, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25,
|
|
0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f,
|
|
0x75, 0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x2e, 0x56, 0x61, 0x72, 0x73,
|
|
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56,
|
|
0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
|
|
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
|
0x3a, 0x02, 0x38, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
|
0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x47,
|
|
0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x6c,
|
|
0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x10, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
|
|
0x6f, 0x12, 0x44, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x30, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63,
|
|
0x6f, 0x75, 0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74,
|
|
0x61, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
|
|
0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45,
|
|
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
|
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
|
|
0x22, 0xc8, 0x02, 0x0a, 0x11, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65,
|
|
0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
|
|
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65,
|
|
0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64,
|
|
0x12, 0x2b, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65,
|
|
0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, 0x69, 0x6d,
|
|
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x12, 0x0a,
|
|
0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c,
|
|
0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12,
|
|
0x24, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x72,
|
|
0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b,
|
|
0x65, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x3b, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x07, 0x20,
|
|
0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69,
|
|
0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x65, 0x6e, 0x74,
|
|
0x65, 0x72, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61,
|
|
0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
|
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
|
|
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x97, 0x01, 0x0a, 0x0d,
|
|
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x12, 0x14, 0x0a,
|
|
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f,
|
|
0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
|
|
0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41,
|
|
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x72,
|
|
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09,
|
|
0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
|
|
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
|
|
0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x04,
|
|
0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x61, 0x6b,
|
|
0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53,
|
|
0x74, 0x65, 0x61, 0x6d, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04,
|
|
0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
|
|
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
|
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x43, 0x0a,
|
|
0x11, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
|
|
0x03, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
|
|
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x73, 0x22, 0x4c, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73,
|
|
0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72,
|
|
0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72,
|
|
0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64,
|
|
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73,
|
|
0x22, 0xa7, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x72,
|
|
0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
|
|
0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
|
|
0x12, 0x3f, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b,
|
|
0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x73, 0x73,
|
|
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
0x74, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72,
|
|
0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
|
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
|
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x14, 0x53, 0x65,
|
|
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72,
|
|
0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9e, 0x01,
|
|
0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x70,
|
|
0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63,
|
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61,
|
|
0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
|
0x41, 0x70, 0x70, 0x6c, 0x65, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32,
|
|
0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61,
|
|
0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa0,
|
|
0x01, 0x0a, 0x19, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43,
|
|
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x07,
|
|
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
|
|
0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75,
|
|
0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
|
|
0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63,
|
|
0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x22, 0xa0, 0x01, 0x0a, 0x19, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
|
|
0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
|
0x33, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63,
|
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x61, 0x63, 0x63,
|
|
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
|
0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
|
|
0x69, 0x63, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
0x74, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
|
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x07, 0x61, 0x63,
|
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18,
|
|
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
|
|
0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65,
|
|
0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65,
|
|
0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x1b, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e,
|
|
0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65,
|
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e,
|
|
0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62,
|
|
0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06,
|
|
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
|
|
0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
|
0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04,
|
|
0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
|
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f,
|
|
0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x22, 0xba, 0x01, 0x0a,
|
|
0x26, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x46, 0x61, 0x63,
|
|
0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65,
|
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
|
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d,
|
|
0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x61, 0x63,
|
|
0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65,
|
|
0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65,
|
|
0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
|
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
|
|
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a,
|
|
0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1d, 0x41, 0x75,
|
|
0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x65,
|
|
0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61,
|
|
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e,
|
|
0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
|
|
0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x07, 0x61, 0x63, 0x63,
|
|
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
|
0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x19, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
|
|
0x69, 0x63, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69,
|
|
0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x07,
|
|
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74,
|
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
|
|
0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75,
|
|
0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75,
|
|
0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xce, 0x01, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68,
|
|
0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71,
|
|
0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61,
|
|
0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52,
|
|
0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61,
|
|
0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
|
|
0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08,
|
|
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
|
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63,
|
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
|
|
0x75, 0x65, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x22, 0x4c, 0x0a, 0x14, 0x42, 0x61, 0x6e, 0x47,
|
|
0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75,
|
|
0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75,
|
|
0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x45, 0x0a, 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46,
|
|
0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a,
|
|
0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12,
|
|
0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
|
|
0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x80, 0x04,
|
|
0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
|
0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12,
|
|
0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x2f,
|
|
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
|
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
|
|
0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12,
|
|
0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08,
|
|
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
|
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
|
|
0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
|
|
0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
|
|
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
|
|
0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
|
|
0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
|
0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0a,
|
|
0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
|
0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x65,
|
|
0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d,
|
|
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f,
|
|
0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69,
|
|
0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
|
|
0x12, 0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x6e, 0x65, 0x18,
|
|
0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4f, 0x6e, 0x65,
|
|
0x12, 0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x77, 0x6f, 0x18,
|
|
0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x54, 0x77, 0x6f,
|
|
0x22, 0xb9, 0x01, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73,
|
|
0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61,
|
|
0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x61, 0x6b, 0x61,
|
|
0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65,
|
|
0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12,
|
|
0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72,
|
|
0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18,
|
|
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x43, 0x75, 0x72, 0x73, 0x6f,
|
|
0x72, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63,
|
|
0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x61, 0x63,
|
|
0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xb5, 0x01, 0x0a,
|
|
0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75,
|
|
0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
|
|
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
|
|
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e,
|
|
0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x6e,
|
|
0x67, 0x54, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75,
|
|
0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
|
|
0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
|
|
0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x63,
|
|
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x43,
|
|
0x6f, 0x75, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72,
|
|
0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03,
|
|
0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x1c,
|
|
0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
|
|
0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x12,
|
|
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x47, 0x0a,
|
|
0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61,
|
|
0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
|
0x25, 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x69,
|
|
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62,
|
|
0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
|
|
0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
|
|
0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
|
0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x44, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
|
|
0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e,
|
|
0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
|
|
0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x15,
|
|
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a,
|
|
0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
|
|
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
|
|
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
|
0x6e, 0x22, 0x5f, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61,
|
|
0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
0x12, 0x40, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01,
|
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70,
|
|
0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f,
|
|
0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49,
|
|
0x64, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
|
0x12, 0x41, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02,
|
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70,
|
|
0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
|
|
0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
|
0x69, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
|
0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a,
|
|
0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
|
|
0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f,
|
|
0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
|
|
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
|
|
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
|
|
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe6, 0x01, 0x0a, 0x06, 0x46, 0x72, 0x69,
|
|
0x65, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x10, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55,
|
|
0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61,
|
|
0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32,
|
|
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b,
|
|
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75,
|
|
0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x05, 0x53, 0x74, 0x61,
|
|
0x74, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x0f,
|
|
0x0a, 0x0b, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12,
|
|
0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56,
|
|
0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10,
|
|
0x03, 0x22, 0x52, 0x0a, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
|
|
0x2c, 0x0a, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
|
0x32, 0x12, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x72,
|
|
0x69, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x16, 0x0a,
|
|
0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63,
|
|
0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xe1, 0x01, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
|
|
0x73, 0x4f, 0x66, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5d,
|
|
0x0a, 0x12, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x66, 0x72, 0x69,
|
|
0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x61, 0x6b,
|
|
0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4f,
|
|
0x66, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x46, 0x72, 0x69,
|
|
0x65, 0x6e, 0x64, 0x4f, 0x66, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x10, 0x66, 0x72, 0x69,
|
|
0x65, 0x6e, 0x64, 0x73, 0x4f, 0x66, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x16, 0x0a,
|
|
0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63,
|
|
0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, 0x52, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f,
|
|
0x66, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x65, 0x72,
|
|
0x72, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x66, 0x65, 0x72,
|
|
0x72, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x10, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55,
|
|
0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x64, 0x0a, 0x0f, 0x47, 0x65, 0x74,
|
|
0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03,
|
|
0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x1c,
|
|
0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
|
|
0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c,
|
|
0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03,
|
|
0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x73, 0x22,
|
|
0x37, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
|
|
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
|
|
0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
|
|
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0xa8, 0x03, 0x0a, 0x05, 0x47, 0x72, 0x6f,
|
|
0x75, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
|
0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49,
|
|
0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
|
|
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x5f,
|
|
0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, 0x54,
|
|
0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d,
|
|
0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x2e, 0x0a,
|
|
0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
|
|
0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1d, 0x0a,
|
|
0x0a, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
|
|
0x05, 0x52, 0x09, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09,
|
|
0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52,
|
|
0x08, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65,
|
|
0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
|
|
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
|
|
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
|
|
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
|
|
0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74,
|
|
0x12, 0x29, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
|
0x32, 0x11, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x72,
|
|
0x6f, 0x75, 0x70, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63,
|
|
0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72,
|
|
0x73, 0x6f, 0x72, 0x22, 0x96, 0x02, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65,
|
|
0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75,
|
|
0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b,
|
|
0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65,
|
|
0x72, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x52,
|
|
0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63,
|
|
0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72,
|
|
0x73, 0x6f, 0x72, 0x1a, 0xa6, 0x01, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65,
|
|
0x72, 0x12, 0x24, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x10, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65,
|
|
0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
|
|
0x6c, 0x75, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x40, 0x0a, 0x05, 0x53, 0x74,
|
|
0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x55, 0x50, 0x45, 0x52, 0x41, 0x44, 0x4d, 0x49,
|
|
0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0a,
|
|
0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f,
|
|
0x49, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x22, 0x87, 0x01, 0x0a,
|
|
0x1c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x46,
|
|
0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a,
|
|
0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
|
|
0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f,
|
|
0x75, 0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x61, 0x63, 0x63,
|
|
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
|
|
0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x19, 0x49, 0x6d, 0x70, 0x6f, 0x72,
|
|
0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71,
|
|
0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61,
|
|
0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52,
|
|
0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65,
|
|
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
|
|
0x6c, 0x75, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x2d, 0x0a, 0x10, 0x4a, 0x6f,
|
|
0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19,
|
|
0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x15, 0x4a, 0x6f, 0x69,
|
|
0x6e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74,
|
|
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e,
|
|
0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x15, 0x4b, 0x69, 0x63, 0x6b, 0x47,
|
|
0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75,
|
|
0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75,
|
|
0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x64, 0x65,
|
|
0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f,
|
|
0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74,
|
|
0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
|
|
0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61,
|
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f,
|
|
0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x5f,
|
|
0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65,
|
|
0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72,
|
|
0x65, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74,
|
|
0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
|
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
|
0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24,
|
|
0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18,
|
|
0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61,
|
|
0x74, 0x69, 0x76, 0x65, 0x22, 0x66, 0x0a, 0x0f, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f,
|
|
0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x64, 0x65,
|
|
0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
|
|
0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65,
|
|
0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f,
|
|
0x61, 0x72, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xe9, 0x03, 0x0a,
|
|
0x11, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f,
|
|
0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72,
|
|
0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64,
|
|
0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e,
|
|
0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e,
|
|
0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
|
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
|
|
0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14,
|
|
0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73,
|
|
0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, 0x6f, 0x72, 0x65,
|
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, 0x6f, 0x72, 0x65,
|
|
0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20,
|
|
0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a,
|
|
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65,
|
|
0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
|
|
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
|
|
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
|
|
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
|
|
0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x74, 0x69,
|
|
0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
|
0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65,
|
|
0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
|
|
0x72, 0x61, 0x6e, 0x6b, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f,
|
|
0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78,
|
|
0x4e, 0x75, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x15, 0x4c, 0x65, 0x61,
|
|
0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69,
|
|
0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20,
|
|
0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69,
|
|
0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f,
|
|
0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x6f,
|
|
0x77, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
|
0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
|
0x64, 0x52, 0x0c, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12,
|
|
0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72,
|
|
0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18,
|
|
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x43, 0x75, 0x72, 0x73, 0x6f,
|
|
0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
|
0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
|
0x22, 0x2e, 0x0a, 0x11, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65,
|
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69,
|
|
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
|
|
0x22, 0x7c, 0x0a, 0x13, 0x4c, 0x69, 0x6e, 0x6b, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b,
|
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
|
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d,
|
|
0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x61, 0x63,
|
|
0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e,
|
|
0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
|
|
0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x22, 0x76,
|
|
0x0a, 0x10, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69,
|
|
0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x61,
|
|
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
|
0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x22, 0xbc, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x43,
|
|
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65,
|
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
|
|
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e,
|
|
0x65, 0x6c, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
|
0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61,
|
|
0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
|
|
0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a,
|
|
0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63,
|
|
0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x72,
|
|
0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05,
|
|
0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
|
|
0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12,
|
|
0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
|
|
0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x68, 0x0a, 0x1b, 0x4c, 0x69,
|
|
0x73, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x66, 0x46, 0x72, 0x69, 0x65, 0x6e,
|
|
0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d,
|
|
0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32,
|
|
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
|
0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75,
|
|
0x72, 0x73, 0x6f, 0x72, 0x22, 0xf4, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x6f,
|
|
0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
|
|
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16,
|
|
0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
|
0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
|
|
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
|
|
0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e,
|
|
0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x6e,
|
|
0x67, 0x54, 0x61, 0x67, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18,
|
|
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
|
|
0x75, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x6f,
|
|
0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
|
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
|
|
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x22, 0xb0, 0x01, 0x0a, 0x15,
|
|
0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65,
|
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69,
|
|
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
|
|
0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69,
|
|
0x6d, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
|
|
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
|
|
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
|
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xed,
|
|
0x01, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61,
|
|
0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x4f,
|
|
0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c,
|
|
0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64,
|
|
0x49, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
|
|
0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f,
|
|
0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49,
|
|
0x64, 0x12, 0x33, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06,
|
|
0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
|
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xe3,
|
|
0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61,
|
|
0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f,
|
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72,
|
|
0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72,
|
|
0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65,
|
|
0x72, 0x49, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
|
0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f,
|
|
0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12,
|
|
0x33, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x78,
|
|
0x70, 0x69, 0x72, 0x79, 0x22, 0xe1, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74,
|
|
0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x6c,
|
|
0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
|
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
|
|
0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x40,
|
|
0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18,
|
|
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
|
|
0x65, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65,
|
|
0x12, 0x32, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c,
|
|
0x61, 0x62, 0x65, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65,
|
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
|
|
0x6c, 0x75, 0x65, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x36, 0x0a, 0x08,
|
|
0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x78,
|
|
0x53, 0x69, 0x7a, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
|
|
0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x78, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74,
|
|
0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
|
|
0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
|
0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65,
|
|
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x0f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x72, 0x73,
|
|
0x6f, 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61,
|
|
0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c,
|
|
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63,
|
|
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d,
|
|
0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32,
|
|
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
|
0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75,
|
|
0x72, 0x73, 0x6f, 0x72, 0x22, 0x65, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73,
|
|
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69,
|
|
0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xea, 0x01, 0x0a, 0x27,
|
|
0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
|
|
0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72,
|
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e,
|
|
0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
|
|
0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x05,
|
|
0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
|
|
0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
|
|
0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x06, 0x65,
|
|
0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
|
|
0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79,
|
|
0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xe0, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73,
|
|
0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
|
0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75,
|
|
0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b,
|
|
0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
|
|
0x09, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x6c,
|
|
0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
|
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
|
|
0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16,
|
|
0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
|
0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79,
|
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
|
|
0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0xdf, 0x02, 0x0a, 0x16,
|
|
0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52,
|
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
|
|
0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x61,
|
|
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x63,
|
|
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
|
|
0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x0a,
|
|
0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
|
0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09,
|
|
0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x65, 0x6e, 0x64,
|
|
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
|
|
0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,
|
|
0x6d, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
|
|
0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18,
|
|
0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xae, 0x01,
|
|
0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73,
|
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f,
|
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
|
|
0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69,
|
|
0x6d, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
|
|
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
|
|
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
|
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xd0,
|
|
0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63,
|
|
0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63,
|
|
0x68, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61,
|
|
0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68,
|
|
0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6c, 0x61, 0x62,
|
|
0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
|
|
0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a,
|
|
0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a,
|
|
0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05,
|
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x12, 0x21,
|
|
0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x4e, 0x61, 0x6d,
|
|
0x65, 0x22, 0x38, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b,
|
|
0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x11, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74,
|
|
0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x19,
|
|
0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65,
|
|
0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
|
|
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
|
|
0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
|
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
|
|
0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x0f, 0x4d, 0x61, 0x74, 0x63,
|
|
0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74,
|
|
0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x05, 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x55,
|
|
0x0a, 0x19, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f,
|
|
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x16, 0x6f,
|
|
0x6c, 0x64, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74,
|
|
0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x61, 0x6b,
|
|
0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b,
|
|
0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
|
|
0x73, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe0,
|
|
0x01, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
|
|
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
|
|
0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
|
|
0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
|
|
0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
|
0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65,
|
|
0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64,
|
|
0x65, 0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74,
|
|
0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
|
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
|
|
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
|
|
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18,
|
|
0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
|
|
0x74, 0x22, 0x7d, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
|
|
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e,
|
|
0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
|
|
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x61, 0x62,
|
|
0x6c, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x0f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72,
|
|
0x22, 0x50, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08,
|
|
0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
|
|
0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f,
|
|
0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49,
|
|
0x64, 0x73, 0x22, 0x4f, 0x0a, 0x17, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75,
|
|
0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a,
|
|
0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72,
|
|
0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72,
|
|
0x49, 0x64, 0x73, 0x22, 0x60, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61,
|
|
0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f,
|
|
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
|
0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
|
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07,
|
|
0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75,
|
|
0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x19, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x6f,
|
|
0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73,
|
|
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e,
|
|
0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f,
|
|
0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49,
|
|
0x64, 0x73, 0x22, 0x4a, 0x0a, 0x03, 0x52, 0x70, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79,
|
|
0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c,
|
|
0x6f, 0x61, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18,
|
|
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x4b, 0x65, 0x79, 0x22, 0x5e,
|
|
0x0a, 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65,
|
|
0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61,
|
|
0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66,
|
|
0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd8,
|
|
0x02, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
|
|
0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
|
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
|
|
0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76,
|
|
0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x70,
|
|
0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x06,
|
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
|
0x52, 0x65, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
|
|
0x6f, 0x6e, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f,
|
|
0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12,
|
|
0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
|
0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b,
|
|
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75,
|
|
0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x10, 0x53, 0x74,
|
|
0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6b, 0x12, 0x1e,
|
|
0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
|
|
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
|
0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73,
|
|
0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65,
|
|
0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
|
|
0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
|
0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
|
|
0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
|
|
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
|
0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x45, 0x0a,
|
|
0x11, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63,
|
|
0x6b, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
|
0x32, 0x1c, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74,
|
|
0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6b, 0x52, 0x04,
|
|
0x61, 0x63, 0x6b, 0x73, 0x22, 0x45, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f,
|
|
0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
|
|
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61,
|
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65,
|
|
0x63, 0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x11, 0x53,
|
|
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74,
|
|
0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
|
0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53,
|
|
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x6f, 0x62,
|
|
0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18,
|
|
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xbe, 0x05,
|
|
0x0a, 0x0a, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02,
|
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05,
|
|
0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74,
|
|
0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
|
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
|
|
0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05,
|
|
0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12,
|
|
0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73,
|
|
0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
|
|
0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22,
|
|
0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
|
|
0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x53, 0x63, 0x6f,
|
|
0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18,
|
|
0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12,
|
|
0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0a, 0x20,
|
|
0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d,
|
|
0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01,
|
|
0x28, 0x0d, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a,
|
|
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65,
|
|
0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
|
|
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
|
|
0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
|
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
|
|
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
|
|
0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
|
|
0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x63,
|
|
0x74, 0x69, 0x76, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72,
|
|
0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x5f,
|
|
0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65,
|
|
0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
|
|
0x6f, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d,
|
|
0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08,
|
|
0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68,
|
|
0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52,
|
|
0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0x62,
|
|
0x0a, 0x0e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74,
|
|
0x12, 0x38, 0x0a, 0x0b, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
|
|
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61,
|
|
0x70, 0x69, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x74,
|
|
0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75,
|
|
0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73,
|
|
0x6f, 0x72, 0x22, 0xf4, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e,
|
|
0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x72,
|
|
0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e,
|
|
0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72,
|
|
0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63,
|
|
0x6f, 0x72, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65,
|
|
0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61,
|
|
0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62,
|
|
0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0c, 0x6f, 0x77, 0x6e, 0x65,
|
|
0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74,
|
|
0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e,
|
|
0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65,
|
|
0x76, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
|
0x70, 0x72, 0x65, 0x76, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61,
|
|
0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
|
|
0x72, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfb, 0x02, 0x0a, 0x14, 0x55, 0x70,
|
|
0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
|
|
0x75, 0x65, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0c,
|
|
0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
|
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
|
0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a,
|
|
0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
|
|
0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x61,
|
|
0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
|
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
|
|
0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67,
|
|
0x54, 0x61, 0x67, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
|
|
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
|
|
0x6c, 0x75, 0x65, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a,
|
|
0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74,
|
|
0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61,
|
|
0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19,
|
|
0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
|
|
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64,
|
|
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
|
0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b,
|
|
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x6c,
|
|
0x61, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
|
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
|
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6c, 0x61, 0x6e,
|
|
0x67, 0x54, 0x61, 0x67, 0x12, 0x3b, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75,
|
|
0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
|
|
0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72,
|
|
0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6f, 0x70, 0x65,
|
|
0x6e, 0x22, 0xe6, 0x04, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73,
|
|
0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73,
|
|
0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
|
|
0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69,
|
|
0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x61,
|
|
0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61,
|
|
0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67,
|
|
0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67,
|
|
0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
|
|
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
|
|
0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x62,
|
|
0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61,
|
|
0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x6f, 0x6f, 0x67,
|
|
0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x6f, 0x6f,
|
|
0x67, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x63, 0x65, 0x6e,
|
|
0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x61,
|
|
0x6d, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74,
|
|
0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74,
|
|
0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18,
|
|
0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1d, 0x0a,
|
|
0x0a, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28,
|
|
0x05, 0x52, 0x09, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b,
|
|
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63,
|
|
0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64,
|
|
0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
|
|
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f,
|
|
0x6f, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f,
|
|
0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f,
|
|
0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12,
|
|
0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x99, 0x02, 0x0a, 0x0d, 0x55,
|
|
0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0b,
|
|
0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
|
0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55,
|
|
0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65,
|
|
0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75,
|
|
0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, 0xa9, 0x01, 0x0a, 0x09, 0x55,
|
|
0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75,
|
|
0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61,
|
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75,
|
|
0x70, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
|
0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x73,
|
|
0x74, 0x61, 0x74, 0x65, 0x22, 0x40, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a,
|
|
0x0a, 0x53, 0x55, 0x50, 0x45, 0x52, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a,
|
|
0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42,
|
|
0x45, 0x52, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x51,
|
|
0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x22, 0x2f, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12,
|
|
0x26, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
|
|
0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72,
|
|
0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x6e, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64,
|
|
0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
|
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69,
|
|
0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70,
|
|
0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01,
|
|
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07,
|
|
0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x22, 0x72, 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64,
|
|
0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41,
|
|
0x70, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72,
|
|
0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65,
|
|
0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
|
|
0x75, 0x65, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x22, 0x71, 0x0a, 0x1d, 0x56,
|
|
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x47,
|
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
|
|
0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
|
0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73,
|
|
0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
|
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
|
|
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x22, 0x73,
|
|
0x0a, 0x21, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
|
|
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75,
|
|
0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x34, 0x0a,
|
|
0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
|
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73,
|
|
0x69, 0x73, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
|
|
0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x75, 0x61, 0x77, 0x65, 0x69, 0x52, 0x65,
|
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73,
|
|
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73,
|
|
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12,
|
|
0x34, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
|
0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, 0x65,
|
|
0x72, 0x73, 0x69, 0x73, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x26, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
|
0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f,
|
|
0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64,
|
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69,
|
|
0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
|
|
0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x22, 0xa9, 0x04,
|
|
0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x72, 0x63, 0x68,
|
|
0x61, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
|
|
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74,
|
|
0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
|
0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
|
0x0e, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53,
|
|
0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x05, 0x73, 0x74,
|
|
0x6f, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f,
|
|
0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
|
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
|
|
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65,
|
|
0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74,
|
|
0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
|
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
|
|
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
|
|
0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
|
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
|
0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b,
|
|
0x0a, 0x0b, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
|
|
0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70,
|
|
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
|
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
|
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69,
|
|
0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e,
|
|
0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65,
|
|
0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76,
|
|
0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x65, 0x6e,
|
|
0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73,
|
|
0x65, 0x65, 0x6e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x22, 0x6a, 0x0a, 0x18, 0x56, 0x61, 0x6c,
|
|
0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
|
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
|
0x65, 0x64, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
|
0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73,
|
|
0x65, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x72, 0x63,
|
|
0x68, 0x61, 0x73, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
|
0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
|
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x16, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
|
0x65, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61,
|
|
0x70, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x73,
|
|
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
|
0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
|
|
0xa7, 0x05, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62,
|
|
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65,
|
|
0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
|
|
0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49,
|
|
0x64, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x72,
|
|
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x15, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e,
|
|
0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x6f,
|
|
0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d,
|
|
0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69,
|
|
0x64, 0x65, 0x72, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x70, 0x75,
|
|
0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x70,
|
|
0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63,
|
|
0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
|
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72,
|
|
0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
|
|
0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
|
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
|
|
0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
|
|
0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6e, 0x61, 0x6b,
|
|
0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x76,
|
|
0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
|
|
0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f,
|
|
0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
|
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
|
|
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54, 0x69,
|
|
0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d,
|
|
0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
|
|
0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12,
|
|
0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70,
|
|
0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76,
|
|
0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x15,
|
|
0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
|
|
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x72, 0x6f,
|
|
0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
|
|
0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0c, 0x50, 0x75,
|
|
0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x76, 0x61,
|
|
0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65,
|
|
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61,
|
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75,
|
|
0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
|
|
0x64, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75,
|
|
0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73,
|
|
0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f,
|
|
0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x43, 0x75, 0x72,
|
|
0x73, 0x6f, 0x72, 0x22, 0xa7, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69,
|
|
0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
|
|
0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, 0x6b, 0x61,
|
|
0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64,
|
|
0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x76, 0x61,
|
|
0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b,
|
|
0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xbb, 0x02,
|
|
0x0a, 0x1d, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61,
|
|
0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
|
0x25, 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x69,
|
|
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62,
|
|
0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e,
|
|
0x61, 0x70, 0x69, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62,
|
|
0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
0x74, 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63,
|
|
0x6f, 0x72, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
|
0x1a, 0x98, 0x01, 0x0a, 0x16, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64,
|
|
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
|
|
0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72,
|
|
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a,
|
|
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x08, 0x6f, 0x70, 0x65,
|
|
0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x61,
|
|
0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
|
|
0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x84, 0x02, 0x0a, 0x12,
|
|
0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65,
|
|
0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
|
|
0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
|
|
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72,
|
|
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
|
|
0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
|
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
|
0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x6d,
|
|
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x65,
|
|
0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x06,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
|
|
0x65, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x72, 0x69,
|
|
0x74, 0x65, 0x22, 0x56, 0x0a, 0x1a, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61,
|
|
0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
0x12, 0x38, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
|
0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x57,
|
|
0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63,
|
|
0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0xb5, 0x02, 0x0a, 0x1c, 0x57,
|
|
0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
|
|
0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74,
|
|
0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64,
|
|
0x12, 0x56, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x3e, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x72,
|
|
0x69, 0x74, 0x65, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63,
|
|
0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e,
|
|
0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65,
|
|
0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x97, 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x75,
|
|
0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x72, 0x69,
|
|
0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x73,
|
|
0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x75, 0x62, 0x73,
|
|
0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
|
0x12, 0x30, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01,
|
|
0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
|
0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
|
|
0x6f, 0x72, 0x2a, 0x6f, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69,
|
|
0x64, 0x65, 0x72, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x41, 0x50, 0x50,
|
|
0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x4f, 0x4f, 0x47,
|
|
0x4c, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12,
|
|
0x16, 0x0a, 0x12, 0x48, 0x55, 0x41, 0x57, 0x45, 0x49, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x47, 0x41,
|
|
0x4c, 0x4c, 0x45, 0x52, 0x59, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x43, 0x45, 0x42,
|
|
0x4f, 0x4f, 0x4b, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52,
|
|
0x45, 0x10, 0x03, 0x2a, 0x3c, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x76, 0x69,
|
|
0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
|
|
0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10,
|
|
0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10,
|
|
0x02, 0x2a, 0x4c, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0f, 0x0a,
|
|
0x0b, 0x4e, 0x4f, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x00, 0x12, 0x08,
|
|
0x0a, 0x04, 0x42, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10,
|
|
0x02, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03,
|
|
0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x42,
|
|
0x63, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x63, 0x6c, 0x61, 0x62,
|
|
0x73, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x09, 0x4e, 0x61,
|
|
0x6b, 0x61, 0x6d, 0x61, 0x41, 0x70, 0x69, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75,
|
|
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73,
|
|
0x2f, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61,
|
|
0x70, 0x69, 0xaa, 0x02, 0x0f, 0x4e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74,
|
|
0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
}
|
|
|
|
var (
|
|
file_api_proto_rawDescOnce sync.Once
|
|
file_api_proto_rawDescData = file_api_proto_rawDesc
|
|
)
|
|
|
|
func file_api_proto_rawDescGZIP() []byte {
|
|
file_api_proto_rawDescOnce.Do(func() {
|
|
file_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_proto_rawDescData)
|
|
})
|
|
return file_api_proto_rawDescData
|
|
}
|
|
|
|
var file_api_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
|
|
var file_api_proto_msgTypes = make([]protoimpl.MessageInfo, 130)
|
|
var file_api_proto_goTypes = []interface{}{
|
|
(StoreProvider)(0), // 0: nakama.api.StoreProvider
|
|
(StoreEnvironment)(0), // 1: nakama.api.StoreEnvironment
|
|
(Operator)(0), // 2: nakama.api.Operator
|
|
(Friend_State)(0), // 3: nakama.api.Friend.State
|
|
(GroupUserList_GroupUser_State)(0), // 4: nakama.api.GroupUserList.GroupUser.State
|
|
(UserGroupList_UserGroup_State)(0), // 5: nakama.api.UserGroupList.UserGroup.State
|
|
(*Account)(nil), // 6: nakama.api.Account
|
|
(*AccountRefresh)(nil), // 7: nakama.api.AccountRefresh
|
|
(*AccountApple)(nil), // 8: nakama.api.AccountApple
|
|
(*AccountCustom)(nil), // 9: nakama.api.AccountCustom
|
|
(*AccountDevice)(nil), // 10: nakama.api.AccountDevice
|
|
(*AccountEmail)(nil), // 11: nakama.api.AccountEmail
|
|
(*AccountFacebook)(nil), // 12: nakama.api.AccountFacebook
|
|
(*AccountFacebookInstantGame)(nil), // 13: nakama.api.AccountFacebookInstantGame
|
|
(*AccountGameCenter)(nil), // 14: nakama.api.AccountGameCenter
|
|
(*AccountGoogle)(nil), // 15: nakama.api.AccountGoogle
|
|
(*AccountSteam)(nil), // 16: nakama.api.AccountSteam
|
|
(*AddFriendsRequest)(nil), // 17: nakama.api.AddFriendsRequest
|
|
(*AddGroupUsersRequest)(nil), // 18: nakama.api.AddGroupUsersRequest
|
|
(*SessionRefreshRequest)(nil), // 19: nakama.api.SessionRefreshRequest
|
|
(*SessionLogoutRequest)(nil), // 20: nakama.api.SessionLogoutRequest
|
|
(*AuthenticateAppleRequest)(nil), // 21: nakama.api.AuthenticateAppleRequest
|
|
(*AuthenticateCustomRequest)(nil), // 22: nakama.api.AuthenticateCustomRequest
|
|
(*AuthenticateDeviceRequest)(nil), // 23: nakama.api.AuthenticateDeviceRequest
|
|
(*AuthenticateEmailRequest)(nil), // 24: nakama.api.AuthenticateEmailRequest
|
|
(*AuthenticateFacebookRequest)(nil), // 25: nakama.api.AuthenticateFacebookRequest
|
|
(*AuthenticateFacebookInstantGameRequest)(nil), // 26: nakama.api.AuthenticateFacebookInstantGameRequest
|
|
(*AuthenticateGameCenterRequest)(nil), // 27: nakama.api.AuthenticateGameCenterRequest
|
|
(*AuthenticateGoogleRequest)(nil), // 28: nakama.api.AuthenticateGoogleRequest
|
|
(*AuthenticateSteamRequest)(nil), // 29: nakama.api.AuthenticateSteamRequest
|
|
(*BanGroupUsersRequest)(nil), // 30: nakama.api.BanGroupUsersRequest
|
|
(*BlockFriendsRequest)(nil), // 31: nakama.api.BlockFriendsRequest
|
|
(*ChannelMessage)(nil), // 32: nakama.api.ChannelMessage
|
|
(*ChannelMessageList)(nil), // 33: nakama.api.ChannelMessageList
|
|
(*CreateGroupRequest)(nil), // 34: nakama.api.CreateGroupRequest
|
|
(*DeleteFriendsRequest)(nil), // 35: nakama.api.DeleteFriendsRequest
|
|
(*DeleteGroupRequest)(nil), // 36: nakama.api.DeleteGroupRequest
|
|
(*DeleteLeaderboardRecordRequest)(nil), // 37: nakama.api.DeleteLeaderboardRecordRequest
|
|
(*DeleteNotificationsRequest)(nil), // 38: nakama.api.DeleteNotificationsRequest
|
|
(*DeleteTournamentRecordRequest)(nil), // 39: nakama.api.DeleteTournamentRecordRequest
|
|
(*DeleteStorageObjectId)(nil), // 40: nakama.api.DeleteStorageObjectId
|
|
(*DeleteStorageObjectsRequest)(nil), // 41: nakama.api.DeleteStorageObjectsRequest
|
|
(*Event)(nil), // 42: nakama.api.Event
|
|
(*Friend)(nil), // 43: nakama.api.Friend
|
|
(*FriendList)(nil), // 44: nakama.api.FriendList
|
|
(*FriendsOfFriendsList)(nil), // 45: nakama.api.FriendsOfFriendsList
|
|
(*GetUsersRequest)(nil), // 46: nakama.api.GetUsersRequest
|
|
(*GetSubscriptionRequest)(nil), // 47: nakama.api.GetSubscriptionRequest
|
|
(*Group)(nil), // 48: nakama.api.Group
|
|
(*GroupList)(nil), // 49: nakama.api.GroupList
|
|
(*GroupUserList)(nil), // 50: nakama.api.GroupUserList
|
|
(*ImportFacebookFriendsRequest)(nil), // 51: nakama.api.ImportFacebookFriendsRequest
|
|
(*ImportSteamFriendsRequest)(nil), // 52: nakama.api.ImportSteamFriendsRequest
|
|
(*JoinGroupRequest)(nil), // 53: nakama.api.JoinGroupRequest
|
|
(*JoinTournamentRequest)(nil), // 54: nakama.api.JoinTournamentRequest
|
|
(*KickGroupUsersRequest)(nil), // 55: nakama.api.KickGroupUsersRequest
|
|
(*Leaderboard)(nil), // 56: nakama.api.Leaderboard
|
|
(*LeaderboardList)(nil), // 57: nakama.api.LeaderboardList
|
|
(*LeaderboardRecord)(nil), // 58: nakama.api.LeaderboardRecord
|
|
(*LeaderboardRecordList)(nil), // 59: nakama.api.LeaderboardRecordList
|
|
(*LeaveGroupRequest)(nil), // 60: nakama.api.LeaveGroupRequest
|
|
(*LinkFacebookRequest)(nil), // 61: nakama.api.LinkFacebookRequest
|
|
(*LinkSteamRequest)(nil), // 62: nakama.api.LinkSteamRequest
|
|
(*ListChannelMessagesRequest)(nil), // 63: nakama.api.ListChannelMessagesRequest
|
|
(*ListFriendsRequest)(nil), // 64: nakama.api.ListFriendsRequest
|
|
(*ListFriendsOfFriendsRequest)(nil), // 65: nakama.api.ListFriendsOfFriendsRequest
|
|
(*ListGroupsRequest)(nil), // 66: nakama.api.ListGroupsRequest
|
|
(*ListGroupUsersRequest)(nil), // 67: nakama.api.ListGroupUsersRequest
|
|
(*ListLeaderboardRecordsAroundOwnerRequest)(nil), // 68: nakama.api.ListLeaderboardRecordsAroundOwnerRequest
|
|
(*ListLeaderboardRecordsRequest)(nil), // 69: nakama.api.ListLeaderboardRecordsRequest
|
|
(*ListMatchesRequest)(nil), // 70: nakama.api.ListMatchesRequest
|
|
(*ListNotificationsRequest)(nil), // 71: nakama.api.ListNotificationsRequest
|
|
(*ListStorageObjectsRequest)(nil), // 72: nakama.api.ListStorageObjectsRequest
|
|
(*ListSubscriptionsRequest)(nil), // 73: nakama.api.ListSubscriptionsRequest
|
|
(*ListTournamentRecordsAroundOwnerRequest)(nil), // 74: nakama.api.ListTournamentRecordsAroundOwnerRequest
|
|
(*ListTournamentRecordsRequest)(nil), // 75: nakama.api.ListTournamentRecordsRequest
|
|
(*ListTournamentsRequest)(nil), // 76: nakama.api.ListTournamentsRequest
|
|
(*ListUserGroupsRequest)(nil), // 77: nakama.api.ListUserGroupsRequest
|
|
(*Match)(nil), // 78: nakama.api.Match
|
|
(*MatchList)(nil), // 79: nakama.api.MatchList
|
|
(*MatchmakerCompletionStats)(nil), // 80: nakama.api.MatchmakerCompletionStats
|
|
(*MatchmakerStats)(nil), // 81: nakama.api.MatchmakerStats
|
|
(*Notification)(nil), // 82: nakama.api.Notification
|
|
(*NotificationList)(nil), // 83: nakama.api.NotificationList
|
|
(*PromoteGroupUsersRequest)(nil), // 84: nakama.api.PromoteGroupUsersRequest
|
|
(*DemoteGroupUsersRequest)(nil), // 85: nakama.api.DemoteGroupUsersRequest
|
|
(*ReadStorageObjectId)(nil), // 86: nakama.api.ReadStorageObjectId
|
|
(*ReadStorageObjectsRequest)(nil), // 87: nakama.api.ReadStorageObjectsRequest
|
|
(*Rpc)(nil), // 88: nakama.api.Rpc
|
|
(*Session)(nil), // 89: nakama.api.Session
|
|
(*StorageObject)(nil), // 90: nakama.api.StorageObject
|
|
(*StorageObjectAck)(nil), // 91: nakama.api.StorageObjectAck
|
|
(*StorageObjectAcks)(nil), // 92: nakama.api.StorageObjectAcks
|
|
(*StorageObjects)(nil), // 93: nakama.api.StorageObjects
|
|
(*StorageObjectList)(nil), // 94: nakama.api.StorageObjectList
|
|
(*Tournament)(nil), // 95: nakama.api.Tournament
|
|
(*TournamentList)(nil), // 96: nakama.api.TournamentList
|
|
(*TournamentRecordList)(nil), // 97: nakama.api.TournamentRecordList
|
|
(*UpdateAccountRequest)(nil), // 98: nakama.api.UpdateAccountRequest
|
|
(*UpdateGroupRequest)(nil), // 99: nakama.api.UpdateGroupRequest
|
|
(*User)(nil), // 100: nakama.api.User
|
|
(*UserGroupList)(nil), // 101: nakama.api.UserGroupList
|
|
(*Users)(nil), // 102: nakama.api.Users
|
|
(*ValidatePurchaseAppleRequest)(nil), // 103: nakama.api.ValidatePurchaseAppleRequest
|
|
(*ValidateSubscriptionAppleRequest)(nil), // 104: nakama.api.ValidateSubscriptionAppleRequest
|
|
(*ValidatePurchaseGoogleRequest)(nil), // 105: nakama.api.ValidatePurchaseGoogleRequest
|
|
(*ValidateSubscriptionGoogleRequest)(nil), // 106: nakama.api.ValidateSubscriptionGoogleRequest
|
|
(*ValidatePurchaseHuaweiRequest)(nil), // 107: nakama.api.ValidatePurchaseHuaweiRequest
|
|
(*ValidatePurchaseFacebookInstantRequest)(nil), // 108: nakama.api.ValidatePurchaseFacebookInstantRequest
|
|
(*ValidatedPurchase)(nil), // 109: nakama.api.ValidatedPurchase
|
|
(*ValidatePurchaseResponse)(nil), // 110: nakama.api.ValidatePurchaseResponse
|
|
(*ValidateSubscriptionResponse)(nil), // 111: nakama.api.ValidateSubscriptionResponse
|
|
(*ValidatedSubscription)(nil), // 112: nakama.api.ValidatedSubscription
|
|
(*PurchaseList)(nil), // 113: nakama.api.PurchaseList
|
|
(*SubscriptionList)(nil), // 114: nakama.api.SubscriptionList
|
|
(*WriteLeaderboardRecordRequest)(nil), // 115: nakama.api.WriteLeaderboardRecordRequest
|
|
(*WriteStorageObject)(nil), // 116: nakama.api.WriteStorageObject
|
|
(*WriteStorageObjectsRequest)(nil), // 117: nakama.api.WriteStorageObjectsRequest
|
|
(*WriteTournamentRecordRequest)(nil), // 118: nakama.api.WriteTournamentRecordRequest
|
|
nil, // 119: nakama.api.AccountRefresh.VarsEntry
|
|
nil, // 120: nakama.api.AccountApple.VarsEntry
|
|
nil, // 121: nakama.api.AccountCustom.VarsEntry
|
|
nil, // 122: nakama.api.AccountDevice.VarsEntry
|
|
nil, // 123: nakama.api.AccountEmail.VarsEntry
|
|
nil, // 124: nakama.api.AccountFacebook.VarsEntry
|
|
nil, // 125: nakama.api.AccountFacebookInstantGame.VarsEntry
|
|
nil, // 126: nakama.api.AccountGameCenter.VarsEntry
|
|
nil, // 127: nakama.api.AccountGoogle.VarsEntry
|
|
nil, // 128: nakama.api.AccountSteam.VarsEntry
|
|
nil, // 129: nakama.api.SessionRefreshRequest.VarsEntry
|
|
nil, // 130: nakama.api.Event.PropertiesEntry
|
|
(*FriendsOfFriendsList_FriendOfFriend)(nil), // 131: nakama.api.FriendsOfFriendsList.FriendOfFriend
|
|
(*GroupUserList_GroupUser)(nil), // 132: nakama.api.GroupUserList.GroupUser
|
|
(*UserGroupList_UserGroup)(nil), // 133: nakama.api.UserGroupList.UserGroup
|
|
(*WriteLeaderboardRecordRequest_LeaderboardRecordWrite)(nil), // 134: nakama.api.WriteLeaderboardRecordRequest.LeaderboardRecordWrite
|
|
(*WriteTournamentRecordRequest_TournamentRecordWrite)(nil), // 135: nakama.api.WriteTournamentRecordRequest.TournamentRecordWrite
|
|
(*timestamppb.Timestamp)(nil), // 136: google.protobuf.Timestamp
|
|
(*wrapperspb.BoolValue)(nil), // 137: google.protobuf.BoolValue
|
|
(*wrapperspb.Int32Value)(nil), // 138: google.protobuf.Int32Value
|
|
(*wrapperspb.StringValue)(nil), // 139: google.protobuf.StringValue
|
|
(*wrapperspb.UInt32Value)(nil), // 140: google.protobuf.UInt32Value
|
|
(*wrapperspb.Int64Value)(nil), // 141: google.protobuf.Int64Value
|
|
}
|
|
var file_api_proto_depIdxs = []int32{
|
|
100, // 0: nakama.api.Account.user:type_name -> nakama.api.User
|
|
10, // 1: nakama.api.Account.devices:type_name -> nakama.api.AccountDevice
|
|
136, // 2: nakama.api.Account.verify_time:type_name -> google.protobuf.Timestamp
|
|
136, // 3: nakama.api.Account.disable_time:type_name -> google.protobuf.Timestamp
|
|
119, // 4: nakama.api.AccountRefresh.vars:type_name -> nakama.api.AccountRefresh.VarsEntry
|
|
120, // 5: nakama.api.AccountApple.vars:type_name -> nakama.api.AccountApple.VarsEntry
|
|
121, // 6: nakama.api.AccountCustom.vars:type_name -> nakama.api.AccountCustom.VarsEntry
|
|
122, // 7: nakama.api.AccountDevice.vars:type_name -> nakama.api.AccountDevice.VarsEntry
|
|
123, // 8: nakama.api.AccountEmail.vars:type_name -> nakama.api.AccountEmail.VarsEntry
|
|
124, // 9: nakama.api.AccountFacebook.vars:type_name -> nakama.api.AccountFacebook.VarsEntry
|
|
125, // 10: nakama.api.AccountFacebookInstantGame.vars:type_name -> nakama.api.AccountFacebookInstantGame.VarsEntry
|
|
126, // 11: nakama.api.AccountGameCenter.vars:type_name -> nakama.api.AccountGameCenter.VarsEntry
|
|
127, // 12: nakama.api.AccountGoogle.vars:type_name -> nakama.api.AccountGoogle.VarsEntry
|
|
128, // 13: nakama.api.AccountSteam.vars:type_name -> nakama.api.AccountSteam.VarsEntry
|
|
129, // 14: nakama.api.SessionRefreshRequest.vars:type_name -> nakama.api.SessionRefreshRequest.VarsEntry
|
|
8, // 15: nakama.api.AuthenticateAppleRequest.account:type_name -> nakama.api.AccountApple
|
|
137, // 16: nakama.api.AuthenticateAppleRequest.create:type_name -> google.protobuf.BoolValue
|
|
9, // 17: nakama.api.AuthenticateCustomRequest.account:type_name -> nakama.api.AccountCustom
|
|
137, // 18: nakama.api.AuthenticateCustomRequest.create:type_name -> google.protobuf.BoolValue
|
|
10, // 19: nakama.api.AuthenticateDeviceRequest.account:type_name -> nakama.api.AccountDevice
|
|
137, // 20: nakama.api.AuthenticateDeviceRequest.create:type_name -> google.protobuf.BoolValue
|
|
11, // 21: nakama.api.AuthenticateEmailRequest.account:type_name -> nakama.api.AccountEmail
|
|
137, // 22: nakama.api.AuthenticateEmailRequest.create:type_name -> google.protobuf.BoolValue
|
|
12, // 23: nakama.api.AuthenticateFacebookRequest.account:type_name -> nakama.api.AccountFacebook
|
|
137, // 24: nakama.api.AuthenticateFacebookRequest.create:type_name -> google.protobuf.BoolValue
|
|
137, // 25: nakama.api.AuthenticateFacebookRequest.sync:type_name -> google.protobuf.BoolValue
|
|
13, // 26: nakama.api.AuthenticateFacebookInstantGameRequest.account:type_name -> nakama.api.AccountFacebookInstantGame
|
|
137, // 27: nakama.api.AuthenticateFacebookInstantGameRequest.create:type_name -> google.protobuf.BoolValue
|
|
14, // 28: nakama.api.AuthenticateGameCenterRequest.account:type_name -> nakama.api.AccountGameCenter
|
|
137, // 29: nakama.api.AuthenticateGameCenterRequest.create:type_name -> google.protobuf.BoolValue
|
|
15, // 30: nakama.api.AuthenticateGoogleRequest.account:type_name -> nakama.api.AccountGoogle
|
|
137, // 31: nakama.api.AuthenticateGoogleRequest.create:type_name -> google.protobuf.BoolValue
|
|
16, // 32: nakama.api.AuthenticateSteamRequest.account:type_name -> nakama.api.AccountSteam
|
|
137, // 33: nakama.api.AuthenticateSteamRequest.create:type_name -> google.protobuf.BoolValue
|
|
137, // 34: nakama.api.AuthenticateSteamRequest.sync:type_name -> google.protobuf.BoolValue
|
|
138, // 35: nakama.api.ChannelMessage.code:type_name -> google.protobuf.Int32Value
|
|
136, // 36: nakama.api.ChannelMessage.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 37: nakama.api.ChannelMessage.update_time:type_name -> google.protobuf.Timestamp
|
|
137, // 38: nakama.api.ChannelMessage.persistent:type_name -> google.protobuf.BoolValue
|
|
32, // 39: nakama.api.ChannelMessageList.messages:type_name -> nakama.api.ChannelMessage
|
|
40, // 40: nakama.api.DeleteStorageObjectsRequest.object_ids:type_name -> nakama.api.DeleteStorageObjectId
|
|
130, // 41: nakama.api.Event.properties:type_name -> nakama.api.Event.PropertiesEntry
|
|
136, // 42: nakama.api.Event.timestamp:type_name -> google.protobuf.Timestamp
|
|
100, // 43: nakama.api.Friend.user:type_name -> nakama.api.User
|
|
138, // 44: nakama.api.Friend.state:type_name -> google.protobuf.Int32Value
|
|
136, // 45: nakama.api.Friend.update_time:type_name -> google.protobuf.Timestamp
|
|
43, // 46: nakama.api.FriendList.friends:type_name -> nakama.api.Friend
|
|
131, // 47: nakama.api.FriendsOfFriendsList.friends_of_friends:type_name -> nakama.api.FriendsOfFriendsList.FriendOfFriend
|
|
137, // 48: nakama.api.Group.open:type_name -> google.protobuf.BoolValue
|
|
136, // 49: nakama.api.Group.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 50: nakama.api.Group.update_time:type_name -> google.protobuf.Timestamp
|
|
48, // 51: nakama.api.GroupList.groups:type_name -> nakama.api.Group
|
|
132, // 52: nakama.api.GroupUserList.group_users:type_name -> nakama.api.GroupUserList.GroupUser
|
|
12, // 53: nakama.api.ImportFacebookFriendsRequest.account:type_name -> nakama.api.AccountFacebook
|
|
137, // 54: nakama.api.ImportFacebookFriendsRequest.reset:type_name -> google.protobuf.BoolValue
|
|
16, // 55: nakama.api.ImportSteamFriendsRequest.account:type_name -> nakama.api.AccountSteam
|
|
137, // 56: nakama.api.ImportSteamFriendsRequest.reset:type_name -> google.protobuf.BoolValue
|
|
2, // 57: nakama.api.Leaderboard.operator:type_name -> nakama.api.Operator
|
|
136, // 58: nakama.api.Leaderboard.create_time:type_name -> google.protobuf.Timestamp
|
|
56, // 59: nakama.api.LeaderboardList.leaderboards:type_name -> nakama.api.Leaderboard
|
|
139, // 60: nakama.api.LeaderboardRecord.username:type_name -> google.protobuf.StringValue
|
|
136, // 61: nakama.api.LeaderboardRecord.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 62: nakama.api.LeaderboardRecord.update_time:type_name -> google.protobuf.Timestamp
|
|
136, // 63: nakama.api.LeaderboardRecord.expiry_time:type_name -> google.protobuf.Timestamp
|
|
58, // 64: nakama.api.LeaderboardRecordList.records:type_name -> nakama.api.LeaderboardRecord
|
|
58, // 65: nakama.api.LeaderboardRecordList.owner_records:type_name -> nakama.api.LeaderboardRecord
|
|
12, // 66: nakama.api.LinkFacebookRequest.account:type_name -> nakama.api.AccountFacebook
|
|
137, // 67: nakama.api.LinkFacebookRequest.sync:type_name -> google.protobuf.BoolValue
|
|
16, // 68: nakama.api.LinkSteamRequest.account:type_name -> nakama.api.AccountSteam
|
|
137, // 69: nakama.api.LinkSteamRequest.sync:type_name -> google.protobuf.BoolValue
|
|
138, // 70: nakama.api.ListChannelMessagesRequest.limit:type_name -> google.protobuf.Int32Value
|
|
137, // 71: nakama.api.ListChannelMessagesRequest.forward:type_name -> google.protobuf.BoolValue
|
|
138, // 72: nakama.api.ListFriendsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
138, // 73: nakama.api.ListFriendsRequest.state:type_name -> google.protobuf.Int32Value
|
|
138, // 74: nakama.api.ListFriendsOfFriendsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
138, // 75: nakama.api.ListGroupsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
138, // 76: nakama.api.ListGroupsRequest.members:type_name -> google.protobuf.Int32Value
|
|
137, // 77: nakama.api.ListGroupsRequest.open:type_name -> google.protobuf.BoolValue
|
|
138, // 78: nakama.api.ListGroupUsersRequest.limit:type_name -> google.protobuf.Int32Value
|
|
138, // 79: nakama.api.ListGroupUsersRequest.state:type_name -> google.protobuf.Int32Value
|
|
140, // 80: nakama.api.ListLeaderboardRecordsAroundOwnerRequest.limit:type_name -> google.protobuf.UInt32Value
|
|
141, // 81: nakama.api.ListLeaderboardRecordsAroundOwnerRequest.expiry:type_name -> google.protobuf.Int64Value
|
|
138, // 82: nakama.api.ListLeaderboardRecordsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
141, // 83: nakama.api.ListLeaderboardRecordsRequest.expiry:type_name -> google.protobuf.Int64Value
|
|
138, // 84: nakama.api.ListMatchesRequest.limit:type_name -> google.protobuf.Int32Value
|
|
137, // 85: nakama.api.ListMatchesRequest.authoritative:type_name -> google.protobuf.BoolValue
|
|
139, // 86: nakama.api.ListMatchesRequest.label:type_name -> google.protobuf.StringValue
|
|
138, // 87: nakama.api.ListMatchesRequest.min_size:type_name -> google.protobuf.Int32Value
|
|
138, // 88: nakama.api.ListMatchesRequest.max_size:type_name -> google.protobuf.Int32Value
|
|
139, // 89: nakama.api.ListMatchesRequest.query:type_name -> google.protobuf.StringValue
|
|
138, // 90: nakama.api.ListNotificationsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
138, // 91: nakama.api.ListStorageObjectsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
138, // 92: nakama.api.ListSubscriptionsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
140, // 93: nakama.api.ListTournamentRecordsAroundOwnerRequest.limit:type_name -> google.protobuf.UInt32Value
|
|
141, // 94: nakama.api.ListTournamentRecordsAroundOwnerRequest.expiry:type_name -> google.protobuf.Int64Value
|
|
138, // 95: nakama.api.ListTournamentRecordsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
141, // 96: nakama.api.ListTournamentRecordsRequest.expiry:type_name -> google.protobuf.Int64Value
|
|
140, // 97: nakama.api.ListTournamentsRequest.category_start:type_name -> google.protobuf.UInt32Value
|
|
140, // 98: nakama.api.ListTournamentsRequest.category_end:type_name -> google.protobuf.UInt32Value
|
|
140, // 99: nakama.api.ListTournamentsRequest.start_time:type_name -> google.protobuf.UInt32Value
|
|
140, // 100: nakama.api.ListTournamentsRequest.end_time:type_name -> google.protobuf.UInt32Value
|
|
138, // 101: nakama.api.ListTournamentsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
138, // 102: nakama.api.ListUserGroupsRequest.limit:type_name -> google.protobuf.Int32Value
|
|
138, // 103: nakama.api.ListUserGroupsRequest.state:type_name -> google.protobuf.Int32Value
|
|
139, // 104: nakama.api.Match.label:type_name -> google.protobuf.StringValue
|
|
78, // 105: nakama.api.MatchList.matches:type_name -> nakama.api.Match
|
|
136, // 106: nakama.api.MatchmakerCompletionStats.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 107: nakama.api.MatchmakerCompletionStats.complete_time:type_name -> google.protobuf.Timestamp
|
|
136, // 108: nakama.api.MatchmakerStats.oldest_ticket_create_time:type_name -> google.protobuf.Timestamp
|
|
80, // 109: nakama.api.MatchmakerStats.completions:type_name -> nakama.api.MatchmakerCompletionStats
|
|
136, // 110: nakama.api.Notification.create_time:type_name -> google.protobuf.Timestamp
|
|
82, // 111: nakama.api.NotificationList.notifications:type_name -> nakama.api.Notification
|
|
86, // 112: nakama.api.ReadStorageObjectsRequest.object_ids:type_name -> nakama.api.ReadStorageObjectId
|
|
136, // 113: nakama.api.StorageObject.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 114: nakama.api.StorageObject.update_time:type_name -> google.protobuf.Timestamp
|
|
136, // 115: nakama.api.StorageObjectAck.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 116: nakama.api.StorageObjectAck.update_time:type_name -> google.protobuf.Timestamp
|
|
91, // 117: nakama.api.StorageObjectAcks.acks:type_name -> nakama.api.StorageObjectAck
|
|
90, // 118: nakama.api.StorageObjects.objects:type_name -> nakama.api.StorageObject
|
|
90, // 119: nakama.api.StorageObjectList.objects:type_name -> nakama.api.StorageObject
|
|
136, // 120: nakama.api.Tournament.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 121: nakama.api.Tournament.start_time:type_name -> google.protobuf.Timestamp
|
|
136, // 122: nakama.api.Tournament.end_time:type_name -> google.protobuf.Timestamp
|
|
2, // 123: nakama.api.Tournament.operator:type_name -> nakama.api.Operator
|
|
95, // 124: nakama.api.TournamentList.tournaments:type_name -> nakama.api.Tournament
|
|
58, // 125: nakama.api.TournamentRecordList.records:type_name -> nakama.api.LeaderboardRecord
|
|
58, // 126: nakama.api.TournamentRecordList.owner_records:type_name -> nakama.api.LeaderboardRecord
|
|
139, // 127: nakama.api.UpdateAccountRequest.username:type_name -> google.protobuf.StringValue
|
|
139, // 128: nakama.api.UpdateAccountRequest.display_name:type_name -> google.protobuf.StringValue
|
|
139, // 129: nakama.api.UpdateAccountRequest.avatar_url:type_name -> google.protobuf.StringValue
|
|
139, // 130: nakama.api.UpdateAccountRequest.lang_tag:type_name -> google.protobuf.StringValue
|
|
139, // 131: nakama.api.UpdateAccountRequest.location:type_name -> google.protobuf.StringValue
|
|
139, // 132: nakama.api.UpdateAccountRequest.timezone:type_name -> google.protobuf.StringValue
|
|
139, // 133: nakama.api.UpdateGroupRequest.name:type_name -> google.protobuf.StringValue
|
|
139, // 134: nakama.api.UpdateGroupRequest.description:type_name -> google.protobuf.StringValue
|
|
139, // 135: nakama.api.UpdateGroupRequest.lang_tag:type_name -> google.protobuf.StringValue
|
|
139, // 136: nakama.api.UpdateGroupRequest.avatar_url:type_name -> google.protobuf.StringValue
|
|
137, // 137: nakama.api.UpdateGroupRequest.open:type_name -> google.protobuf.BoolValue
|
|
136, // 138: nakama.api.User.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 139: nakama.api.User.update_time:type_name -> google.protobuf.Timestamp
|
|
133, // 140: nakama.api.UserGroupList.user_groups:type_name -> nakama.api.UserGroupList.UserGroup
|
|
100, // 141: nakama.api.Users.users:type_name -> nakama.api.User
|
|
137, // 142: nakama.api.ValidatePurchaseAppleRequest.persist:type_name -> google.protobuf.BoolValue
|
|
137, // 143: nakama.api.ValidateSubscriptionAppleRequest.persist:type_name -> google.protobuf.BoolValue
|
|
137, // 144: nakama.api.ValidatePurchaseGoogleRequest.persist:type_name -> google.protobuf.BoolValue
|
|
137, // 145: nakama.api.ValidateSubscriptionGoogleRequest.persist:type_name -> google.protobuf.BoolValue
|
|
137, // 146: nakama.api.ValidatePurchaseHuaweiRequest.persist:type_name -> google.protobuf.BoolValue
|
|
137, // 147: nakama.api.ValidatePurchaseFacebookInstantRequest.persist:type_name -> google.protobuf.BoolValue
|
|
0, // 148: nakama.api.ValidatedPurchase.store:type_name -> nakama.api.StoreProvider
|
|
136, // 149: nakama.api.ValidatedPurchase.purchase_time:type_name -> google.protobuf.Timestamp
|
|
136, // 150: nakama.api.ValidatedPurchase.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 151: nakama.api.ValidatedPurchase.update_time:type_name -> google.protobuf.Timestamp
|
|
136, // 152: nakama.api.ValidatedPurchase.refund_time:type_name -> google.protobuf.Timestamp
|
|
1, // 153: nakama.api.ValidatedPurchase.environment:type_name -> nakama.api.StoreEnvironment
|
|
109, // 154: nakama.api.ValidatePurchaseResponse.validated_purchases:type_name -> nakama.api.ValidatedPurchase
|
|
112, // 155: nakama.api.ValidateSubscriptionResponse.validated_subscription:type_name -> nakama.api.ValidatedSubscription
|
|
0, // 156: nakama.api.ValidatedSubscription.store:type_name -> nakama.api.StoreProvider
|
|
136, // 157: nakama.api.ValidatedSubscription.purchase_time:type_name -> google.protobuf.Timestamp
|
|
136, // 158: nakama.api.ValidatedSubscription.create_time:type_name -> google.protobuf.Timestamp
|
|
136, // 159: nakama.api.ValidatedSubscription.update_time:type_name -> google.protobuf.Timestamp
|
|
1, // 160: nakama.api.ValidatedSubscription.environment:type_name -> nakama.api.StoreEnvironment
|
|
136, // 161: nakama.api.ValidatedSubscription.expiry_time:type_name -> google.protobuf.Timestamp
|
|
136, // 162: nakama.api.ValidatedSubscription.refund_time:type_name -> google.protobuf.Timestamp
|
|
109, // 163: nakama.api.PurchaseList.validated_purchases:type_name -> nakama.api.ValidatedPurchase
|
|
112, // 164: nakama.api.SubscriptionList.validated_subscriptions:type_name -> nakama.api.ValidatedSubscription
|
|
134, // 165: nakama.api.WriteLeaderboardRecordRequest.record:type_name -> nakama.api.WriteLeaderboardRecordRequest.LeaderboardRecordWrite
|
|
138, // 166: nakama.api.WriteStorageObject.permission_read:type_name -> google.protobuf.Int32Value
|
|
138, // 167: nakama.api.WriteStorageObject.permission_write:type_name -> google.protobuf.Int32Value
|
|
116, // 168: nakama.api.WriteStorageObjectsRequest.objects:type_name -> nakama.api.WriteStorageObject
|
|
135, // 169: nakama.api.WriteTournamentRecordRequest.record:type_name -> nakama.api.WriteTournamentRecordRequest.TournamentRecordWrite
|
|
100, // 170: nakama.api.FriendsOfFriendsList.FriendOfFriend.user:type_name -> nakama.api.User
|
|
100, // 171: nakama.api.GroupUserList.GroupUser.user:type_name -> nakama.api.User
|
|
138, // 172: nakama.api.GroupUserList.GroupUser.state:type_name -> google.protobuf.Int32Value
|
|
48, // 173: nakama.api.UserGroupList.UserGroup.group:type_name -> nakama.api.Group
|
|
138, // 174: nakama.api.UserGroupList.UserGroup.state:type_name -> google.protobuf.Int32Value
|
|
2, // 175: nakama.api.WriteLeaderboardRecordRequest.LeaderboardRecordWrite.operator:type_name -> nakama.api.Operator
|
|
2, // 176: nakama.api.WriteTournamentRecordRequest.TournamentRecordWrite.operator:type_name -> nakama.api.Operator
|
|
177, // [177:177] is the sub-list for method output_type
|
|
177, // [177:177] is the sub-list for method input_type
|
|
177, // [177:177] is the sub-list for extension type_name
|
|
177, // [177:177] is the sub-list for extension extendee
|
|
0, // [0:177] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_api_proto_init() }
|
|
func file_api_proto_init() {
|
|
if File_api_proto != nil {
|
|
return
|
|
}
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Account); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountRefresh); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountApple); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountCustom); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountDevice); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountEmail); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountFacebook); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountFacebookInstantGame); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountGameCenter); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountGoogle); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccountSteam); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AddFriendsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AddGroupUsersRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SessionRefreshRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SessionLogoutRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateAppleRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateCustomRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateDeviceRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateEmailRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateFacebookRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateFacebookInstantGameRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateGameCenterRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateGoogleRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateSteamRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*BanGroupUsersRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*BlockFriendsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ChannelMessage); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ChannelMessageList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*CreateGroupRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DeleteFriendsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DeleteGroupRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DeleteLeaderboardRecordRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DeleteNotificationsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DeleteTournamentRecordRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DeleteStorageObjectId); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DeleteStorageObjectsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Event); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Friend); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*FriendList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*FriendsOfFriendsList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*GetUsersRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*GetSubscriptionRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Group); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*GroupList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*GroupUserList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ImportFacebookFriendsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ImportSteamFriendsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*JoinGroupRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*JoinTournamentRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*KickGroupUsersRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Leaderboard); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*LeaderboardList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*LeaderboardRecord); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*LeaderboardRecordList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*LeaveGroupRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*LinkFacebookRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*LinkSteamRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListChannelMessagesRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListFriendsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListFriendsOfFriendsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListGroupsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListGroupUsersRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListLeaderboardRecordsAroundOwnerRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListLeaderboardRecordsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListMatchesRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListNotificationsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListStorageObjectsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListSubscriptionsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListTournamentRecordsAroundOwnerRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListTournamentRecordsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListTournamentsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListUserGroupsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Match); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*MatchList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*MatchmakerCompletionStats); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*MatchmakerStats); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Notification); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*NotificationList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PromoteGroupUsersRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DemoteGroupUsersRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ReadStorageObjectId); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ReadStorageObjectsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Rpc); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Session); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*StorageObject); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*StorageObjectAck); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*StorageObjectAcks); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*StorageObjects); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*StorageObjectList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Tournament); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*TournamentList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*TournamentRecordList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*UpdateAccountRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*UpdateGroupRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*User); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*UserGroupList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Users); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidatePurchaseAppleRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidateSubscriptionAppleRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidatePurchaseGoogleRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidateSubscriptionGoogleRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidatePurchaseHuaweiRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidatePurchaseFacebookInstantRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidatedPurchase); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidatePurchaseResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidateSubscriptionResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidatedSubscription); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PurchaseList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SubscriptionList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*WriteLeaderboardRecordRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*WriteStorageObject); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*WriteStorageObjectsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*WriteTournamentRecordRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*FriendsOfFriendsList_FriendOfFriend); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*GroupUserList_GroupUser); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*UserGroupList_UserGroup); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*WriteLeaderboardRecordRequest_LeaderboardRecordWrite); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_api_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*WriteTournamentRecordRequest_TournamentRecordWrite); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_api_proto_rawDesc,
|
|
NumEnums: 6,
|
|
NumMessages: 130,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_api_proto_goTypes,
|
|
DependencyIndexes: file_api_proto_depIdxs,
|
|
EnumInfos: file_api_proto_enumTypes,
|
|
MessageInfos: file_api_proto_msgTypes,
|
|
}.Build()
|
|
File_api_proto = out.File
|
|
file_api_proto_rawDesc = nil
|
|
file_api_proto_goTypes = nil
|
|
file_api_proto_depIdxs = nil
|
|
}
|