// Code generated by protoc-gen-go. DO NOT EDIT.
// source: console/console.proto

package console

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	empty "github.com/golang/protobuf/ptypes/empty"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	wrappers "github.com/golang/protobuf/ptypes/wrappers"
	_ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"
	api "github.com/heroiclabs/nakama-common/api"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Account information.
type Account struct {
	// The user's account details.
	Account *api.Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
	// The UNIX time when the account was disabled.
	DisableTime          *timestamp.Timestamp `protobuf:"bytes,2,opt,name=disable_time,json=disableTime,proto3" json:"disable_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *Account) Reset()         { *m = Account{} }
func (m *Account) String() string { return proto.CompactTextString(m) }
func (*Account) ProtoMessage()    {}
func (*Account) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{0}
}

func (m *Account) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Account.Unmarshal(m, b)
}
func (m *Account) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Account.Marshal(b, m, deterministic)
}
func (m *Account) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Account.Merge(m, src)
}
func (m *Account) XXX_Size() int {
	return xxx_messageInfo_Account.Size(m)
}
func (m *Account) XXX_DiscardUnknown() {
	xxx_messageInfo_Account.DiscardUnknown(m)
}

var xxx_messageInfo_Account proto.InternalMessageInfo

func (m *Account) GetAccount() *api.Account {
	if m != nil {
		return m.Account
	}
	return nil
}

func (m *Account) GetDisableTime() *timestamp.Timestamp {
	if m != nil {
		return m.DisableTime
	}
	return nil
}

// Delete a user account.
type AccountDeleteRequest struct {
	// The unique identifier of the user account.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Record the user deletion - used for GDPR compliance.
	RecordDeletion       *wrappers.BoolValue `protobuf:"bytes,2,opt,name=record_deletion,json=recordDeletion,proto3" json:"record_deletion,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *AccountDeleteRequest) Reset()         { *m = AccountDeleteRequest{} }
func (m *AccountDeleteRequest) String() string { return proto.CompactTextString(m) }
func (*AccountDeleteRequest) ProtoMessage()    {}
func (*AccountDeleteRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{1}
}

func (m *AccountDeleteRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AccountDeleteRequest.Unmarshal(m, b)
}
func (m *AccountDeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AccountDeleteRequest.Marshal(b, m, deterministic)
}
func (m *AccountDeleteRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AccountDeleteRequest.Merge(m, src)
}
func (m *AccountDeleteRequest) XXX_Size() int {
	return xxx_messageInfo_AccountDeleteRequest.Size(m)
}
func (m *AccountDeleteRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_AccountDeleteRequest.DiscardUnknown(m)
}

var xxx_messageInfo_AccountDeleteRequest proto.InternalMessageInfo

func (m *AccountDeleteRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *AccountDeleteRequest) GetRecordDeletion() *wrappers.BoolValue {
	if m != nil {
		return m.RecordDeletion
	}
	return nil
}

// An export of all information stored for a user account.
type AccountExport struct {
	// The user's account details.
	Account *api.Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
	// The user's storage.
	Objects []*api.StorageObject `protobuf:"bytes,2,rep,name=objects,proto3" json:"objects,omitempty"`
	// The user's friends.
	Friends []*api.Friend `protobuf:"bytes,3,rep,name=friends,proto3" json:"friends,omitempty"`
	// The user's groups.
	Groups []*api.Group `protobuf:"bytes,4,rep,name=groups,proto3" json:"groups,omitempty"`
	// The user's chat messages.
	Messages []*api.ChannelMessage `protobuf:"bytes,5,rep,name=messages,proto3" json:"messages,omitempty"`
	// The user's leaderboard records.
	LeaderboardRecords []*api.LeaderboardRecord `protobuf:"bytes,6,rep,name=leaderboard_records,json=leaderboardRecords,proto3" json:"leaderboard_records,omitempty"`
	// The user's notifications.
	Notifications []*api.Notification `protobuf:"bytes,7,rep,name=notifications,proto3" json:"notifications,omitempty"`
	// The user's wallet ledger items.
	WalletLedgers        []*WalletLedger `protobuf:"bytes,8,rep,name=wallet_ledgers,json=walletLedgers,proto3" json:"wallet_ledgers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *AccountExport) Reset()         { *m = AccountExport{} }
func (m *AccountExport) String() string { return proto.CompactTextString(m) }
func (*AccountExport) ProtoMessage()    {}
func (*AccountExport) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{2}
}

func (m *AccountExport) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AccountExport.Unmarshal(m, b)
}
func (m *AccountExport) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AccountExport.Marshal(b, m, deterministic)
}
func (m *AccountExport) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AccountExport.Merge(m, src)
}
func (m *AccountExport) XXX_Size() int {
	return xxx_messageInfo_AccountExport.Size(m)
}
func (m *AccountExport) XXX_DiscardUnknown() {
	xxx_messageInfo_AccountExport.DiscardUnknown(m)
}

var xxx_messageInfo_AccountExport proto.InternalMessageInfo

func (m *AccountExport) GetAccount() *api.Account {
	if m != nil {
		return m.Account
	}
	return nil
}

func (m *AccountExport) GetObjects() []*api.StorageObject {
	if m != nil {
		return m.Objects
	}
	return nil
}

func (m *AccountExport) GetFriends() []*api.Friend {
	if m != nil {
		return m.Friends
	}
	return nil
}

func (m *AccountExport) GetGroups() []*api.Group {
	if m != nil {
		return m.Groups
	}
	return nil
}

func (m *AccountExport) GetMessages() []*api.ChannelMessage {
	if m != nil {
		return m.Messages
	}
	return nil
}

func (m *AccountExport) GetLeaderboardRecords() []*api.LeaderboardRecord {
	if m != nil {
		return m.LeaderboardRecords
	}
	return nil
}

func (m *AccountExport) GetNotifications() []*api.Notification {
	if m != nil {
		return m.Notifications
	}
	return nil
}

func (m *AccountExport) GetWalletLedgers() []*WalletLedger {
	if m != nil {
		return m.WalletLedgers
	}
	return nil
}

// The identifier for a user account.
type AccountId struct {
	// The unique identifier of the user account.
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AccountId) Reset()         { *m = AccountId{} }
func (m *AccountId) String() string { return proto.CompactTextString(m) }
func (*AccountId) ProtoMessage()    {}
func (*AccountId) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{3}
}

func (m *AccountId) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AccountId.Unmarshal(m, b)
}
func (m *AccountId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AccountId.Marshal(b, m, deterministic)
}
func (m *AccountId) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AccountId.Merge(m, src)
}
func (m *AccountId) XXX_Size() int {
	return xxx_messageInfo_AccountId.Size(m)
}
func (m *AccountId) XXX_DiscardUnknown() {
	xxx_messageInfo_AccountId.DiscardUnknown(m)
}

var xxx_messageInfo_AccountId proto.InternalMessageInfo

func (m *AccountId) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

// Authenticate a console user with username and password.
type AuthenticateRequest struct {
	// The username of the user.
	Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	// The password of the user.
	Password             string   `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AuthenticateRequest) Reset()         { *m = AuthenticateRequest{} }
func (m *AuthenticateRequest) String() string { return proto.CompactTextString(m) }
func (*AuthenticateRequest) ProtoMessage()    {}
func (*AuthenticateRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{4}
}

func (m *AuthenticateRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AuthenticateRequest.Unmarshal(m, b)
}
func (m *AuthenticateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AuthenticateRequest.Marshal(b, m, deterministic)
}
func (m *AuthenticateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AuthenticateRequest.Merge(m, src)
}
func (m *AuthenticateRequest) XXX_Size() int {
	return xxx_messageInfo_AuthenticateRequest.Size(m)
}
func (m *AuthenticateRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_AuthenticateRequest.DiscardUnknown(m)
}

var xxx_messageInfo_AuthenticateRequest proto.InternalMessageInfo

func (m *AuthenticateRequest) GetUsername() string {
	if m != nil {
		return m.Username
	}
	return ""
}

func (m *AuthenticateRequest) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

// The current server configuration and any associated warnings.
type Config struct {
	// JSON-encoded active server configuration.
	Config string `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// Any warnings about the current config.
	Warnings []*Config_Warning `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"`
	// Server version
	ServerVersion        string   `protobuf:"bytes,3,opt,name=server_version,json=serverVersion,proto3" json:"server_version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Config) Reset()         { *m = Config{} }
func (m *Config) String() string { return proto.CompactTextString(m) }
func (*Config) ProtoMessage()    {}
func (*Config) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{5}
}

func (m *Config) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Config.Unmarshal(m, b)
}
func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Config.Marshal(b, m, deterministic)
}
func (m *Config) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Config.Merge(m, src)
}
func (m *Config) XXX_Size() int {
	return xxx_messageInfo_Config.Size(m)
}
func (m *Config) XXX_DiscardUnknown() {
	xxx_messageInfo_Config.DiscardUnknown(m)
}

var xxx_messageInfo_Config proto.InternalMessageInfo

func (m *Config) GetConfig() string {
	if m != nil {
		return m.Config
	}
	return ""
}

func (m *Config) GetWarnings() []*Config_Warning {
	if m != nil {
		return m.Warnings
	}
	return nil
}

func (m *Config) GetServerVersion() string {
	if m != nil {
		return m.ServerVersion
	}
	return ""
}

// A warning for a configuration field.
type Config_Warning struct {
	// The config field this warning is for in a JSON pointer format.
	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
	// Warning message text.
	Message              string   `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Config_Warning) Reset()         { *m = Config_Warning{} }
func (m *Config_Warning) String() string { return proto.CompactTextString(m) }
func (*Config_Warning) ProtoMessage()    {}
func (*Config_Warning) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{5, 0}
}

func (m *Config_Warning) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Config_Warning.Unmarshal(m, b)
}
func (m *Config_Warning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Config_Warning.Marshal(b, m, deterministic)
}
func (m *Config_Warning) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Config_Warning.Merge(m, src)
}
func (m *Config_Warning) XXX_Size() int {
	return xxx_messageInfo_Config_Warning.Size(m)
}
func (m *Config_Warning) XXX_DiscardUnknown() {
	xxx_messageInfo_Config_Warning.DiscardUnknown(m)
}

var xxx_messageInfo_Config_Warning proto.InternalMessageInfo

func (m *Config_Warning) GetField() string {
	if m != nil {
		return m.Field
	}
	return ""
}

func (m *Config_Warning) GetMessage() string {
	if m != nil {
		return m.Message
	}
	return ""
}

// A console user session.
type ConsoleSession struct {
	// A session token (JWT) for the console user.
	Token                string   `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ConsoleSession) Reset()         { *m = ConsoleSession{} }
func (m *ConsoleSession) String() string { return proto.CompactTextString(m) }
func (*ConsoleSession) ProtoMessage()    {}
func (*ConsoleSession) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{6}
}

func (m *ConsoleSession) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConsoleSession.Unmarshal(m, b)
}
func (m *ConsoleSession) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConsoleSession.Marshal(b, m, deterministic)
}
func (m *ConsoleSession) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConsoleSession.Merge(m, src)
}
func (m *ConsoleSession) XXX_Size() int {
	return xxx_messageInfo_ConsoleSession.Size(m)
}
func (m *ConsoleSession) XXX_DiscardUnknown() {
	xxx_messageInfo_ConsoleSession.DiscardUnknown(m)
}

var xxx_messageInfo_ConsoleSession proto.InternalMessageInfo

func (m *ConsoleSession) GetToken() string {
	if m != nil {
		return m.Token
	}
	return ""
}

// Delete friend relationship between two users.
type DeleteFriendRequest struct {
	// The user do delete for.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// User ID of the friend to remove.
	FriendId             string   `protobuf:"bytes,2,opt,name=friend_id,json=friendId,proto3" json:"friend_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteFriendRequest) Reset()         { *m = DeleteFriendRequest{} }
func (m *DeleteFriendRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteFriendRequest) ProtoMessage()    {}
func (*DeleteFriendRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{7}
}

func (m *DeleteFriendRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteFriendRequest.Unmarshal(m, b)
}
func (m *DeleteFriendRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteFriendRequest.Marshal(b, m, deterministic)
}
func (m *DeleteFriendRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteFriendRequest.Merge(m, src)
}
func (m *DeleteFriendRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteFriendRequest.Size(m)
}
func (m *DeleteFriendRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteFriendRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteFriendRequest proto.InternalMessageInfo

func (m *DeleteFriendRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *DeleteFriendRequest) GetFriendId() string {
	if m != nil {
		return m.FriendId
	}
	return ""
}

// Remove a user from a group.
type DeleteGroupUserRequest struct {
	// User to remove.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the group to remove them from.
	GroupId              string   `protobuf:"bytes,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteGroupUserRequest) Reset()         { *m = DeleteGroupUserRequest{} }
func (m *DeleteGroupUserRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteGroupUserRequest) ProtoMessage()    {}
func (*DeleteGroupUserRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{8}
}

func (m *DeleteGroupUserRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteGroupUserRequest.Unmarshal(m, b)
}
func (m *DeleteGroupUserRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteGroupUserRequest.Marshal(b, m, deterministic)
}
func (m *DeleteGroupUserRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteGroupUserRequest.Merge(m, src)
}
func (m *DeleteGroupUserRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteGroupUserRequest.Size(m)
}
func (m *DeleteGroupUserRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteGroupUserRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteGroupUserRequest proto.InternalMessageInfo

func (m *DeleteGroupUserRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *DeleteGroupUserRequest) GetGroupId() string {
	if m != nil {
		return m.GroupId
	}
	return ""
}

// Delete an individual storage object.
type DeleteStorageObjectRequest struct {
	// Collection.
	Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
	// Key.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// Owner user ID.
	UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// Version for OCC.
	Version              string   `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteStorageObjectRequest) Reset()         { *m = DeleteStorageObjectRequest{} }
func (m *DeleteStorageObjectRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteStorageObjectRequest) ProtoMessage()    {}
func (*DeleteStorageObjectRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{9}
}

func (m *DeleteStorageObjectRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteStorageObjectRequest.Unmarshal(m, b)
}
func (m *DeleteStorageObjectRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteStorageObjectRequest.Marshal(b, m, deterministic)
}
func (m *DeleteStorageObjectRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteStorageObjectRequest.Merge(m, src)
}
func (m *DeleteStorageObjectRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteStorageObjectRequest.Size(m)
}
func (m *DeleteStorageObjectRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteStorageObjectRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteStorageObjectRequest proto.InternalMessageInfo

func (m *DeleteStorageObjectRequest) GetCollection() string {
	if m != nil {
		return m.Collection
	}
	return ""
}

func (m *DeleteStorageObjectRequest) GetKey() string {
	if m != nil {
		return m.Key
	}
	return ""
}

func (m *DeleteStorageObjectRequest) GetUserId() string {
	if m != nil {
		return m.UserId
	}
	return ""
}

func (m *DeleteStorageObjectRequest) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

// Delete a single wallet ledger item.
type DeleteWalletLedgerRequest struct {
	// User ID to remove wallet ledger item from.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the wallet ledger item to remove.
	WalletId             string   `protobuf:"bytes,2,opt,name=wallet_id,json=walletId,proto3" json:"wallet_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteWalletLedgerRequest) Reset()         { *m = DeleteWalletLedgerRequest{} }
func (m *DeleteWalletLedgerRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteWalletLedgerRequest) ProtoMessage()    {}
func (*DeleteWalletLedgerRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{10}
}

func (m *DeleteWalletLedgerRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteWalletLedgerRequest.Unmarshal(m, b)
}
func (m *DeleteWalletLedgerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteWalletLedgerRequest.Marshal(b, m, deterministic)
}
func (m *DeleteWalletLedgerRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteWalletLedgerRequest.Merge(m, src)
}
func (m *DeleteWalletLedgerRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteWalletLedgerRequest.Size(m)
}
func (m *DeleteWalletLedgerRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteWalletLedgerRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteWalletLedgerRequest proto.InternalMessageInfo

func (m *DeleteWalletLedgerRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *DeleteWalletLedgerRequest) GetWalletId() string {
	if m != nil {
		return m.WalletId
	}
	return ""
}

// List (and optionally filter) storage objects.
type ListStorageRequest struct {
	// User ID to filter objects for.
	UserId               string   `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ListStorageRequest) Reset()         { *m = ListStorageRequest{} }
func (m *ListStorageRequest) String() string { return proto.CompactTextString(m) }
func (*ListStorageRequest) ProtoMessage()    {}
func (*ListStorageRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{11}
}

func (m *ListStorageRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ListStorageRequest.Unmarshal(m, b)
}
func (m *ListStorageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ListStorageRequest.Marshal(b, m, deterministic)
}
func (m *ListStorageRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ListStorageRequest.Merge(m, src)
}
func (m *ListStorageRequest) XXX_Size() int {
	return xxx_messageInfo_ListStorageRequest.Size(m)
}
func (m *ListStorageRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ListStorageRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ListStorageRequest proto.InternalMessageInfo

func (m *ListStorageRequest) GetUserId() string {
	if m != nil {
		return m.UserId
	}
	return ""
}

// List (and optionally filter) users.
type ListUsersRequest struct {
	// User ID or username filter.
	Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// Search only banned users.
	Banned bool `protobuf:"varint,2,opt,name=banned,proto3" json:"banned,omitempty"`
	// Search only recorded deletes.
	Tombstones           bool     `protobuf:"varint,3,opt,name=tombstones,proto3" json:"tombstones,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ListUsersRequest) Reset()         { *m = ListUsersRequest{} }
func (m *ListUsersRequest) String() string { return proto.CompactTextString(m) }
func (*ListUsersRequest) ProtoMessage()    {}
func (*ListUsersRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{12}
}

func (m *ListUsersRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ListUsersRequest.Unmarshal(m, b)
}
func (m *ListUsersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ListUsersRequest.Marshal(b, m, deterministic)
}
func (m *ListUsersRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ListUsersRequest.Merge(m, src)
}
func (m *ListUsersRequest) XXX_Size() int {
	return xxx_messageInfo_ListUsersRequest.Size(m)
}
func (m *ListUsersRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ListUsersRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ListUsersRequest proto.InternalMessageInfo

func (m *ListUsersRequest) GetFilter() string {
	if m != nil {
		return m.Filter
	}
	return ""
}

func (m *ListUsersRequest) GetBanned() bool {
	if m != nil {
		return m.Banned
	}
	return false
}

func (m *ListUsersRequest) GetTombstones() bool {
	if m != nil {
		return m.Tombstones
	}
	return false
}

// List of storage objects.
type StorageList struct {
	// List of storage objects matching list/filter operation.
	Objects []*api.StorageObject `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"`
	// Approximate total number of storage objects.
	TotalCount           int32    `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *StorageList) Reset()         { *m = StorageList{} }
func (m *StorageList) String() string { return proto.CompactTextString(m) }
func (*StorageList) ProtoMessage()    {}
func (*StorageList) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{13}
}

func (m *StorageList) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StorageList.Unmarshal(m, b)
}
func (m *StorageList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StorageList.Marshal(b, m, deterministic)
}
func (m *StorageList) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StorageList.Merge(m, src)
}
func (m *StorageList) XXX_Size() int {
	return xxx_messageInfo_StorageList.Size(m)
}
func (m *StorageList) XXX_DiscardUnknown() {
	xxx_messageInfo_StorageList.DiscardUnknown(m)
}

var xxx_messageInfo_StorageList proto.InternalMessageInfo

func (m *StorageList) GetObjects() []*api.StorageObject {
	if m != nil {
		return m.Objects
	}
	return nil
}

func (m *StorageList) GetTotalCount() int32 {
	if m != nil {
		return m.TotalCount
	}
	return 0
}

// Unlink a particular device ID from a user's account.
type UnlinkDeviceRequest struct {
	// User ID to unlink from.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Device ID to unlink.
	DeviceId             string   `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UnlinkDeviceRequest) Reset()         { *m = UnlinkDeviceRequest{} }
func (m *UnlinkDeviceRequest) String() string { return proto.CompactTextString(m) }
func (*UnlinkDeviceRequest) ProtoMessage()    {}
func (*UnlinkDeviceRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{14}
}

func (m *UnlinkDeviceRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UnlinkDeviceRequest.Unmarshal(m, b)
}
func (m *UnlinkDeviceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UnlinkDeviceRequest.Marshal(b, m, deterministic)
}
func (m *UnlinkDeviceRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UnlinkDeviceRequest.Merge(m, src)
}
func (m *UnlinkDeviceRequest) XXX_Size() int {
	return xxx_messageInfo_UnlinkDeviceRequest.Size(m)
}
func (m *UnlinkDeviceRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UnlinkDeviceRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UnlinkDeviceRequest proto.InternalMessageInfo

func (m *UnlinkDeviceRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *UnlinkDeviceRequest) GetDeviceId() string {
	if m != nil {
		return m.DeviceId
	}
	return ""
}

// Update user account information.
type UpdateAccountRequest struct {
	// User ID to update.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Username.
	Username *wrappers.StringValue `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	// Display name.
	DisplayName *wrappers.StringValue `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Metadata.
	Metadata *wrappers.StringValue `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Avatar URL.
	AvatarUrl *wrappers.StringValue `protobuf:"bytes,5,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
	// Langtag.
	LangTag *wrappers.StringValue `protobuf:"bytes,6,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"`
	// Location.
	Location *wrappers.StringValue `protobuf:"bytes,7,opt,name=location,proto3" json:"location,omitempty"`
	// Timezone.
	Timezone *wrappers.StringValue `protobuf:"bytes,8,opt,name=timezone,proto3" json:"timezone,omitempty"`
	// Custom ID.
	CustomId *wrappers.StringValue `protobuf:"bytes,9,opt,name=custom_id,json=customId,proto3" json:"custom_id,omitempty"`
	// Email.
	Email *wrappers.StringValue `protobuf:"bytes,10,opt,name=email,proto3" json:"email,omitempty"`
	// Password.
	Password *wrappers.StringValue `protobuf:"bytes,11,opt,name=password,proto3" json:"password,omitempty"`
	// Device ID modifications.
	DeviceIds map[string]string `protobuf:"bytes,12,rep,name=device_ids,json=deviceIds,proto3" json:"device_ids,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Wallet.
	Wallet               *wrappers.StringValue `protobuf:"bytes,13,opt,name=wallet,proto3" json:"wallet,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *UpdateAccountRequest) Reset()         { *m = UpdateAccountRequest{} }
func (m *UpdateAccountRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateAccountRequest) ProtoMessage()    {}
func (*UpdateAccountRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{15}
}

func (m *UpdateAccountRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateAccountRequest.Unmarshal(m, b)
}
func (m *UpdateAccountRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateAccountRequest.Marshal(b, m, deterministic)
}
func (m *UpdateAccountRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateAccountRequest.Merge(m, src)
}
func (m *UpdateAccountRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateAccountRequest.Size(m)
}
func (m *UpdateAccountRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateAccountRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateAccountRequest proto.InternalMessageInfo

func (m *UpdateAccountRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *UpdateAccountRequest) GetUsername() *wrappers.StringValue {
	if m != nil {
		return m.Username
	}
	return nil
}

func (m *UpdateAccountRequest) GetDisplayName() *wrappers.StringValue {
	if m != nil {
		return m.DisplayName
	}
	return nil
}

func (m *UpdateAccountRequest) GetMetadata() *wrappers.StringValue {
	if m != nil {
		return m.Metadata
	}
	return nil
}

func (m *UpdateAccountRequest) GetAvatarUrl() *wrappers.StringValue {
	if m != nil {
		return m.AvatarUrl
	}
	return nil
}

func (m *UpdateAccountRequest) GetLangTag() *wrappers.StringValue {
	if m != nil {
		return m.LangTag
	}
	return nil
}

func (m *UpdateAccountRequest) GetLocation() *wrappers.StringValue {
	if m != nil {
		return m.Location
	}
	return nil
}

func (m *UpdateAccountRequest) GetTimezone() *wrappers.StringValue {
	if m != nil {
		return m.Timezone
	}
	return nil
}

func (m *UpdateAccountRequest) GetCustomId() *wrappers.StringValue {
	if m != nil {
		return m.CustomId
	}
	return nil
}

func (m *UpdateAccountRequest) GetEmail() *wrappers.StringValue {
	if m != nil {
		return m.Email
	}
	return nil
}

func (m *UpdateAccountRequest) GetPassword() *wrappers.StringValue {
	if m != nil {
		return m.Password
	}
	return nil
}

func (m *UpdateAccountRequest) GetDeviceIds() map[string]string {
	if m != nil {
		return m.DeviceIds
	}
	return nil
}

func (m *UpdateAccountRequest) GetWallet() *wrappers.StringValue {
	if m != nil {
		return m.Wallet
	}
	return nil
}

// A list of users.
type UserList struct {
	// A list of users.
	Users []*api.User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"`
	// Approximate total number of users.
	TotalCount           int32    `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserList) Reset()         { *m = UserList{} }
func (m *UserList) String() string { return proto.CompactTextString(m) }
func (*UserList) ProtoMessage()    {}
func (*UserList) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{16}
}

func (m *UserList) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserList.Unmarshal(m, b)
}
func (m *UserList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserList.Marshal(b, m, deterministic)
}
func (m *UserList) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserList.Merge(m, src)
}
func (m *UserList) XXX_Size() int {
	return xxx_messageInfo_UserList.Size(m)
}
func (m *UserList) XXX_DiscardUnknown() {
	xxx_messageInfo_UserList.DiscardUnknown(m)
}

var xxx_messageInfo_UserList proto.InternalMessageInfo

func (m *UserList) GetUsers() []*api.User {
	if m != nil {
		return m.Users
	}
	return nil
}

func (m *UserList) GetTotalCount() int32 {
	if m != nil {
		return m.TotalCount
	}
	return 0
}

// List of nodes and their stats.
type StatusList struct {
	// List of nodes and their stats.
	Nodes                []*StatusList_Status `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *StatusList) Reset()         { *m = StatusList{} }
func (m *StatusList) String() string { return proto.CompactTextString(m) }
func (*StatusList) ProtoMessage()    {}
func (*StatusList) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{17}
}

func (m *StatusList) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StatusList.Unmarshal(m, b)
}
func (m *StatusList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StatusList.Marshal(b, m, deterministic)
}
func (m *StatusList) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StatusList.Merge(m, src)
}
func (m *StatusList) XXX_Size() int {
	return xxx_messageInfo_StatusList.Size(m)
}
func (m *StatusList) XXX_DiscardUnknown() {
	xxx_messageInfo_StatusList.DiscardUnknown(m)
}

var xxx_messageInfo_StatusList proto.InternalMessageInfo

func (m *StatusList) GetNodes() []*StatusList_Status {
	if m != nil {
		return m.Nodes
	}
	return nil
}

// The status of a Nakama node.
type StatusList_Status struct {
	// Node name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Health score.
	Health int32 `protobuf:"varint,2,opt,name=health,proto3" json:"health,omitempty"`
	// Currently connected sessions.
	SessionCount int32 `protobuf:"varint,3,opt,name=session_count,json=sessionCount,proto3" json:"session_count,omitempty"`
	// Currently registered live presences.
	PresenceCount int32 `protobuf:"varint,4,opt,name=presence_count,json=presenceCount,proto3" json:"presence_count,omitempty"`
	// Current number of active authoritative matches.
	MatchCount int32 `protobuf:"varint,5,opt,name=match_count,json=matchCount,proto3" json:"match_count,omitempty"`
	// Current number of running goroutines.
	GoroutineCount int32 `protobuf:"varint,6,opt,name=goroutine_count,json=goroutineCount,proto3" json:"goroutine_count,omitempty"`
	// Average response latency in milliseconds.
	AvgLatencyMs float64 `protobuf:"fixed64,7,opt,name=avg_latency_ms,json=avgLatencyMs,proto3" json:"avg_latency_ms,omitempty"`
	// Average number of requests per second.
	AvgRateSec float64 `protobuf:"fixed64,8,opt,name=avg_rate_sec,json=avgRateSec,proto3" json:"avg_rate_sec,omitempty"`
	// Average input bandwidth usage.
	AvgInputKbs float64 `protobuf:"fixed64,9,opt,name=avg_input_kbs,json=avgInputKbs,proto3" json:"avg_input_kbs,omitempty"`
	// Average output bandwidth usage.
	AvgOutputKbs         float64  `protobuf:"fixed64,10,opt,name=avg_output_kbs,json=avgOutputKbs,proto3" json:"avg_output_kbs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *StatusList_Status) Reset()         { *m = StatusList_Status{} }
func (m *StatusList_Status) String() string { return proto.CompactTextString(m) }
func (*StatusList_Status) ProtoMessage()    {}
func (*StatusList_Status) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{17, 0}
}

func (m *StatusList_Status) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StatusList_Status.Unmarshal(m, b)
}
func (m *StatusList_Status) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StatusList_Status.Marshal(b, m, deterministic)
}
func (m *StatusList_Status) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StatusList_Status.Merge(m, src)
}
func (m *StatusList_Status) XXX_Size() int {
	return xxx_messageInfo_StatusList_Status.Size(m)
}
func (m *StatusList_Status) XXX_DiscardUnknown() {
	xxx_messageInfo_StatusList_Status.DiscardUnknown(m)
}

var xxx_messageInfo_StatusList_Status proto.InternalMessageInfo

func (m *StatusList_Status) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *StatusList_Status) GetHealth() int32 {
	if m != nil {
		return m.Health
	}
	return 0
}

func (m *StatusList_Status) GetSessionCount() int32 {
	if m != nil {
		return m.SessionCount
	}
	return 0
}

func (m *StatusList_Status) GetPresenceCount() int32 {
	if m != nil {
		return m.PresenceCount
	}
	return 0
}

func (m *StatusList_Status) GetMatchCount() int32 {
	if m != nil {
		return m.MatchCount
	}
	return 0
}

func (m *StatusList_Status) GetGoroutineCount() int32 {
	if m != nil {
		return m.GoroutineCount
	}
	return 0
}

func (m *StatusList_Status) GetAvgLatencyMs() float64 {
	if m != nil {
		return m.AvgLatencyMs
	}
	return 0
}

func (m *StatusList_Status) GetAvgRateSec() float64 {
	if m != nil {
		return m.AvgRateSec
	}
	return 0
}

func (m *StatusList_Status) GetAvgInputKbs() float64 {
	if m != nil {
		return m.AvgInputKbs
	}
	return 0
}

func (m *StatusList_Status) GetAvgOutputKbs() float64 {
	if m != nil {
		return m.AvgOutputKbs
	}
	return 0
}

// An individual update to a user's wallet.
type WalletLedger struct {
	// The identifier of this wallet change.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The user ID this wallet ledger item belongs to.
	UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// The changeset.
	Changeset string `protobuf:"bytes,3,opt,name=changeset,proto3" json:"changeset,omitempty"`
	// Any associated metadata.
	Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// The UNIX time when the wallet ledger item was created.
	CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// The UNIX time when the wallet ledger item was updated.
	UpdateTime           *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *WalletLedger) Reset()         { *m = WalletLedger{} }
func (m *WalletLedger) String() string { return proto.CompactTextString(m) }
func (*WalletLedger) ProtoMessage()    {}
func (*WalletLedger) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{18}
}

func (m *WalletLedger) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WalletLedger.Unmarshal(m, b)
}
func (m *WalletLedger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WalletLedger.Marshal(b, m, deterministic)
}
func (m *WalletLedger) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WalletLedger.Merge(m, src)
}
func (m *WalletLedger) XXX_Size() int {
	return xxx_messageInfo_WalletLedger.Size(m)
}
func (m *WalletLedger) XXX_DiscardUnknown() {
	xxx_messageInfo_WalletLedger.DiscardUnknown(m)
}

var xxx_messageInfo_WalletLedger proto.InternalMessageInfo

func (m *WalletLedger) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *WalletLedger) GetUserId() string {
	if m != nil {
		return m.UserId
	}
	return ""
}

func (m *WalletLedger) GetChangeset() string {
	if m != nil {
		return m.Changeset
	}
	return ""
}

func (m *WalletLedger) GetMetadata() string {
	if m != nil {
		return m.Metadata
	}
	return ""
}

func (m *WalletLedger) GetCreateTime() *timestamp.Timestamp {
	if m != nil {
		return m.CreateTime
	}
	return nil
}

func (m *WalletLedger) GetUpdateTime() *timestamp.Timestamp {
	if m != nil {
		return m.UpdateTime
	}
	return nil
}

// List of wallet ledger items for a particular user.
type WalletLedgerList struct {
	// A list of wallet ledger items.
	Items                []*WalletLedger `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *WalletLedgerList) Reset()         { *m = WalletLedgerList{} }
func (m *WalletLedgerList) String() string { return proto.CompactTextString(m) }
func (*WalletLedgerList) ProtoMessage()    {}
func (*WalletLedgerList) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{19}
}

func (m *WalletLedgerList) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WalletLedgerList.Unmarshal(m, b)
}
func (m *WalletLedgerList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WalletLedgerList.Marshal(b, m, deterministic)
}
func (m *WalletLedgerList) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WalletLedgerList.Merge(m, src)
}
func (m *WalletLedgerList) XXX_Size() int {
	return xxx_messageInfo_WalletLedgerList.Size(m)
}
func (m *WalletLedgerList) XXX_DiscardUnknown() {
	xxx_messageInfo_WalletLedgerList.DiscardUnknown(m)
}

var xxx_messageInfo_WalletLedgerList proto.InternalMessageInfo

func (m *WalletLedgerList) GetItems() []*WalletLedger {
	if m != nil {
		return m.Items
	}
	return nil
}

// Write a new storage object or update an existing one.
type WriteStorageObjectRequest struct {
	// Collection.
	Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
	// Key.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// Owner user ID.
	UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// Value.
	Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
	// Version for OCC.
	Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"`
	// Read permission value.
	PermissionRead *wrappers.Int32Value `protobuf:"bytes,6,opt,name=permission_read,json=permissionRead,proto3" json:"permission_read,omitempty"`
	// Write permission value.
	PermissionWrite      *wrappers.Int32Value `protobuf:"bytes,7,opt,name=permission_write,json=permissionWrite,proto3" json:"permission_write,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *WriteStorageObjectRequest) Reset()         { *m = WriteStorageObjectRequest{} }
func (m *WriteStorageObjectRequest) String() string { return proto.CompactTextString(m) }
func (*WriteStorageObjectRequest) ProtoMessage()    {}
func (*WriteStorageObjectRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_9289ac5ba895f2a7, []int{20}
}

func (m *WriteStorageObjectRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WriteStorageObjectRequest.Unmarshal(m, b)
}
func (m *WriteStorageObjectRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WriteStorageObjectRequest.Marshal(b, m, deterministic)
}
func (m *WriteStorageObjectRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WriteStorageObjectRequest.Merge(m, src)
}
func (m *WriteStorageObjectRequest) XXX_Size() int {
	return xxx_messageInfo_WriteStorageObjectRequest.Size(m)
}
func (m *WriteStorageObjectRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_WriteStorageObjectRequest.DiscardUnknown(m)
}

var xxx_messageInfo_WriteStorageObjectRequest proto.InternalMessageInfo

func (m *WriteStorageObjectRequest) GetCollection() string {
	if m != nil {
		return m.Collection
	}
	return ""
}

func (m *WriteStorageObjectRequest) GetKey() string {
	if m != nil {
		return m.Key
	}
	return ""
}

func (m *WriteStorageObjectRequest) GetUserId() string {
	if m != nil {
		return m.UserId
	}
	return ""
}

func (m *WriteStorageObjectRequest) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

func (m *WriteStorageObjectRequest) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *WriteStorageObjectRequest) GetPermissionRead() *wrappers.Int32Value {
	if m != nil {
		return m.PermissionRead
	}
	return nil
}

func (m *WriteStorageObjectRequest) GetPermissionWrite() *wrappers.Int32Value {
	if m != nil {
		return m.PermissionWrite
	}
	return nil
}

func init() {
	proto.RegisterType((*Account)(nil), "nakama.console.Account")
	proto.RegisterType((*AccountDeleteRequest)(nil), "nakama.console.AccountDeleteRequest")
	proto.RegisterType((*AccountExport)(nil), "nakama.console.AccountExport")
	proto.RegisterType((*AccountId)(nil), "nakama.console.AccountId")
	proto.RegisterType((*AuthenticateRequest)(nil), "nakama.console.AuthenticateRequest")
	proto.RegisterType((*Config)(nil), "nakama.console.Config")
	proto.RegisterType((*Config_Warning)(nil), "nakama.console.Config.Warning")
	proto.RegisterType((*ConsoleSession)(nil), "nakama.console.ConsoleSession")
	proto.RegisterType((*DeleteFriendRequest)(nil), "nakama.console.DeleteFriendRequest")
	proto.RegisterType((*DeleteGroupUserRequest)(nil), "nakama.console.DeleteGroupUserRequest")
	proto.RegisterType((*DeleteStorageObjectRequest)(nil), "nakama.console.DeleteStorageObjectRequest")
	proto.RegisterType((*DeleteWalletLedgerRequest)(nil), "nakama.console.DeleteWalletLedgerRequest")
	proto.RegisterType((*ListStorageRequest)(nil), "nakama.console.ListStorageRequest")
	proto.RegisterType((*ListUsersRequest)(nil), "nakama.console.ListUsersRequest")
	proto.RegisterType((*StorageList)(nil), "nakama.console.StorageList")
	proto.RegisterType((*UnlinkDeviceRequest)(nil), "nakama.console.UnlinkDeviceRequest")
	proto.RegisterType((*UpdateAccountRequest)(nil), "nakama.console.UpdateAccountRequest")
	proto.RegisterMapType((map[string]string)(nil), "nakama.console.UpdateAccountRequest.DeviceIdsEntry")
	proto.RegisterType((*UserList)(nil), "nakama.console.UserList")
	proto.RegisterType((*StatusList)(nil), "nakama.console.StatusList")
	proto.RegisterType((*StatusList_Status)(nil), "nakama.console.StatusList.Status")
	proto.RegisterType((*WalletLedger)(nil), "nakama.console.WalletLedger")
	proto.RegisterType((*WalletLedgerList)(nil), "nakama.console.WalletLedgerList")
	proto.RegisterType((*WriteStorageObjectRequest)(nil), "nakama.console.WriteStorageObjectRequest")
}

func init() { proto.RegisterFile("console/console.proto", fileDescriptor_9289ac5ba895f2a7) }

var fileDescriptor_9289ac5ba895f2a7 = []byte{
	// 2468 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x4b, 0x73, 0x1b, 0xc7,
	0x11, 0xf6, 0x82, 0xc4, 0xab, 0x41, 0x90, 0xcc, 0x88, 0x96, 0x41, 0x90, 0x96, 0xe0, 0x95, 0x4c,
	0x4b, 0xb0, 0x08, 0x48, 0x60, 0x1c, 0xc9, 0xb4, 0xf3, 0x20, 0x29, 0x89, 0x61, 0x2c, 0xc9, 0xa9,
	0xa5, 0x64, 0x55, 0x29, 0xa9, 0x42, 0x0d, 0x76, 0x87, 0x8b, 0x35, 0x17, 0x3b, 0xf0, 0xce, 0x00,
	0x0c, 0xc3, 0x62, 0x2a, 0x71, 0x72, 0x4b, 0x4e, 0xce, 0x2d, 0x67, 0x5f, 0x73, 0xcd, 0x21, 0x87,
	0xfc, 0x87, 0x54, 0x4e, 0xa9, 0xca, 0x31, 0x37, 0xff, 0x89, 0xd4, 0x3c, 0x16, 0x5c, 0x3c, 0x96,
	0x84, 0x98, 0xd2, 0x81, 0x45, 0xcc, 0xcc, 0x37, 0xfd, 0xf5, 0x34, 0xba, 0x7b, 0xba, 0x07, 0xf0,
	0xb6, 0x4d, 0x03, 0x46, 0x7d, 0x52, 0xd7, 0xff, 0x6b, 0xdd, 0x90, 0x72, 0x8a, 0xe6, 0x03, 0x7c,
	0x88, 0x3b, 0xb8, 0xa6, 0x67, 0xcb, 0xf7, 0x5c, 0x8f, 0xb7, 0x7b, 0xad, 0x9a, 0x4d, 0x3b, 0xf5,
	0x36, 0x09, 0xa9, 0x67, 0xfb, 0xb8, 0xc5, 0xea, 0x0a, 0xb5, 0x6e, 0xd3, 0x4e, 0x87, 0x06, 0x75,
	0xdc, 0xf5, 0xc4, 0x9f, 0x12, 0x51, 0x5e, 0x75, 0x29, 0x75, 0x7d, 0xa2, 0x66, 0x83, 0x80, 0x72,
	0xcc, 0x3d, 0x1a, 0x30, 0xbd, 0xba, 0xa2, 0x57, 0xe5, 0xa8, 0xd5, 0x3b, 0xa8, 0x93, 0x4e, 0x97,
	0x1f, 0xeb, 0xc5, 0xeb, 0xa3, 0x8b, 0xdc, 0xeb, 0x10, 0xc6, 0x71, 0xa7, 0xab, 0x01, 0xd7, 0x46,
	0x01, 0x47, 0x21, 0xee, 0x76, 0x49, 0x18, 0x49, 0xbf, 0x23, 0xff, 0xd9, 0xeb, 0x2e, 0x09, 0xd6,
	0xd9, 0x11, 0x76, 0x5d, 0x12, 0xd6, 0x69, 0x57, 0xf2, 0x8f, 0xeb, 0x62, 0x1e, 0x41, 0x76, 0xcb,
	0xb6, 0x69, 0x2f, 0xe0, 0x68, 0x1d, 0xb2, 0x58, 0x7d, 0x2c, 0x19, 0x15, 0xe3, 0x56, 0xa1, 0x71,
	0xa5, 0xa6, 0x2d, 0x21, 0x0e, 0xa6, 0x51, 0x56, 0x84, 0x41, 0x3f, 0x84, 0x39, 0xc7, 0x63, 0xb8,
	0xe5, 0x93, 0xa6, 0x50, 0xb1, 0x94, 0x92, 0x7b, 0xca, 0x35, 0xa5, 0x5e, 0x2d, 0x52, 0xaf, 0xf6,
	0x3c, 0xd2, 0xdf, 0x2a, 0x68, 0xbc, 0x98, 0x31, 0x0f, 0x61, 0x49, 0x8b, 0x7c, 0x48, 0x7c, 0xc2,
	0x89, 0x45, 0xbe, 0xea, 0x11, 0xc6, 0xd1, 0x3c, 0xa4, 0x3c, 0x47, 0x2a, 0x90, 0xb7, 0x52, 0x9e,
	0x83, 0x76, 0x60, 0x21, 0x24, 0x36, 0x0d, 0x9d, 0xa6, 0x23, 0x70, 0x1e, 0x0d, 0x12, 0x99, 0xb6,
	0x29, 0xf5, 0xbf, 0xc0, 0x7e, 0x8f, 0x58, 0xf3, 0x6a, 0xcb, 0x43, 0xbd, 0xc3, 0xfc, 0xf7, 0x0c,
	0x14, 0x35, 0xdb, 0xa3, 0x5f, 0x75, 0x69, 0xf8, 0xda, 0x87, 0xdd, 0x80, 0x2c, 0x6d, 0x7d, 0x49,
	0x6c, 0xce, 0x4a, 0xa9, 0xca, 0xcc, 0xad, 0x42, 0x63, 0x39, 0x0e, 0xdf, 0xe7, 0x34, 0xc4, 0x2e,
	0xf9, 0x5c, 0x22, 0xac, 0x08, 0x89, 0xee, 0x40, 0xf6, 0x20, 0xf4, 0x48, 0xe0, 0xb0, 0xd2, 0x8c,
	0xdc, 0x84, 0xe2, 0x9b, 0x1e, 0xcb, 0x25, 0x2b, 0x82, 0xa0, 0xdb, 0x90, 0x71, 0x43, 0xda, 0xeb,
	0xb2, 0xd2, 0xac, 0x04, 0x7f, 0x2f, 0x0e, 0xde, 0x15, 0x2b, 0x96, 0x06, 0xa0, 0x1f, 0x40, 0xae,
	0x43, 0x18, 0xc3, 0x2e, 0x61, 0xa5, 0xb4, 0x04, 0x97, 0xe3, 0xe0, 0x9d, 0x36, 0x0e, 0x02, 0xe2,
	0x3f, 0x55, 0x10, 0x6b, 0x80, 0x45, 0xcf, 0xe0, 0x8a, 0x4f, 0xb0, 0x43, 0xc2, 0x16, 0xc5, 0xa1,
	0xd3, 0x54, 0x46, 0x62, 0xa5, 0x8c, 0x14, 0xf1, 0x6e, 0x5c, 0xc4, 0x93, 0x33, 0x98, 0x25, 0x51,
	0x16, 0xf2, 0x47, 0xa7, 0x18, 0xfa, 0x11, 0x14, 0x03, 0xca, 0xbd, 0x03, 0xcf, 0x56, 0x3e, 0x55,
	0xca, 0x4a, 0x49, 0xa5, 0xb8, 0xa4, 0x67, 0x31, 0x80, 0x35, 0x0c, 0x47, 0x3b, 0x30, 0x7f, 0x84,
	0x7d, 0x9f, 0xf0, 0xa6, 0x4f, 0x1c, 0x97, 0x84, 0xac, 0x94, 0x93, 0x02, 0x56, 0x6b, 0xc3, 0x21,
	0x58, 0x7b, 0x29, 0x51, 0x4f, 0x24, 0xc8, 0x2a, 0x1e, 0xc5, 0x46, 0xcc, 0x5c, 0x81, 0xbc, 0xfe,
	0xba, 0xf6, 0x9c, 0x51, 0xef, 0x31, 0x9f, 0xc2, 0x95, 0xad, 0x1e, 0x6f, 0x93, 0x80, 0x0b, 0xd2,
	0x81, 0x93, 0x95, 0x21, 0xd7, 0x63, 0x24, 0x0c, 0x70, 0x87, 0x68, 0xf0, 0x60, 0x2c, 0xd6, 0xba,
	0x98, 0xb1, 0x23, 0x1a, 0x3a, 0xd2, 0xd3, 0xf2, 0xd6, 0x60, 0x6c, 0xfe, 0xc3, 0x80, 0xcc, 0x0e,
	0x0d, 0x0e, 0x3c, 0x17, 0x5d, 0x85, 0x8c, 0x2d, 0x3f, 0x69, 0x01, 0x7a, 0x84, 0x36, 0x21, 0x77,
	0x84, 0xc3, 0xc0, 0x0b, 0xdc, 0xc8, 0x55, 0xae, 0x8d, 0x9e, 0x46, 0x49, 0xa8, 0xbd, 0x54, 0x30,
	0x6b, 0x80, 0x47, 0xef, 0xc3, 0x3c, 0x23, 0x61, 0x9f, 0x84, 0xcd, 0x3e, 0x09, 0x99, 0x70, 0xf5,
	0x19, 0x29, 0xbb, 0xa8, 0x66, 0xbf, 0x50, 0x93, 0xe5, 0x8f, 0x21, 0xab, 0xf7, 0xa2, 0x25, 0x48,
	0x1f, 0x78, 0xc4, 0x8f, 0x8e, 0xac, 0x06, 0xa8, 0x04, 0x59, 0xfd, 0x9d, 0xeb, 0x13, 0x44, 0x43,
	0x73, 0x0d, 0xe6, 0x77, 0x94, 0x16, 0xfb, 0x84, 0x09, 0x61, 0x42, 0x02, 0xa7, 0x87, 0x24, 0x88,
	0x24, 0xc8, 0x81, 0xb9, 0x0d, 0x57, 0x54, 0x58, 0x6a, 0x2f, 0x4d, 0x08, 0xce, 0x15, 0xc8, 0x2b,
	0xf7, 0x6d, 0x7a, 0x03, 0x63, 0xa9, 0x89, 0x3d, 0xc7, 0xdc, 0x81, 0xab, 0x4a, 0x86, 0x74, 0xde,
	0x17, 0x8c, 0x84, 0x49, 0x62, 0x96, 0x21, 0x27, 0x3d, 0xfb, 0x4c, 0x4a, 0x56, 0x8e, 0xf7, 0x1c,
	0xf3, 0x77, 0x06, 0x94, 0x95, 0x94, 0xe1, 0x20, 0xd3, 0x92, 0xae, 0x01, 0xd8, 0xd4, 0xf7, 0x89,
	0x2d, 0x13, 0x83, 0x92, 0x18, 0x9b, 0x41, 0x8b, 0x30, 0x73, 0x48, 0x8e, 0xb5, 0x50, 0xf1, 0x11,
	0xbd, 0x03, 0x59, 0xf1, 0x55, 0x0b, 0x2a, 0x65, 0xdc, 0x8c, 0x18, 0xee, 0x49, 0xa3, 0x45, 0x56,
	0x9f, 0x55, 0x3a, 0xe8, 0xa1, 0xf9, 0x53, 0x58, 0x56, 0x2a, 0x0c, 0xb9, 0x61, 0xb2, 0x49, 0xb4,
	0x4f, 0x9f, 0x99, 0x44, 0x4d, 0xec, 0x39, 0xe6, 0x3a, 0xa0, 0x27, 0x1e, 0xe3, 0xfa, 0x28, 0x91,
	0x88, 0x98, 0x4a, 0x46, 0x5c, 0x25, 0xb3, 0x05, 0x8b, 0x02, 0x2e, 0x4c, 0xc7, 0x22, 0xf0, 0x55,
	0xc8, 0x1c, 0x78, 0x3e, 0x27, 0x61, 0x84, 0x55, 0x23, 0x31, 0xdf, 0x12, 0x61, 0xaf, 0x48, 0x73,
	0x96, 0x1e, 0x09, 0x0b, 0x71, 0xda, 0x69, 0x31, 0x4e, 0x03, 0xc2, 0xe4, 0x91, 0x73, 0x56, 0x6c,
	0xc6, 0xb4, 0xa1, 0xa0, 0xd5, 0x11, 0x54, 0xf1, 0x44, 0x67, 0x4c, 0x9d, 0xe8, 0xae, 0x43, 0x81,
	0x53, 0x8e, 0xfd, 0xa6, 0x4a, 0xa8, 0x42, 0x81, 0xb4, 0x20, 0xe1, 0xd8, 0xdf, 0x11, 0x33, 0xc2,
	0x9d, 0x5e, 0x04, 0xbe, 0x17, 0x1c, 0x3e, 0x24, 0x7d, 0xcf, 0x26, 0xe7, 0xd8, 0xce, 0x91, 0x80,
	0x98, 0xed, 0xd4, 0xc4, 0x9e, 0x63, 0xfe, 0x2d, 0x03, 0x4b, 0x2f, 0xba, 0x0e, 0xe6, 0x24, 0xca,
	0xce, 0x09, 0x52, 0x1e, 0xc4, 0x82, 0x5b, 0x5d, 0x15, 0xab, 0x63, 0x57, 0xc5, 0x3e, 0x0f, 0xbd,
	0xc0, 0x55, 0x97, 0xc5, 0x59, 0xe8, 0xff, 0x58, 0x5e, 0x69, 0x5d, 0x1f, 0x1f, 0x37, 0xe5, 0xee,
	0x99, 0x29, 0x76, 0x17, 0xf4, 0x8e, 0x67, 0x42, 0xc0, 0x03, 0x91, 0x98, 0x39, 0x76, 0x30, 0xc7,
	0xd2, 0x89, 0x2e, 0xa4, 0x8e, 0xd0, 0xe8, 0x13, 0x00, 0xdc, 0xc7, 0x1c, 0x87, 0xcd, 0x5e, 0xe8,
	0x97, 0xd2, 0x53, 0xec, 0xcd, 0x2b, 0xfc, 0x8b, 0xd0, 0x47, 0xf7, 0x21, 0xe7, 0xe3, 0xc0, 0x6d,
	0x72, 0xec, 0x96, 0x32, 0x53, 0x6c, 0xcd, 0x0a, 0xf4, 0x73, 0xec, 0x0a, 0x7d, 0x7d, 0xaa, 0xb2,
	0x71, 0x29, 0x3b, 0x8d, 0xbe, 0x11, 0x5a, 0xec, 0x14, 0xb7, 0xfe, 0xaf, 0x69, 0x40, 0x4a, 0xb9,
	0x69, 0x76, 0x46, 0x68, 0xf4, 0x31, 0xe4, 0xed, 0x1e, 0xe3, 0xb4, 0x23, 0xbe, 0xe4, 0xfc, 0x34,
	0x5b, 0x15, 0x7c, 0xcf, 0x41, 0x0d, 0x48, 0x93, 0x0e, 0xf6, 0xfc, 0x12, 0x4c, 0xb1, 0x4d, 0x41,
	0x85, 0xa2, 0x83, 0x74, 0x5e, 0x98, 0x86, 0x2d, 0x42, 0x23, 0x0b, 0x60, 0xe0, 0x8d, 0xac, 0x34,
	0x27, 0xa3, 0x61, 0x63, 0x34, 0x97, 0x4f, 0xf2, 0xc8, 0xda, 0x43, 0xed, 0xb3, 0xec, 0x51, 0xc0,
	0xc3, 0x63, 0x2b, 0x1f, 0xf9, 0x30, 0x43, 0xdf, 0x87, 0x8c, 0x4a, 0x06, 0xa5, 0xe2, 0x14, 0xba,
	0x68, 0x6c, 0xf9, 0x53, 0x98, 0x1f, 0x16, 0x19, 0xe5, 0x35, 0xe3, 0x2c, 0xaf, 0x2d, 0x41, 0xba,
	0x2f, 0x36, 0xe9, 0xb8, 0x51, 0x83, 0xcd, 0xd4, 0x03, 0xc3, 0xdc, 0x87, 0x9c, 0xc8, 0x20, 0x32,
	0xbc, 0xd7, 0x20, 0x2d, 0xbc, 0x3d, 0x0a, 0xee, 0xc5, 0x78, 0x70, 0xcb, 0x0c, 0xad, 0x96, 0x2f,
	0x8e, 0xe8, 0x6f, 0x67, 0x00, 0xf6, 0x39, 0xe6, 0x3d, 0x26, 0xe5, 0xde, 0x87, 0x74, 0x40, 0x1d,
	0x12, 0xc9, 0x7d, 0x6f, 0xd4, 0x4c, 0x67, 0x50, 0xfd, 0xd1, 0x52, 0xf8, 0xf2, 0x7f, 0x52, 0x90,
	0x51, 0x33, 0x08, 0xc1, 0x6c, 0xec, 0x42, 0x96, 0x9f, 0x45, 0x56, 0x6b, 0x13, 0xec, 0xf3, 0xb6,
	0x56, 0x41, 0x8f, 0xd0, 0x0d, 0x28, 0x32, 0x75, 0x81, 0x69, 0x0d, 0x67, 0xe4, 0xf2, 0x9c, 0x9e,
	0x94, 0x3a, 0x8a, 0xeb, 0xb4, 0x1b, 0x12, 0x46, 0x02, 0x9b, 0x68, 0xd4, 0xac, 0x44, 0x15, 0xa3,
	0x59, 0x05, 0xbb, 0x0e, 0x85, 0x0e, 0xe6, 0x76, 0x5b, 0x63, 0xd2, 0xea, 0xac, 0x72, 0x4a, 0x01,
	0x3e, 0x80, 0x05, 0x97, 0x86, 0xb4, 0xc7, 0xbd, 0x20, 0x12, 0x94, 0x91, 0xa0, 0xf9, 0xc1, 0xb4,
	0x02, 0xde, 0x84, 0x79, 0xdc, 0x77, 0x9b, 0x3e, 0xe6, 0x24, 0xb0, 0x8f, 0x9b, 0x1d, 0x26, 0x83,
	0xca, 0xb0, 0xe6, 0x70, 0xdf, 0x7d, 0xa2, 0x26, 0x9f, 0x32, 0x54, 0x01, 0x31, 0x6e, 0x86, 0x98,
	0x93, 0x26, 0x23, 0xb6, 0x0c, 0x1f, 0xc3, 0x02, 0xdc, 0x77, 0x2d, 0xcc, 0xc9, 0x3e, 0xb1, 0x91,
	0x09, 0x45, 0x81, 0xf0, 0x82, 0x6e, 0x8f, 0x37, 0x0f, 0x5b, 0x4c, 0x86, 0x89, 0x61, 0x15, 0x70,
	0xdf, 0xdd, 0x13, 0x73, 0x9f, 0xb5, 0x58, 0xc4, 0x45, 0x7b, 0x3c, 0x02, 0xc1, 0x80, 0xeb, 0x73,
	0x39, 0xf9, 0x59, 0x8b, 0x99, 0xdf, 0x19, 0x30, 0x17, 0xbf, 0xb5, 0xc6, 0x92, 0x65, 0xec, 0xee,
	0x49, 0x0d, 0x5d, 0x87, 0xab, 0x90, 0xb7, 0xdb, 0x38, 0x70, 0x09, 0x23, 0x5c, 0xdf, 0x94, 0x67,
	0x13, 0xa2, 0x48, 0x1a, 0x4a, 0x74, 0xf9, 0xa1, 0x54, 0x56, 0xb0, 0x43, 0x22, 0x4e, 0x27, 0xfb,
	0x82, 0xf4, 0x85, 0x7d, 0x01, 0x28, 0xb8, 0x98, 0x10, 0x9b, 0x7b, 0x32, 0xa4, 0xd4, 0xe6, 0xcc,
	0xc5, 0x9b, 0x15, 0x5c, 0xf6, 0x14, 0x8f, 0x61, 0x31, 0x7e, 0x58, 0xe9, 0x99, 0x0d, 0x48, 0x7b,
	0x9c, 0x74, 0x22, 0xcf, 0x3c, 0xbf, 0xb4, 0x54, 0x50, 0xf3, 0xdb, 0x14, 0x2c, 0xbf, 0x0c, 0xbd,
	0x37, 0x5f, 0x73, 0x0c, 0x82, 0x76, 0x36, 0x16, 0xb4, 0xf1, 0x4a, 0x24, 0x3d, 0x54, 0x89, 0xa0,
	0x87, 0xb0, 0xd0, 0x25, 0x61, 0xc7, 0x53, 0x9e, 0x1f, 0x12, 0xec, 0x68, 0x0b, 0xad, 0x8c, 0x59,
	0x68, 0x2f, 0xe0, 0x1b, 0x0d, 0xdd, 0x0d, 0x9d, 0xed, 0xb1, 0x08, 0x76, 0xd0, 0x63, 0x58, 0x8c,
	0x49, 0x39, 0x12, 0x07, 0xd5, 0xd9, 0xff, 0x5c, 0x31, 0x31, 0x6a, 0x69, 0x9c, 0xc6, 0x77, 0xab,
	0x90, 0xd5, 0xd5, 0x24, 0xfa, 0xbd, 0x01, 0x73, 0xf1, 0x4a, 0x1b, 0xdd, 0x18, 0x35, 0xf4, 0x84,
	0x3a, 0xbc, 0x3c, 0xa9, 0x34, 0x8e, 0x15, 0xa7, 0x66, 0xed, 0x9b, 0xad, 0x5c, 0x2b, 0x03, 0xb3,
	0xf0, 0x16, 0x7a, 0xeb, 0xeb, 0x7f, 0xfd, 0xf7, 0xcf, 0xa9, 0x77, 0xcd, 0x52, 0xbd, 0xdf, 0x88,
	0x1a, 0xf6, 0x3a, 0x8e, 0xc9, 0xdc, 0x34, 0xaa, 0xa8, 0x05, 0xd9, 0x6d, 0x1c, 0x88, 0x44, 0x86,
	0x96, 0xc7, 0xf8, 0xa3, 0x26, 0xa1, 0x7c, 0x75, 0xec, 0x94, 0x8f, 0x44, 0x03, 0x6e, 0xde, 0x94,
	0x14, 0xd7, 0xcc, 0xd5, 0x21, 0x0a, 0xb5, 0xad, 0x7e, 0xe2, 0x39, 0xa7, 0xf5, 0x16, 0x0e, 0x10,
	0x85, 0xa2, 0xaa, 0x06, 0xa3, 0xbe, 0xf9, 0x66, 0x02, 0xd3, 0x50, 0x5f, 0x9b, 0x48, 0x5a, 0x91,
	0xa4, 0xe5, 0x6a, 0x29, 0x89, 0x14, 0xfd, 0xd6, 0x80, 0xb9, 0x78, 0x31, 0x3e, 0x6e, 0xda, 0x09,
	0xa5, 0x7a, 0x22, 0xdf, 0x86, 0xe4, 0x5b, 0xaf, 0x7e, 0x98, 0x78, 0x48, 0x55, 0xc0, 0xd7, 0x4f,
	0x06, 0x95, 0xfd, 0x29, 0xfa, 0x83, 0x01, 0x0b, 0x23, 0xb5, 0x3c, 0x5a, 0x9b, 0xac, 0xc5, 0x68,
	0xb1, 0x9f, 0xa8, 0xc8, 0x3d, 0xa9, 0xc8, 0x87, 0xd5, 0xdb, 0x89, 0x8a, 0xc8, 0x1e, 0xa0, 0x7e,
	0x12, 0xb5, 0x06, 0xa7, 0xe8, 0x97, 0x91, 0xe9, 0x75, 0x5c, 0xa2, 0x04, 0xd9, 0x89, 0x9c, 0x2b,
	0x92, 0xf3, 0xed, 0xea, 0x95, 0x38, 0x27, 0xd3, 0xc2, 0xfe, 0x69, 0x44, 0x4d, 0xcf, 0x50, 0xd8,
	0xa3, 0xea, 0xe4, 0x83, 0x4e, 0xca, 0x0d, 0x89, 0xc4, 0x7d, 0x49, 0xdc, 0xad, 0xde, 0x9d, 0x40,
	0x5c, 0x3f, 0x39, 0x4b, 0x1e, 0xa7, 0xf5, 0x93, 0x43, 0x72, 0x7c, 0x5a, 0x3f, 0xd1, 0xf9, 0xe2,
	0xf4, 0xd5, 0xa7, 0xd5, 0xcd, 0xd7, 0xdd, 0x53, 0x3f, 0xd1, 0xf9, 0xe2, 0x14, 0xbd, 0x84, 0x82,
	0xd2, 0x56, 0xf6, 0x10, 0xaf, 0x6d, 0xaf, 0x92, 0x54, 0x1b, 0x55, 0x17, 0xe3, 0x2a, 0x08, 0x1a,
	0xf4, 0x27, 0x03, 0xd0, 0x78, 0x53, 0x84, 0x6e, 0x4f, 0xb6, 0xd5, 0x84, 0xc6, 0xe9, 0xff, 0x70,
	0x50, 0x55, 0x15, 0xd5, 0x4f, 0x06, 0x7d, 0xd6, 0x29, 0x0a, 0xa1, 0xa8, 0x1e, 0x76, 0xa2, 0xa0,
	0x3c, 0x27, 0xfc, 0xdf, 0x4d, 0x58, 0x52, 0x02, 0xcc, 0x0f, 0x24, 0xff, 0x7b, 0xe8, 0x7a, 0x22,
	0x3f, 0x51, 0x4f, 0x48, 0x2d, 0x80, 0x5d, 0x32, 0x0d, 0xe1, 0x3b, 0x09, 0x4b, 0x51, 0xec, 0xa3,
	0xe4, 0xd8, 0x7f, 0x09, 0xf9, 0x5d, 0xc2, 0xa3, 0x27, 0x87, 0xc4, 0x6f, 0x6f, 0xe2, 0x03, 0x83,
	0x59, 0x96, 0xe2, 0x97, 0x10, 0x8a, 0x8b, 0xd7, 0xcf, 0x14, 0x6d, 0xa9, 0xfc, 0x63, 0xfd, 0xf6,
	0x74, 0x6e, 0xb2, 0x1c, 0x7b, 0xb3, 0x12, 0xf7, 0xea, 0x14, 0x66, 0x52, 0xf9, 0x03, 0x79, 0xf2,
	0x08, 0xbb, 0xea, 0xe5, 0xea, 0x1c, 0xa2, 0xe5, 0xd1, 0x5a, 0x54, 0x6e, 0x91, 0x5c, 0x6b, 0x92,
	0xab, 0x82, 0xae, 0x9d, 0x9f, 0x2a, 0xd0, 0x2f, 0x24, 0x95, 0x2e, 0x27, 0x93, 0xac, 0x55, 0x4e,
	0xae, 0x4d, 0x27, 0x5b, 0x8c, 0x29, 0x79, 0x5f, 0x1b, 0xd2, 0x64, 0x51, 0xea, 0xb9, 0x1e, 0x57,
	0x57, 0x5c, 0xab, 0x43, 0xf9, 0x60, 0xf4, 0x3c, 0x43, 0x8b, 0xe6, 0x03, 0x49, 0xd3, 0x40, 0xaf,
	0x9d, 0x0d, 0xd0, 0x11, 0x2c, 0xec, 0x12, 0x3e, 0x14, 0x72, 0xe7, 0x98, 0xb4, 0x72, 0x5e, 0xb1,
	0x33, 0xe5, 0xb7, 0xa8, 0x82, 0x0c, 0x1d, 0x42, 0x21, 0xf6, 0x72, 0x81, 0xcc, 0x51, 0xc9, 0xe3,
	0xcf, 0x1a, 0xe5, 0x95, 0x71, 0x43, 0x0f, 0xde, 0x19, 0xa2, 0x4c, 0x8c, 0x26, 0x66, 0x62, 0x0c,
	0xf9, 0xc1, 0xbb, 0x07, 0xaa, 0x4c, 0xa2, 0x8a, 0x3f, 0x89, 0x94, 0x4b, 0x63, 0x4d, 0x99, 0x6e,
	0x77, 0xa2, 0xfc, 0x85, 0xc6, 0xf3, 0xd7, 0x01, 0xe4, 0x5f, 0x04, 0xad, 0xcb, 0xd7, 0x0a, 0xda,
	0x25, 0xcd, 0x64, 0x97, 0xec, 0x09, 0xf1, 0xe8, 0x2b, 0x98, 0x53, 0x2f, 0x1f, 0x3b, 0xb2, 0x89,
	0xbd, 0x0c, 0x55, 0x4d, 0x52, 0xdd, 0x32, 0xd7, 0xce, 0xa1, 0x12, 0x0c, 0x75, 0xd5, 0x27, 0xa3,
	0xdf, 0x44, 0x94, 0xaa, 0x67, 0x1c, 0x2f, 0x17, 0x26, 0x3c, 0xc5, 0x5c, 0x74, 0x4b, 0x5f, 0x4c,
	0xae, 0x7a, 0x5c, 0x51, 0x84, 0x51, 0x28, 0x28, 0x86, 0x47, 0xb2, 0x01, 0xbf, 0xc4, 0x89, 0xd7,
	0x25, 0xe9, 0x07, 0xe6, 0xfb, 0x17, 0x91, 0xaa, 0x16, 0x7f, 0x40, 0xb8, 0xd5, 0xed, 0xfa, 0xe4,
	0x8d, 0x12, 0x62, 0xc9, 0xd0, 0x83, 0x79, 0x45, 0xf8, 0x18, 0xdb, 0xa4, 0x45, 0xe9, 0xe1, 0x65,
	0x38, 0xef, 0x4a, 0xce, 0xaa, 0x79, 0xeb, 0x22, 0xce, 0x83, 0x88, 0xe4, 0x8f, 0x06, 0x2c, 0x0f,
	0xf3, 0xee, 0x05, 0x8c, 0xe3, 0x80, 0xef, 0x8a, 0x56, 0xf9, 0x12, 0x2a, 0x7c, 0x22, 0x55, 0xf8,
	0xc8, 0xdc, 0x98, 0x56, 0x05, 0x4f, 0xf1, 0xb9, 0x82, 0xef, 0x18, 0x16, 0x95, 0x32, 0x82, 0x7d,
	0x87, 0x04, 0xfc, 0x72, 0x81, 0xd4, 0x90, 0x3a, 0xdc, 0x31, 0xab, 0x17, 0xe9, 0x20, 0x48, 0x6d,
	0x45, 0x33, 0x08, 0xaa, 0x5d, 0x29, 0xf2, 0x8d, 0x06, 0x95, 0xda, 0x7e, 0xe6, 0x63, 0xfb, 0x9c,
	0xe0, 0xce, 0x1b, 0xf5, 0x31, 0x26, 0x19, 0x42, 0x28, 0x0e, 0xbd, 0x2d, 0x8d, 0xb7, 0x19, 0x93,
	0x9e, 0x9e, 0x12, 0xd9, 0x6f, 0x4c, 0x6c, 0x9f, 0x62, 0xec, 0x22, 0x72, 0xff, 0x62, 0x00, 0x1a,
	0xef, 0x7b, 0xc7, 0x8b, 0xba, 0xc4, 0xde, 0xb8, 0xbc, 0x9a, 0x78, 0xe9, 0x6d, 0xd9, 0x87, 0x91,
	0xbf, 0x95, 0x5f, 0xfb, 0xde, 0xdb, 0x34, 0xaa, 0xdb, 0x7f, 0x4f, 0x7d, 0xb3, 0xf5, 0xd7, 0x14,
	0x3a, 0x85, 0xb7, 0x9f, 0x49, 0x8a, 0x8a, 0x16, 0x50, 0xd9, 0xfa, 0xf9, 0x5e, 0xa5, 0xdf, 0x30,
	0x9b, 0xf0, 0xde, 0xf3, 0x36, 0xa9, 0xe8, 0x45, 0xd1, 0x6d, 0xd2, 0x90, 0x55, 0xd6, 0x2a, 0x3b,
	0x34, 0xe0, 0xa1, 0xd7, 0xea, 0x71, 0x1a, 0x32, 0x74, 0xb3, 0xcd, 0x79, 0x97, 0x6d, 0xd6, 0xeb,
	0xe7, 0xfd, 0xa6, 0x5b, 0x5e, 0x6a, 0x13, 0xdf, 0xa7, 0x3f, 0x39, 0x5b, 0x10, 0xb8, 0xc6, 0x4c,
	0xa3, 0x76, 0xb7, 0x3c, 0x7f, 0xaf, 0x71, 0xbf, 0x76, 0xb7, 0x76, 0xb7, 0x76, 0x6f, 0xf3, 0xfe,
	0xc6, 0x47, 0xf7, 0xaa, 0x86, 0xd1, 0x58, 0x14, 0x49, 0x41, 0xff, 0xa6, 0x55, 0xff, 0x92, 0xd1,
	0x60, 0x73, 0x6c, 0xe6, 0x55, 0x05, 0x16, 0x20, 0xbf, 0x8d, 0x99, 0x67, 0x0b, 0xc5, 0x50, 0x2a,
	0x67, 0x40, 0x11, 0xf2, 0xdb, 0x04, 0x87, 0x24, 0xfc, 0xd9, 0x11, 0x47, 0x6f, 0xb5, 0x16, 0x46,
	0x26, 0xc2, 0x6d, 0xb8, 0xa1, 0xcf, 0xa2, 0x7e, 0xfd, 0x19, 0x9c, 0xd7, 0xa1, 0x76, 0xaf, 0x43,
	0x02, 0xf5, 0x3b, 0x2e, 0x5a, 0x89, 0x4e, 0x34, 0xac, 0x6d, 0xdd, 0xa1, 0x36, 0x7b, 0x95, 0xd5,
	0x7b, 0x5a, 0x19, 0xe9, 0x0e, 0x1b, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xc5, 0xad, 0x00, 0xaf,
	0xf3, 0x1e, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// ConsoleClient is the client API for Console service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ConsoleClient interface {
	// Authenticate a console user with username and password.
	Authenticate(ctx context.Context, in *AuthenticateRequest, opts ...grpc.CallOption) (*ConsoleSession, error)
	// Ban a user.
	BanUser(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete all information stored for a user account.
	DeleteAccount(ctx context.Context, in *AccountDeleteRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete the friend relationship between two users.
	DeleteFriend(ctx context.Context, in *DeleteFriendRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Remove a user from a group.
	DeleteGroupUser(ctx context.Context, in *DeleteGroupUserRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete all storage data.
	DeleteStorage(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete a storage object.
	DeleteStorageObject(ctx context.Context, in *DeleteStorageObjectRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete (non-recorded) all user accounts.
	DeleteUsers(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete a wallet ledger item.
	DeleteWalletLedger(ctx context.Context, in *DeleteWalletLedgerRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Export all information stored about a user account.
	ExportAccount(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*AccountExport, error)
	// Get detailed account information for a single user.
	GetAccount(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*Account, error)
	// Get server config and configuration warnings.
	GetConfig(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Config, error)
	// Get a user's list of friend relationships.
	GetFriends(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*api.FriendList, error)
	// Get a list of groups the user is a member of.
	GetGroups(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*api.UserGroupList, error)
	// Get current status data for all nodes.
	GetStatus(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*StatusList, error)
	// Get a storage object.
	GetStorage(ctx context.Context, in *api.ReadStorageObjectId, opts ...grpc.CallOption) (*api.StorageObject, error)
	// Get a list of the user's wallet transactions.
	GetWalletLedger(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*WalletLedgerList, error)
	// List (and optionally filter) storage data.
	ListStorage(ctx context.Context, in *ListStorageRequest, opts ...grpc.CallOption) (*StorageList, error)
	// List (and optionally filter) users.
	ListUsers(ctx context.Context, in *ListUsersRequest, opts ...grpc.CallOption) (*UserList, error)
	// Unban a user.
	UnbanUser(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Unlink the custom ID from a user account.
	UnlinkCustom(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Unlink the device ID from a user account.
	UnlinkDevice(ctx context.Context, in *UnlinkDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Unlink the email from a user account.
	UnlinkEmail(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Unlink the Apple ID from a user account.
	UnlinkApple(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Unlink the Facebook ID from a user account.
	UnlinkFacebook(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Unlink the Facebook Instant Game ID from a user account.
	UnlinkFacebookInstantGame(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Unlink the Game Center ID from a user account.
	UnlinkGameCenter(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Unlink the Google ID from a user account.
	UnlinkGoogle(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Unlink the Steam ID from a user account.
	UnlinkSteam(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error)
	// Update one or more fields on a user account.
	UpdateAccount(ctx context.Context, in *UpdateAccountRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Write a new storage object or replace an existing one.
	WriteStorageObject(ctx context.Context, in *WriteStorageObjectRequest, opts ...grpc.CallOption) (*api.StorageObjectAck, error)
}

type consoleClient struct {
	cc grpc.ClientConnInterface
}

func NewConsoleClient(cc grpc.ClientConnInterface) ConsoleClient {
	return &consoleClient{cc}
}

func (c *consoleClient) Authenticate(ctx context.Context, in *AuthenticateRequest, opts ...grpc.CallOption) (*ConsoleSession, error) {
	out := new(ConsoleSession)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/Authenticate", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) BanUser(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/BanUser", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) DeleteAccount(ctx context.Context, in *AccountDeleteRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/DeleteAccount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) DeleteFriend(ctx context.Context, in *DeleteFriendRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/DeleteFriend", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) DeleteGroupUser(ctx context.Context, in *DeleteGroupUserRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/DeleteGroupUser", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) DeleteStorage(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/DeleteStorage", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) DeleteStorageObject(ctx context.Context, in *DeleteStorageObjectRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/DeleteStorageObject", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) DeleteUsers(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/DeleteUsers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) DeleteWalletLedger(ctx context.Context, in *DeleteWalletLedgerRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/DeleteWalletLedger", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) ExportAccount(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*AccountExport, error) {
	out := new(AccountExport)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/ExportAccount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) GetAccount(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*Account, error) {
	out := new(Account)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/GetAccount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) GetConfig(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Config, error) {
	out := new(Config)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/GetConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) GetFriends(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*api.FriendList, error) {
	out := new(api.FriendList)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/GetFriends", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) GetGroups(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*api.UserGroupList, error) {
	out := new(api.UserGroupList)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/GetGroups", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) GetStatus(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*StatusList, error) {
	out := new(StatusList)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/GetStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) GetStorage(ctx context.Context, in *api.ReadStorageObjectId, opts ...grpc.CallOption) (*api.StorageObject, error) {
	out := new(api.StorageObject)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/GetStorage", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) GetWalletLedger(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*WalletLedgerList, error) {
	out := new(WalletLedgerList)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/GetWalletLedger", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) ListStorage(ctx context.Context, in *ListStorageRequest, opts ...grpc.CallOption) (*StorageList, error) {
	out := new(StorageList)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/ListStorage", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) ListUsers(ctx context.Context, in *ListUsersRequest, opts ...grpc.CallOption) (*UserList, error) {
	out := new(UserList)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/ListUsers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnbanUser(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnbanUser", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnlinkCustom(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnlinkCustom", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnlinkDevice(ctx context.Context, in *UnlinkDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnlinkDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnlinkEmail(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnlinkEmail", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnlinkApple(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnlinkApple", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnlinkFacebook(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnlinkFacebook", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnlinkFacebookInstantGame(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnlinkFacebookInstantGame", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnlinkGameCenter(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnlinkGameCenter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnlinkGoogle(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnlinkGoogle", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UnlinkSteam(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UnlinkSteam", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) UpdateAccount(ctx context.Context, in *UpdateAccountRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/UpdateAccount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) WriteStorageObject(ctx context.Context, in *WriteStorageObjectRequest, opts ...grpc.CallOption) (*api.StorageObjectAck, error) {
	out := new(api.StorageObjectAck)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/WriteStorageObject", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ConsoleServer is the server API for Console service.
type ConsoleServer interface {
	// Authenticate a console user with username and password.
	Authenticate(context.Context, *AuthenticateRequest) (*ConsoleSession, error)
	// Ban a user.
	BanUser(context.Context, *AccountId) (*empty.Empty, error)
	// Delete all information stored for a user account.
	DeleteAccount(context.Context, *AccountDeleteRequest) (*empty.Empty, error)
	// Delete the friend relationship between two users.
	DeleteFriend(context.Context, *DeleteFriendRequest) (*empty.Empty, error)
	// Remove a user from a group.
	DeleteGroupUser(context.Context, *DeleteGroupUserRequest) (*empty.Empty, error)
	// Delete all storage data.
	DeleteStorage(context.Context, *empty.Empty) (*empty.Empty, error)
	// Delete a storage object.
	DeleteStorageObject(context.Context, *DeleteStorageObjectRequest) (*empty.Empty, error)
	// Delete (non-recorded) all user accounts.
	DeleteUsers(context.Context, *empty.Empty) (*empty.Empty, error)
	// Delete a wallet ledger item.
	DeleteWalletLedger(context.Context, *DeleteWalletLedgerRequest) (*empty.Empty, error)
	// Export all information stored about a user account.
	ExportAccount(context.Context, *AccountId) (*AccountExport, error)
	// Get detailed account information for a single user.
	GetAccount(context.Context, *AccountId) (*Account, error)
	// Get server config and configuration warnings.
	GetConfig(context.Context, *empty.Empty) (*Config, error)
	// Get a user's list of friend relationships.
	GetFriends(context.Context, *AccountId) (*api.FriendList, error)
	// Get a list of groups the user is a member of.
	GetGroups(context.Context, *AccountId) (*api.UserGroupList, error)
	// Get current status data for all nodes.
	GetStatus(context.Context, *empty.Empty) (*StatusList, error)
	// Get a storage object.
	GetStorage(context.Context, *api.ReadStorageObjectId) (*api.StorageObject, error)
	// Get a list of the user's wallet transactions.
	GetWalletLedger(context.Context, *AccountId) (*WalletLedgerList, error)
	// List (and optionally filter) storage data.
	ListStorage(context.Context, *ListStorageRequest) (*StorageList, error)
	// List (and optionally filter) users.
	ListUsers(context.Context, *ListUsersRequest) (*UserList, error)
	// Unban a user.
	UnbanUser(context.Context, *AccountId) (*empty.Empty, error)
	// Unlink the custom ID from a user account.
	UnlinkCustom(context.Context, *AccountId) (*empty.Empty, error)
	// Unlink the device ID from a user account.
	UnlinkDevice(context.Context, *UnlinkDeviceRequest) (*empty.Empty, error)
	// Unlink the email from a user account.
	UnlinkEmail(context.Context, *AccountId) (*empty.Empty, error)
	// Unlink the Apple ID from a user account.
	UnlinkApple(context.Context, *AccountId) (*empty.Empty, error)
	// Unlink the Facebook ID from a user account.
	UnlinkFacebook(context.Context, *AccountId) (*empty.Empty, error)
	// Unlink the Facebook Instant Game ID from a user account.
	UnlinkFacebookInstantGame(context.Context, *AccountId) (*empty.Empty, error)
	// Unlink the Game Center ID from a user account.
	UnlinkGameCenter(context.Context, *AccountId) (*empty.Empty, error)
	// Unlink the Google ID from a user account.
	UnlinkGoogle(context.Context, *AccountId) (*empty.Empty, error)
	// Unlink the Steam ID from a user account.
	UnlinkSteam(context.Context, *AccountId) (*empty.Empty, error)
	// Update one or more fields on a user account.
	UpdateAccount(context.Context, *UpdateAccountRequest) (*empty.Empty, error)
	// Write a new storage object or replace an existing one.
	WriteStorageObject(context.Context, *WriteStorageObjectRequest) (*api.StorageObjectAck, error)
}

// UnimplementedConsoleServer can be embedded to have forward compatible implementations.
type UnimplementedConsoleServer struct {
}

func (*UnimplementedConsoleServer) Authenticate(ctx context.Context, req *AuthenticateRequest) (*ConsoleSession, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Authenticate not implemented")
}
func (*UnimplementedConsoleServer) BanUser(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method BanUser not implemented")
}
func (*UnimplementedConsoleServer) DeleteAccount(ctx context.Context, req *AccountDeleteRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteAccount not implemented")
}
func (*UnimplementedConsoleServer) DeleteFriend(ctx context.Context, req *DeleteFriendRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteFriend not implemented")
}
func (*UnimplementedConsoleServer) DeleteGroupUser(ctx context.Context, req *DeleteGroupUserRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteGroupUser not implemented")
}
func (*UnimplementedConsoleServer) DeleteStorage(ctx context.Context, req *empty.Empty) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteStorage not implemented")
}
func (*UnimplementedConsoleServer) DeleteStorageObject(ctx context.Context, req *DeleteStorageObjectRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteStorageObject not implemented")
}
func (*UnimplementedConsoleServer) DeleteUsers(ctx context.Context, req *empty.Empty) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteUsers not implemented")
}
func (*UnimplementedConsoleServer) DeleteWalletLedger(ctx context.Context, req *DeleteWalletLedgerRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteWalletLedger not implemented")
}
func (*UnimplementedConsoleServer) ExportAccount(ctx context.Context, req *AccountId) (*AccountExport, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExportAccount not implemented")
}
func (*UnimplementedConsoleServer) GetAccount(ctx context.Context, req *AccountId) (*Account, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAccount not implemented")
}
func (*UnimplementedConsoleServer) GetConfig(ctx context.Context, req *empty.Empty) (*Config, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetConfig not implemented")
}
func (*UnimplementedConsoleServer) GetFriends(ctx context.Context, req *AccountId) (*api.FriendList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetFriends not implemented")
}
func (*UnimplementedConsoleServer) GetGroups(ctx context.Context, req *AccountId) (*api.UserGroupList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetGroups not implemented")
}
func (*UnimplementedConsoleServer) GetStatus(ctx context.Context, req *empty.Empty) (*StatusList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetStatus not implemented")
}
func (*UnimplementedConsoleServer) GetStorage(ctx context.Context, req *api.ReadStorageObjectId) (*api.StorageObject, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetStorage not implemented")
}
func (*UnimplementedConsoleServer) GetWalletLedger(ctx context.Context, req *AccountId) (*WalletLedgerList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetWalletLedger not implemented")
}
func (*UnimplementedConsoleServer) ListStorage(ctx context.Context, req *ListStorageRequest) (*StorageList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListStorage not implemented")
}
func (*UnimplementedConsoleServer) ListUsers(ctx context.Context, req *ListUsersRequest) (*UserList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListUsers not implemented")
}
func (*UnimplementedConsoleServer) UnbanUser(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnbanUser not implemented")
}
func (*UnimplementedConsoleServer) UnlinkCustom(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlinkCustom not implemented")
}
func (*UnimplementedConsoleServer) UnlinkDevice(ctx context.Context, req *UnlinkDeviceRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlinkDevice not implemented")
}
func (*UnimplementedConsoleServer) UnlinkEmail(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlinkEmail not implemented")
}
func (*UnimplementedConsoleServer) UnlinkApple(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlinkApple not implemented")
}
func (*UnimplementedConsoleServer) UnlinkFacebook(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlinkFacebook not implemented")
}
func (*UnimplementedConsoleServer) UnlinkFacebookInstantGame(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlinkFacebookInstantGame not implemented")
}
func (*UnimplementedConsoleServer) UnlinkGameCenter(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlinkGameCenter not implemented")
}
func (*UnimplementedConsoleServer) UnlinkGoogle(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlinkGoogle not implemented")
}
func (*UnimplementedConsoleServer) UnlinkSteam(ctx context.Context, req *AccountId) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlinkSteam not implemented")
}
func (*UnimplementedConsoleServer) UpdateAccount(ctx context.Context, req *UpdateAccountRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateAccount not implemented")
}
func (*UnimplementedConsoleServer) WriteStorageObject(ctx context.Context, req *WriteStorageObjectRequest) (*api.StorageObjectAck, error) {
	return nil, status.Errorf(codes.Unimplemented, "method WriteStorageObject not implemented")
}

func RegisterConsoleServer(s *grpc.Server, srv ConsoleServer) {
	s.RegisterService(&_Console_serviceDesc, srv)
}

func _Console_Authenticate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AuthenticateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).Authenticate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/Authenticate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).Authenticate(ctx, req.(*AuthenticateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_BanUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).BanUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/BanUser",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).BanUser(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_DeleteAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountDeleteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).DeleteAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/DeleteAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).DeleteAccount(ctx, req.(*AccountDeleteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_DeleteFriend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteFriendRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).DeleteFriend(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/DeleteFriend",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).DeleteFriend(ctx, req.(*DeleteFriendRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_DeleteGroupUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteGroupUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).DeleteGroupUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/DeleteGroupUser",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).DeleteGroupUser(ctx, req.(*DeleteGroupUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_DeleteStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).DeleteStorage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/DeleteStorage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).DeleteStorage(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_DeleteStorageObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteStorageObjectRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).DeleteStorageObject(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/DeleteStorageObject",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).DeleteStorageObject(ctx, req.(*DeleteStorageObjectRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_DeleteUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).DeleteUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/DeleteUsers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).DeleteUsers(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_DeleteWalletLedger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteWalletLedgerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).DeleteWalletLedger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/DeleteWalletLedger",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).DeleteWalletLedger(ctx, req.(*DeleteWalletLedgerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_ExportAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).ExportAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/ExportAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).ExportAccount(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_GetAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).GetAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/GetAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).GetAccount(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_GetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).GetConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/GetConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).GetConfig(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_GetFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).GetFriends(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/GetFriends",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).GetFriends(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_GetGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).GetGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/GetGroups",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).GetGroups(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_GetStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).GetStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/GetStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).GetStatus(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_GetStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ReadStorageObjectId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).GetStorage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/GetStorage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).GetStorage(ctx, req.(*api.ReadStorageObjectId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_GetWalletLedger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).GetWalletLedger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/GetWalletLedger",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).GetWalletLedger(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_ListStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListStorageRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).ListStorage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/ListStorage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).ListStorage(ctx, req.(*ListStorageRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_ListUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListUsersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).ListUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/ListUsers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).ListUsers(ctx, req.(*ListUsersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnbanUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnbanUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnbanUser",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnbanUser(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnlinkCustom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnlinkCustom(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnlinkCustom",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnlinkCustom(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnlinkDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UnlinkDeviceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnlinkDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnlinkDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnlinkDevice(ctx, req.(*UnlinkDeviceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnlinkEmail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnlinkEmail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnlinkEmail",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnlinkEmail(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnlinkApple_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnlinkApple(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnlinkApple",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnlinkApple(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnlinkFacebook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnlinkFacebook(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnlinkFacebook",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnlinkFacebook(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnlinkFacebookInstantGame_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnlinkFacebookInstantGame(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnlinkFacebookInstantGame",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnlinkFacebookInstantGame(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnlinkGameCenter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnlinkGameCenter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnlinkGameCenter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnlinkGameCenter(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnlinkGoogle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnlinkGoogle(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnlinkGoogle",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnlinkGoogle(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UnlinkSteam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UnlinkSteam(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UnlinkSteam",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UnlinkSteam(ctx, req.(*AccountId))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_UpdateAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateAccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).UpdateAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/UpdateAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).UpdateAccount(ctx, req.(*UpdateAccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_WriteStorageObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(WriteStorageObjectRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).WriteStorageObject(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/WriteStorageObject",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).WriteStorageObject(ctx, req.(*WriteStorageObjectRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Console_serviceDesc = grpc.ServiceDesc{
	ServiceName: "nakama.console.Console",
	HandlerType: (*ConsoleServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Authenticate",
			Handler:    _Console_Authenticate_Handler,
		},
		{
			MethodName: "BanUser",
			Handler:    _Console_BanUser_Handler,
		},
		{
			MethodName: "DeleteAccount",
			Handler:    _Console_DeleteAccount_Handler,
		},
		{
			MethodName: "DeleteFriend",
			Handler:    _Console_DeleteFriend_Handler,
		},
		{
			MethodName: "DeleteGroupUser",
			Handler:    _Console_DeleteGroupUser_Handler,
		},
		{
			MethodName: "DeleteStorage",
			Handler:    _Console_DeleteStorage_Handler,
		},
		{
			MethodName: "DeleteStorageObject",
			Handler:    _Console_DeleteStorageObject_Handler,
		},
		{
			MethodName: "DeleteUsers",
			Handler:    _Console_DeleteUsers_Handler,
		},
		{
			MethodName: "DeleteWalletLedger",
			Handler:    _Console_DeleteWalletLedger_Handler,
		},
		{
			MethodName: "ExportAccount",
			Handler:    _Console_ExportAccount_Handler,
		},
		{
			MethodName: "GetAccount",
			Handler:    _Console_GetAccount_Handler,
		},
		{
			MethodName: "GetConfig",
			Handler:    _Console_GetConfig_Handler,
		},
		{
			MethodName: "GetFriends",
			Handler:    _Console_GetFriends_Handler,
		},
		{
			MethodName: "GetGroups",
			Handler:    _Console_GetGroups_Handler,
		},
		{
			MethodName: "GetStatus",
			Handler:    _Console_GetStatus_Handler,
		},
		{
			MethodName: "GetStorage",
			Handler:    _Console_GetStorage_Handler,
		},
		{
			MethodName: "GetWalletLedger",
			Handler:    _Console_GetWalletLedger_Handler,
		},
		{
			MethodName: "ListStorage",
			Handler:    _Console_ListStorage_Handler,
		},
		{
			MethodName: "ListUsers",
			Handler:    _Console_ListUsers_Handler,
		},
		{
			MethodName: "UnbanUser",
			Handler:    _Console_UnbanUser_Handler,
		},
		{
			MethodName: "UnlinkCustom",
			Handler:    _Console_UnlinkCustom_Handler,
		},
		{
			MethodName: "UnlinkDevice",
			Handler:    _Console_UnlinkDevice_Handler,
		},
		{
			MethodName: "UnlinkEmail",
			Handler:    _Console_UnlinkEmail_Handler,
		},
		{
			MethodName: "UnlinkApple",
			Handler:    _Console_UnlinkApple_Handler,
		},
		{
			MethodName: "UnlinkFacebook",
			Handler:    _Console_UnlinkFacebook_Handler,
		},
		{
			MethodName: "UnlinkFacebookInstantGame",
			Handler:    _Console_UnlinkFacebookInstantGame_Handler,
		},
		{
			MethodName: "UnlinkGameCenter",
			Handler:    _Console_UnlinkGameCenter_Handler,
		},
		{
			MethodName: "UnlinkGoogle",
			Handler:    _Console_UnlinkGoogle_Handler,
		},
		{
			MethodName: "UnlinkSteam",
			Handler:    _Console_UnlinkSteam_Handler,
		},
		{
			MethodName: "UpdateAccount",
			Handler:    _Console_UpdateAccount_Handler,
		},
		{
			MethodName: "WriteStorageObject",
			Handler:    _Console_WriteStorageObject_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "console/console.proto",
}
