From bad080edd19932f31a2e5ad1f2357f633487e09c Mon Sep 17 00:00:00 2001 From: Robert-Stam Date: Fri, 6 Jun 2025 14:55:46 +0200 Subject: [PATCH 1/6] [CP-144] Added support for account invites. Still a few TODOs to be resolved --- gen/go/qdrant/cloud/account/v1/account.pb.go | 1645 ++++++++++++++--- .../cloud/account/v1/account_grpc.pb.go | 334 +++- .../cloud/account/v1/account.swagger.json | 475 +++++ .../qdrant/cloud/account/v1/account_pb2.py | 86 +- .../qdrant/cloud/account/v1/account_pb2.pyi | 134 ++ .../cloud/account/v1/account_pb2_grpc.py | 330 ++++ .../qdrant/cloud/account/v1/account_pb.d.ts | 580 +++++- .../qdrant/cloud/account/v1/account_pb.js | 125 +- proto/qdrant/cloud/account/v1/account.proto | 250 +++ 9 files changed, 3713 insertions(+), 246 deletions(-) diff --git a/gen/go/qdrant/cloud/account/v1/account.pb.go b/gen/go/qdrant/cloud/account/v1/account.pb.go index b5338020..8c343a78 100644 --- a/gen/go/qdrant/cloud/account/v1/account.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account.pb.go @@ -25,6 +25,71 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// AccountInviteStatus defines the possible statuses of an account invitation. +type AccountInviteStatus int32 + +const ( + // Default, unspecified status. + AccountInviteStatus_ACCOUNT_INVITE_STATUS_UNSPECIFIED AccountInviteStatus = 0 + // The invite is pending and waiting for the user to accept or reject. + AccountInviteStatus_ACCOUNT_INVITE_STATUS_PENDING AccountInviteStatus = 1 + // The invite has been accepted by the user. + AccountInviteStatus_ACCOUNT_INVITE_STATUS_ACCEPTED AccountInviteStatus = 2 + // The invite has been rejected by the user. + AccountInviteStatus_ACCOUNT_INVITE_STATUS_REJECTED AccountInviteStatus = 3 + // The invite has expired. + AccountInviteStatus_ACCOUNT_INVITE_STATUS_EXPIRED AccountInviteStatus = 4 // TODO: Do we want to add this? + // The invite has been canceled (e.g., by an account admin). + AccountInviteStatus_ACCOUNT_INVITE_STATUS_CANCELED AccountInviteStatus = 5 +) + +// Enum value maps for AccountInviteStatus. +var ( + AccountInviteStatus_name = map[int32]string{ + 0: "ACCOUNT_INVITE_STATUS_UNSPECIFIED", + 1: "ACCOUNT_INVITE_STATUS_PENDING", + 2: "ACCOUNT_INVITE_STATUS_ACCEPTED", + 3: "ACCOUNT_INVITE_STATUS_REJECTED", + 4: "ACCOUNT_INVITE_STATUS_EXPIRED", + 5: "ACCOUNT_INVITE_STATUS_CANCELED", + } + AccountInviteStatus_value = map[string]int32{ + "ACCOUNT_INVITE_STATUS_UNSPECIFIED": 0, + "ACCOUNT_INVITE_STATUS_PENDING": 1, + "ACCOUNT_INVITE_STATUS_ACCEPTED": 2, + "ACCOUNT_INVITE_STATUS_REJECTED": 3, + "ACCOUNT_INVITE_STATUS_EXPIRED": 4, + "ACCOUNT_INVITE_STATUS_CANCELED": 5, + } +) + +func (x AccountInviteStatus) Enum() *AccountInviteStatus { + p := new(AccountInviteStatus) + *p = x + return p +} + +func (x AccountInviteStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AccountInviteStatus) Descriptor() protoreflect.EnumDescriptor { + return file_qdrant_cloud_account_v1_account_proto_enumTypes[0].Descriptor() +} + +func (AccountInviteStatus) Type() protoreflect.EnumType { + return &file_qdrant_cloud_account_v1_account_proto_enumTypes[0] +} + +func (x AccountInviteStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AccountInviteStatus.Descriptor instead. +func (AccountInviteStatus) EnumDescriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{0} +} + // ListAccountsRequest is the request for the ListAccounts function type ListAccountsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -469,48 +534,30 @@ func (*DeleteAccountResponse) Descriptor() ([]byte, []int) { return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{9} } -// An Account represents an account in the Qdrant cloud. -type Account struct { +// ListAccountInvitesRequest is the request for the ListAccountInvites function. +type ListAccountInvitesRequest struct { state protoimpl.MessageState `protogen:"open.v1"` - // Unique identifier for the account (in GUID format). - // This is a read-only field and will be available after an account is created. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // The timestamp when the account was created. - // This is a read-only field and will be available after an account is created. - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // The timestamp when the account was last updated. - // This is a read-only field and will be available after an account is created. - LastModifiedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_modified_at,json=lastModifiedAt,proto3" json:"last_modified_at,omitempty"` - // The name of the account. - // Name can only contain letters, numbers, underscores and dashes - Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - // The Identifier of the owner of the account (in GUID format). - // This is a read-only field. - OwnerId string `protobuf:"bytes,6,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"` - // The email address of the owner of the account. - // This is a read-only field and will be derived from the owner_id field. - OwnerEmail string `protobuf:"bytes,7,opt,name=owner_email,json=ownerEmail,proto3" json:"owner_email,omitempty"` - // The privileges of the account, if any. - // This is a read-only field. - Privileges []string `protobuf:"bytes,8,rep,name=privileges,proto3" json:"privileges,omitempty"` + // The identifier of the account (in GUID format) to list invites for. + // This is a required field. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *Account) Reset() { - *x = Account{} +func (x *ListAccountInvitesRequest) Reset() { + *x = ListAccountInvitesRequest{} mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *Account) String() string { +func (x *ListAccountInvitesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Account) ProtoMessage() {} +func (*ListAccountInvitesRequest) ProtoMessage() {} -func (x *Account) ProtoReflect() protoreflect.Message { +func (x *ListAccountInvitesRequest) ProtoReflect() protoreflect.Message { mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -522,220 +569,1308 @@ func (x *Account) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Account.ProtoReflect.Descriptor instead. -func (*Account) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAccountInvitesRequest.ProtoReflect.Descriptor instead. +func (*ListAccountInvitesRequest) Descriptor() ([]byte, []int) { return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{10} } -func (x *Account) GetId() string { +func (x *ListAccountInvitesRequest) GetAccountId() string { if x != nil { - return x.Id + return x.AccountId } return "" } -func (x *Account) GetCreatedAt() *timestamppb.Timestamp { +// ListAccountInvitesResponse is the response from the ListAccountInvites function. +type ListAccountInvitesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The list of account invites. + Items []*AccountInvite `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAccountInvitesResponse) Reset() { + *x = ListAccountInvitesResponse{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAccountInvitesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccountInvitesResponse) ProtoMessage() {} + +func (x *ListAccountInvitesResponse) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[11] if x != nil { - return x.CreatedAt + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAccountInvitesResponse.ProtoReflect.Descriptor instead. +func (*ListAccountInvitesResponse) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{11} +} + +func (x *ListAccountInvitesResponse) GetItems() []*AccountInvite { + if x != nil { + return x.Items } return nil } -func (x *Account) GetLastModifiedAt() *timestamppb.Timestamp { +// ListMyAccountInvitesRequest is the request for the ListMyAccountInvites function. +// This lists invites for the authenticated user across all accounts. +type ListMyAccountInvitesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Optional: Filter invites by status (e.g. pending only). + StatusFilter *AccountInviteStatus `protobuf:"varint,1,opt,name=status_filter,json=statusFilter,proto3,enum=qdrant.cloud.account.v1.AccountInviteStatus,oneof" json:"status_filter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyAccountInvitesRequest) Reset() { + *x = ListMyAccountInvitesRequest{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyAccountInvitesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyAccountInvitesRequest) ProtoMessage() {} + +func (x *ListMyAccountInvitesRequest) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[12] if x != nil { - return x.LastModifiedAt + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyAccountInvitesRequest.ProtoReflect.Descriptor instead. +func (*ListMyAccountInvitesRequest) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{12} +} + +func (x *ListMyAccountInvitesRequest) GetStatusFilter() AccountInviteStatus { + if x != nil && x.StatusFilter != nil { + return *x.StatusFilter + } + return AccountInviteStatus_ACCOUNT_INVITE_STATUS_UNSPECIFIED +} + +// ListMyAccountInvitesResponse is the response from the ListMyAccountInvites function. +type ListMyAccountInvitesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The list of account invites for the authenticated user. + Items []*AccountInvite `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyAccountInvitesResponse) Reset() { + *x = ListMyAccountInvitesResponse{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyAccountInvitesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyAccountInvitesResponse) ProtoMessage() {} + +func (x *ListMyAccountInvitesResponse) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyAccountInvitesResponse.ProtoReflect.Descriptor instead. +func (*ListMyAccountInvitesResponse) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{13} +} + +func (x *ListMyAccountInvitesResponse) GetItems() []*AccountInvite { + if x != nil { + return x.Items } return nil } -func (x *Account) GetName() string { +// GetAccountInviteRequest is the request for the GetAccountInvite function. +type GetAccountInviteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identifier of the account (in GUID format) the invite belongs to. + // This is a required field. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The identifier of the invite (in GUID format). + // This is a required field. + InviteId string `protobuf:"bytes,2,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountInviteRequest) Reset() { + *x = GetAccountInviteRequest{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountInviteRequest) ProtoMessage() {} + +func (x *GetAccountInviteRequest) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[14] if x != nil { - return x.Name + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *Account) GetOwnerId() string { +// Deprecated: Use GetAccountInviteRequest.ProtoReflect.Descriptor instead. +func (*GetAccountInviteRequest) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{14} +} + +func (x *GetAccountInviteRequest) GetAccountId() string { if x != nil { - return x.OwnerId + return x.AccountId } return "" } -func (x *Account) GetOwnerEmail() string { +func (x *GetAccountInviteRequest) GetInviteId() string { if x != nil { - return x.OwnerEmail + return x.InviteId } return "" } -func (x *Account) GetPrivileges() []string { +// GetAccountInviteResponse is the response from the GetAccountInvite function. +type GetAccountInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The retrieved account invite. + Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountInviteResponse) Reset() { + *x = GetAccountInviteResponse{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountInviteResponse) ProtoMessage() {} + +func (x *GetAccountInviteResponse) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[15] if x != nil { - return x.Privileges + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountInviteResponse.ProtoReflect.Descriptor instead. +func (*GetAccountInviteResponse) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{15} +} + +func (x *GetAccountInviteResponse) GetInvite() *AccountInvite { + if x != nil { + return x.Invite } return nil } -var File_qdrant_cloud_account_v1_account_proto protoreflect.FileDescriptor +// CreateAccountInviteRequest is the request for the CreateAccountInvite function. +type CreateAccountInviteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The details of the invite to create. + // This is a required field. + Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} -var file_qdrant_cloud_account_v1_account_proto_rawDesc = string([]byte{ - 0x0a, 0x25, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x71, 0x64, - 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x53, 0x0a, 0x15, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x52, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x53, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3f, 0x0a, 0x14, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, +func (x *CreateAccountInviteRequest) Reset() { + *x = CreateAccountInviteRequest{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAccountInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccountInviteRequest) ProtoMessage() {} + +func (x *CreateAccountInviteRequest) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAccountInviteRequest.ProtoReflect.Descriptor instead. +func (*CreateAccountInviteRequest) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{16} +} + +func (x *CreateAccountInviteRequest) GetInvite() *AccountInvite { + if x != nil { + return x.Invite + } + return nil +} + +// CreateAccountInviteResponse is the response from the CreateAccountInvite function. +type CreateAccountInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The created account invite. + Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAccountInviteResponse) Reset() { + *x = CreateAccountInviteResponse{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAccountInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccountInviteResponse) ProtoMessage() {} + +func (x *CreateAccountInviteResponse) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAccountInviteResponse.ProtoReflect.Descriptor instead. +func (*CreateAccountInviteResponse) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{17} +} + +func (x *CreateAccountInviteResponse) GetInvite() *AccountInvite { + if x != nil { + return x.Invite + } + return nil +} + +// DeleteAccountInviteRequest is the request for the DeleteAccountInvite function. +type DeleteAccountInviteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identifier of the account (in GUID format) the invite belongs to. + // This is a required field. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The identifier of the invite (in GUID format) to delete. + // This is a required field. + InviteId string `protobuf:"bytes,2,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteAccountInviteRequest) Reset() { + *x = DeleteAccountInviteRequest{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteAccountInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAccountInviteRequest) ProtoMessage() {} + +func (x *DeleteAccountInviteRequest) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteAccountInviteRequest.ProtoReflect.Descriptor instead. +func (*DeleteAccountInviteRequest) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{18} +} + +func (x *DeleteAccountInviteRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *DeleteAccountInviteRequest) GetInviteId() string { + if x != nil { + return x.InviteId + } + return "" +} + +// DeleteAccountInviteResponse is the response from the DeleteAccountInvite function. +type DeleteAccountInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteAccountInviteResponse) Reset() { + *x = DeleteAccountInviteResponse{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteAccountInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAccountInviteResponse) ProtoMessage() {} + +func (x *DeleteAccountInviteResponse) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteAccountInviteResponse.ProtoReflect.Descriptor instead. +func (*DeleteAccountInviteResponse) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{19} +} + +// AcceptAccountInviteRequest is the request for the AcceptAccountInvite function. +type AcceptAccountInviteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identifier of the account (in GUID format) the invite is for. + // This is a required field. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The identifier of the invite (in GUID format) to accept. + // This is a required field. + InviteId string `protobuf:"bytes,2,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcceptAccountInviteRequest) Reset() { + *x = AcceptAccountInviteRequest{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptAccountInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptAccountInviteRequest) ProtoMessage() {} + +func (x *AcceptAccountInviteRequest) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcceptAccountInviteRequest.ProtoReflect.Descriptor instead. +func (*AcceptAccountInviteRequest) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{20} +} + +func (x *AcceptAccountInviteRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *AcceptAccountInviteRequest) GetInviteId() string { + if x != nil { + return x.InviteId + } + return "" +} + +// AcceptAccountInviteResponse is the response from the AcceptAccountInvite function. +type AcceptAccountInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The invite that was accepted, with its status updated. + Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcceptAccountInviteResponse) Reset() { + *x = AcceptAccountInviteResponse{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptAccountInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptAccountInviteResponse) ProtoMessage() {} + +func (x *AcceptAccountInviteResponse) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcceptAccountInviteResponse.ProtoReflect.Descriptor instead. +func (*AcceptAccountInviteResponse) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{21} +} + +func (x *AcceptAccountInviteResponse) GetInvite() *AccountInvite { + if x != nil { + return x.Invite + } + return nil +} + +// RejectOrganizationInviteRequest is the request for the RejectOrganizationInvite function. +// Note: This RPC, despite its name, is used to reject an *Account Invite*. +type RejectOrganizationInviteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identifier of the account (in GUID format) the invite is for. + // This is a required field. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // The identifier of the invite (in GUID format) to reject. + // This is a required field. + InviteId string `protobuf:"bytes,2,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RejectOrganizationInviteRequest) Reset() { + *x = RejectOrganizationInviteRequest{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RejectOrganizationInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejectOrganizationInviteRequest) ProtoMessage() {} + +func (x *RejectOrganizationInviteRequest) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejectOrganizationInviteRequest.ProtoReflect.Descriptor instead. +func (*RejectOrganizationInviteRequest) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{22} +} + +func (x *RejectOrganizationInviteRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *RejectOrganizationInviteRequest) GetInviteId() string { + if x != nil { + return x.InviteId + } + return "" +} + +// RejectOrganizationInviteResponse is the response from the RejectOrganizationInvite function. +type RejectOrganizationInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The invite that was rejected, with its status updated. + Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RejectOrganizationInviteResponse) Reset() { + *x = RejectOrganizationInviteResponse{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RejectOrganizationInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejectOrganizationInviteResponse) ProtoMessage() {} + +func (x *RejectOrganizationInviteResponse) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejectOrganizationInviteResponse.ProtoReflect.Descriptor instead. +func (*RejectOrganizationInviteResponse) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{23} +} + +func (x *RejectOrganizationInviteResponse) GetInvite() *AccountInvite { + if x != nil { + return x.Invite + } + return nil +} + +// An Account represents an account in the Qdrant cloud. +type Account struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unique identifier for the account (in GUID format). + // This is a read-only field and will be available after an account is created. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The timestamp when the account was created. + // This is a read-only field and will be available after an account is created. + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // The timestamp when the account was last updated. + // This is a read-only field and will be available after an account is created. + LastModifiedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_modified_at,json=lastModifiedAt,proto3" json:"last_modified_at,omitempty"` + // The name of the account. + // Name can only contain letters, numbers, underscores and dashes + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + // The Identifier of the owner of the account (in GUID format). + // This is a read-only field. + OwnerId string `protobuf:"bytes,6,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"` + // The email address of the owner of the account. + // This is a read-only field and will be derived from the owner_id field. + OwnerEmail string `protobuf:"bytes,7,opt,name=owner_email,json=ownerEmail,proto3" json:"owner_email,omitempty"` + // The privileges of the account, if any. + // This is a read-only field. + Privileges []string `protobuf:"bytes,8,rep,name=privileges,proto3" json:"privileges,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Account) Reset() { + *x = Account{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Account) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Account) ProtoMessage() {} + +func (x *Account) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Account.ProtoReflect.Descriptor instead. +func (*Account) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{24} +} + +func (x *Account) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Account) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Account) GetLastModifiedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastModifiedAt + } + return nil +} + +func (x *Account) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Account) GetOwnerId() string { + if x != nil { + return x.OwnerId + } + return "" +} + +func (x *Account) GetOwnerEmail() string { + if x != nil { + return x.OwnerEmail + } + return "" +} + +func (x *Account) GetPrivileges() []string { + if x != nil { + return x.Privileges + } + return nil +} + +// An AccountInvite represents an invitation for a user to join an account. +type AccountInvite struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unique identifier for the invite (in GUID format). + // This is a read-only field, generated by the server. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The identifier of the account this invite is for (in GUID format). + // This field is required when creating an invite. + AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // Human readable name of the account that the human is invited to join. + // This is a read-only value. + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // The email address of the user being invited. + // This field is required when creating an invite. + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` + // The identifiers of the roles to be assigned to the user upon accepting the invite. + // This field is required when creating an invite, and the list must not be empty. + // Each string in the list must be a valid UUID, to be resolved in the provided account. + RoleIds []string `protobuf:"bytes,5,rep,name=role_ids,json=roleIds,proto3" json:"role_ids,omitempty"` + // The timestamp when the invite was created. + // This is a read-only field. + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // The identifier of the user who created the invite (in GUID format). + // This is a read-only field, populated by the server based on the authenticated user. + CreatedByUserId string `protobuf:"bytes,7,opt,name=created_by_user_id,json=createdByUserId,proto3" json:"created_by_user_id,omitempty"` // TODO: Optional (for system generated invites)? + // Name of the user that created this invite. + // This is a read-only value, populated by the server based on the created_by_user_id field. + CreatedByName string `protobuf:"bytes,8,opt,name=created_by_name,json=createdByName,proto3" json:"created_by_name,omitempty"` + // The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire. + // This is a read-only field, potentially set at creation or managed by the server. + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` // TODO: Do we want to add this? + // The timestamp when the invite was last updated (e.g., status change). + // This is a read-only field. + LastModifiedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=last_modified_at,json=lastModifiedAt,proto3" json:"last_modified_at,omitempty"` + // Identifier of the user that accepted or rejected this invite. + // This is a read-only value. + UserId *string `protobuf:"bytes,11,opt,name=user_id,json=userId,proto3,oneof" json:"user_id,omitempty"` + // The status of the invite. + // This is a read-only field. + Status AccountInviteStatus `protobuf:"varint,12,opt,name=status,proto3,enum=qdrant.cloud.account.v1.AccountInviteStatus" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountInvite) Reset() { + *x = AccountInvite{} + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountInvite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountInvite) ProtoMessage() {} + +func (x *AccountInvite) ProtoReflect() protoreflect.Message { + mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountInvite.ProtoReflect.Descriptor instead. +func (*AccountInvite) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{25} +} + +func (x *AccountInvite) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AccountInvite) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *AccountInvite) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AccountInvite) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *AccountInvite) GetRoleIds() []string { + if x != nil { + return x.RoleIds + } + return nil +} + +func (x *AccountInvite) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *AccountInvite) GetCreatedByUserId() string { + if x != nil { + return x.CreatedByUserId + } + return "" +} + +func (x *AccountInvite) GetCreatedByName() string { + if x != nil { + return x.CreatedByName + } + return "" +} + +func (x *AccountInvite) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +func (x *AccountInvite) GetLastModifiedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastModifiedAt + } + return nil +} + +func (x *AccountInvite) GetUserId() string { + if x != nil && x.UserId != nil { + return *x.UserId + } + return "" +} + +func (x *AccountInvite) GetStatus() AccountInviteStatus { + if x != nil { + return x.Status + } + return AccountInviteStatus_ACCOUNT_INVITE_STATUS_UNSPECIFIED +} + +var File_qdrant_cloud_account_v1_account_proto protoreflect.FileDescriptor + +var file_qdrant_cloud_account_v1_account_proto_rawDesc = string([]byte{ + 0x0a, 0x25, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x71, 0x64, + 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x53, 0x0a, 0x15, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x52, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x53, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3f, 0x0a, 0x14, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, + 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x1a, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, + 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x22, 0x5c, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x69, + 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, + 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x18, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x5c, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x22, 0x5d, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, + 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x6c, 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, + 0x1b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x71, 0x0a, 0x1f, + 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, + 0x62, 0x0a, 0x20, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x1b, 0xba, 0x48, 0x18, 0x72, 0x16, 0x10, 0x04, 0x18, 0x40, 0x32, 0x10, 0x5e, 0x5b, 0x61, 0x2d, - 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x07, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, - 0x6c, 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, 0x01, 0x06, 0x22, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x3a, - 0xaa, 0x01, 0xba, 0x48, 0xa6, 0x01, 0x1a, 0xa3, 0x01, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x12, 0x1a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x55, 0x49, - 0x44, 0x1a, 0x79, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x64, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, - 0x7b, 0x38, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, - 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, + 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, + 0xba, 0x48, 0x18, 0x72, 0x16, 0x10, 0x04, 0x18, 0x40, 0x32, 0x10, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, + 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x07, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, + 0x72, 0x02, 0x60, 0x01, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, 0x01, 0x06, 0x22, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x3a, 0xaa, + 0x01, 0xba, 0x48, 0xa6, 0x01, 0x1a, 0xa3, 0x01, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x69, 0x64, 0x12, 0x1a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, + 0x1a, 0x79, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x64, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, + 0x38, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, - 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x31, 0x32, 0x7d, - 0x24, 0x27, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x29, 0x32, 0xe1, 0x06, 0x0a, - 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x95, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x12, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, - 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x8a, - 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3d, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, + 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, + 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x31, 0x32, 0x7d, 0x24, + 0x27, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x29, 0x22, 0xd7, 0x04, 0x0a, 0x0d, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x09, 0xba, 0x48, 0x06, 0x72, 0x04, 0x10, 0x01, 0x60, 0x01, 0x52, 0x05, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x92, 0x01, 0x09, 0x08, 0x01, + 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x73, + 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x35, 0x0a, 0x12, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, + 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, + 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2a, 0xee, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, + 0x21, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, + 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, + 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, + 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, + 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, + 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, + 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, + 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, + 0x45, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x32, 0xaa, 0x12, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, + 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9b, - 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2b, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, - 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xbf, 0x01, 0x0a, - 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, - 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x8a, 0xb5, 0x18, 0x0c, 0x72, + 0x65, 0x61, 0x64, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x8a, 0xb5, 0x18, 0x00, 0x92, + 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, + 0x2a, 0x1a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x8a, 0xb5, 0x18, 0x0e, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x73, 0x12, 0x32, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x8a, 0xb5, 0x18, 0x0c, + 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, + 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x6c, 0x66, 0x2f, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x5f, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x73, 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xe7, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x8a, - 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x1a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x65, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x92, 0xb5, 0x18, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x8a, + 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0xaf, - 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3f, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x42, 0xfe, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x67, 0x6f, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, 0x02, 0x17, 0x51, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, - 0x23, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x3a, 0x3a, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, + 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x63, 0x63, + 0x65, 0x70, 0x74, 0x12, 0xdd, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x12, 0x38, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, + 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6a, + 0x65, 0x63, 0x74, 0x42, 0xfe, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, 0x02, 0x17, + 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, + 0x31, 0xe2, 0x02, 0x23, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( @@ -750,45 +1885,88 @@ func file_qdrant_cloud_account_v1_account_proto_rawDescGZIP() []byte { return file_qdrant_cloud_account_v1_account_proto_rawDescData } -var file_qdrant_cloud_account_v1_account_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_qdrant_cloud_account_v1_account_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_qdrant_cloud_account_v1_account_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_qdrant_cloud_account_v1_account_proto_goTypes = []any{ - (*ListAccountsRequest)(nil), // 0: qdrant.cloud.account.v1.ListAccountsRequest - (*ListAccountsResponse)(nil), // 1: qdrant.cloud.account.v1.ListAccountsResponse - (*GetAccountRequest)(nil), // 2: qdrant.cloud.account.v1.GetAccountRequest - (*GetAccountResponse)(nil), // 3: qdrant.cloud.account.v1.GetAccountResponse - (*CreateAccountRequest)(nil), // 4: qdrant.cloud.account.v1.CreateAccountRequest - (*CreateAccountResponse)(nil), // 5: qdrant.cloud.account.v1.CreateAccountResponse - (*UpdateAccountRequest)(nil), // 6: qdrant.cloud.account.v1.UpdateAccountRequest - (*UpdateAccountResponse)(nil), // 7: qdrant.cloud.account.v1.UpdateAccountResponse - (*DeleteAccountRequest)(nil), // 8: qdrant.cloud.account.v1.DeleteAccountRequest - (*DeleteAccountResponse)(nil), // 9: qdrant.cloud.account.v1.DeleteAccountResponse - (*Account)(nil), // 10: qdrant.cloud.account.v1.Account - (*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp + (AccountInviteStatus)(0), // 0: qdrant.cloud.account.v1.AccountInviteStatus + (*ListAccountsRequest)(nil), // 1: qdrant.cloud.account.v1.ListAccountsRequest + (*ListAccountsResponse)(nil), // 2: qdrant.cloud.account.v1.ListAccountsResponse + (*GetAccountRequest)(nil), // 3: qdrant.cloud.account.v1.GetAccountRequest + (*GetAccountResponse)(nil), // 4: qdrant.cloud.account.v1.GetAccountResponse + (*CreateAccountRequest)(nil), // 5: qdrant.cloud.account.v1.CreateAccountRequest + (*CreateAccountResponse)(nil), // 6: qdrant.cloud.account.v1.CreateAccountResponse + (*UpdateAccountRequest)(nil), // 7: qdrant.cloud.account.v1.UpdateAccountRequest + (*UpdateAccountResponse)(nil), // 8: qdrant.cloud.account.v1.UpdateAccountResponse + (*DeleteAccountRequest)(nil), // 9: qdrant.cloud.account.v1.DeleteAccountRequest + (*DeleteAccountResponse)(nil), // 10: qdrant.cloud.account.v1.DeleteAccountResponse + (*ListAccountInvitesRequest)(nil), // 11: qdrant.cloud.account.v1.ListAccountInvitesRequest + (*ListAccountInvitesResponse)(nil), // 12: qdrant.cloud.account.v1.ListAccountInvitesResponse + (*ListMyAccountInvitesRequest)(nil), // 13: qdrant.cloud.account.v1.ListMyAccountInvitesRequest + (*ListMyAccountInvitesResponse)(nil), // 14: qdrant.cloud.account.v1.ListMyAccountInvitesResponse + (*GetAccountInviteRequest)(nil), // 15: qdrant.cloud.account.v1.GetAccountInviteRequest + (*GetAccountInviteResponse)(nil), // 16: qdrant.cloud.account.v1.GetAccountInviteResponse + (*CreateAccountInviteRequest)(nil), // 17: qdrant.cloud.account.v1.CreateAccountInviteRequest + (*CreateAccountInviteResponse)(nil), // 18: qdrant.cloud.account.v1.CreateAccountInviteResponse + (*DeleteAccountInviteRequest)(nil), // 19: qdrant.cloud.account.v1.DeleteAccountInviteRequest + (*DeleteAccountInviteResponse)(nil), // 20: qdrant.cloud.account.v1.DeleteAccountInviteResponse + (*AcceptAccountInviteRequest)(nil), // 21: qdrant.cloud.account.v1.AcceptAccountInviteRequest + (*AcceptAccountInviteResponse)(nil), // 22: qdrant.cloud.account.v1.AcceptAccountInviteResponse + (*RejectOrganizationInviteRequest)(nil), // 23: qdrant.cloud.account.v1.RejectOrganizationInviteRequest + (*RejectOrganizationInviteResponse)(nil), // 24: qdrant.cloud.account.v1.RejectOrganizationInviteResponse + (*Account)(nil), // 25: qdrant.cloud.account.v1.Account + (*AccountInvite)(nil), // 26: qdrant.cloud.account.v1.AccountInvite + (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp } var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ - 10, // 0: qdrant.cloud.account.v1.ListAccountsResponse.items:type_name -> qdrant.cloud.account.v1.Account - 10, // 1: qdrant.cloud.account.v1.GetAccountResponse.account:type_name -> qdrant.cloud.account.v1.Account - 10, // 2: qdrant.cloud.account.v1.CreateAccountRequest.account:type_name -> qdrant.cloud.account.v1.Account - 10, // 3: qdrant.cloud.account.v1.CreateAccountResponse.account:type_name -> qdrant.cloud.account.v1.Account - 10, // 4: qdrant.cloud.account.v1.UpdateAccountRequest.account:type_name -> qdrant.cloud.account.v1.Account - 10, // 5: qdrant.cloud.account.v1.UpdateAccountResponse.account:type_name -> qdrant.cloud.account.v1.Account - 11, // 6: qdrant.cloud.account.v1.Account.created_at:type_name -> google.protobuf.Timestamp - 11, // 7: qdrant.cloud.account.v1.Account.last_modified_at:type_name -> google.protobuf.Timestamp - 0, // 8: qdrant.cloud.account.v1.AccountService.ListAccounts:input_type -> qdrant.cloud.account.v1.ListAccountsRequest - 2, // 9: qdrant.cloud.account.v1.AccountService.GetAccount:input_type -> qdrant.cloud.account.v1.GetAccountRequest - 4, // 10: qdrant.cloud.account.v1.AccountService.CreateAccount:input_type -> qdrant.cloud.account.v1.CreateAccountRequest - 6, // 11: qdrant.cloud.account.v1.AccountService.UpdateAccount:input_type -> qdrant.cloud.account.v1.UpdateAccountRequest - 8, // 12: qdrant.cloud.account.v1.AccountService.DeleteAccount:input_type -> qdrant.cloud.account.v1.DeleteAccountRequest - 1, // 13: qdrant.cloud.account.v1.AccountService.ListAccounts:output_type -> qdrant.cloud.account.v1.ListAccountsResponse - 3, // 14: qdrant.cloud.account.v1.AccountService.GetAccount:output_type -> qdrant.cloud.account.v1.GetAccountResponse - 5, // 15: qdrant.cloud.account.v1.AccountService.CreateAccount:output_type -> qdrant.cloud.account.v1.CreateAccountResponse - 7, // 16: qdrant.cloud.account.v1.AccountService.UpdateAccount:output_type -> qdrant.cloud.account.v1.UpdateAccountResponse - 9, // 17: qdrant.cloud.account.v1.AccountService.DeleteAccount:output_type -> qdrant.cloud.account.v1.DeleteAccountResponse - 13, // [13:18] is the sub-list for method output_type - 8, // [8:13] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 25, // 0: qdrant.cloud.account.v1.ListAccountsResponse.items:type_name -> qdrant.cloud.account.v1.Account + 25, // 1: qdrant.cloud.account.v1.GetAccountResponse.account:type_name -> qdrant.cloud.account.v1.Account + 25, // 2: qdrant.cloud.account.v1.CreateAccountRequest.account:type_name -> qdrant.cloud.account.v1.Account + 25, // 3: qdrant.cloud.account.v1.CreateAccountResponse.account:type_name -> qdrant.cloud.account.v1.Account + 25, // 4: qdrant.cloud.account.v1.UpdateAccountRequest.account:type_name -> qdrant.cloud.account.v1.Account + 25, // 5: qdrant.cloud.account.v1.UpdateAccountResponse.account:type_name -> qdrant.cloud.account.v1.Account + 26, // 6: qdrant.cloud.account.v1.ListAccountInvitesResponse.items:type_name -> qdrant.cloud.account.v1.AccountInvite + 0, // 7: qdrant.cloud.account.v1.ListMyAccountInvitesRequest.status_filter:type_name -> qdrant.cloud.account.v1.AccountInviteStatus + 26, // 8: qdrant.cloud.account.v1.ListMyAccountInvitesResponse.items:type_name -> qdrant.cloud.account.v1.AccountInvite + 26, // 9: qdrant.cloud.account.v1.GetAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite + 26, // 10: qdrant.cloud.account.v1.CreateAccountInviteRequest.invite:type_name -> qdrant.cloud.account.v1.AccountInvite + 26, // 11: qdrant.cloud.account.v1.CreateAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite + 26, // 12: qdrant.cloud.account.v1.AcceptAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite + 26, // 13: qdrant.cloud.account.v1.RejectOrganizationInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite + 27, // 14: qdrant.cloud.account.v1.Account.created_at:type_name -> google.protobuf.Timestamp + 27, // 15: qdrant.cloud.account.v1.Account.last_modified_at:type_name -> google.protobuf.Timestamp + 27, // 16: qdrant.cloud.account.v1.AccountInvite.created_at:type_name -> google.protobuf.Timestamp + 27, // 17: qdrant.cloud.account.v1.AccountInvite.expires_at:type_name -> google.protobuf.Timestamp + 27, // 18: qdrant.cloud.account.v1.AccountInvite.last_modified_at:type_name -> google.protobuf.Timestamp + 0, // 19: qdrant.cloud.account.v1.AccountInvite.status:type_name -> qdrant.cloud.account.v1.AccountInviteStatus + 1, // 20: qdrant.cloud.account.v1.AccountService.ListAccounts:input_type -> qdrant.cloud.account.v1.ListAccountsRequest + 3, // 21: qdrant.cloud.account.v1.AccountService.GetAccount:input_type -> qdrant.cloud.account.v1.GetAccountRequest + 5, // 22: qdrant.cloud.account.v1.AccountService.CreateAccount:input_type -> qdrant.cloud.account.v1.CreateAccountRequest + 7, // 23: qdrant.cloud.account.v1.AccountService.UpdateAccount:input_type -> qdrant.cloud.account.v1.UpdateAccountRequest + 9, // 24: qdrant.cloud.account.v1.AccountService.DeleteAccount:input_type -> qdrant.cloud.account.v1.DeleteAccountRequest + 11, // 25: qdrant.cloud.account.v1.AccountService.ListAccountInvites:input_type -> qdrant.cloud.account.v1.ListAccountInvitesRequest + 13, // 26: qdrant.cloud.account.v1.AccountService.ListMyAccountInvites:input_type -> qdrant.cloud.account.v1.ListMyAccountInvitesRequest + 15, // 27: qdrant.cloud.account.v1.AccountService.GetAccountInvite:input_type -> qdrant.cloud.account.v1.GetAccountInviteRequest + 17, // 28: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:input_type -> qdrant.cloud.account.v1.CreateAccountInviteRequest + 19, // 29: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:input_type -> qdrant.cloud.account.v1.DeleteAccountInviteRequest + 21, // 30: qdrant.cloud.account.v1.AccountService.AcceptAccountInvite:input_type -> qdrant.cloud.account.v1.AcceptAccountInviteRequest + 23, // 31: qdrant.cloud.account.v1.AccountService.RejectOrganizationInvite:input_type -> qdrant.cloud.account.v1.RejectOrganizationInviteRequest + 2, // 32: qdrant.cloud.account.v1.AccountService.ListAccounts:output_type -> qdrant.cloud.account.v1.ListAccountsResponse + 4, // 33: qdrant.cloud.account.v1.AccountService.GetAccount:output_type -> qdrant.cloud.account.v1.GetAccountResponse + 6, // 34: qdrant.cloud.account.v1.AccountService.CreateAccount:output_type -> qdrant.cloud.account.v1.CreateAccountResponse + 8, // 35: qdrant.cloud.account.v1.AccountService.UpdateAccount:output_type -> qdrant.cloud.account.v1.UpdateAccountResponse + 10, // 36: qdrant.cloud.account.v1.AccountService.DeleteAccount:output_type -> qdrant.cloud.account.v1.DeleteAccountResponse + 12, // 37: qdrant.cloud.account.v1.AccountService.ListAccountInvites:output_type -> qdrant.cloud.account.v1.ListAccountInvitesResponse + 14, // 38: qdrant.cloud.account.v1.AccountService.ListMyAccountInvites:output_type -> qdrant.cloud.account.v1.ListMyAccountInvitesResponse + 16, // 39: qdrant.cloud.account.v1.AccountService.GetAccountInvite:output_type -> qdrant.cloud.account.v1.GetAccountInviteResponse + 18, // 40: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:output_type -> qdrant.cloud.account.v1.CreateAccountInviteResponse + 20, // 41: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:output_type -> qdrant.cloud.account.v1.DeleteAccountInviteResponse + 22, // 42: qdrant.cloud.account.v1.AccountService.AcceptAccountInvite:output_type -> qdrant.cloud.account.v1.AcceptAccountInviteResponse + 24, // 43: qdrant.cloud.account.v1.AccountService.RejectOrganizationInvite:output_type -> qdrant.cloud.account.v1.RejectOrganizationInviteResponse + 32, // [32:44] is the sub-list for method output_type + 20, // [20:32] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name } func init() { file_qdrant_cloud_account_v1_account_proto_init() } @@ -796,18 +1974,21 @@ func file_qdrant_cloud_account_v1_account_proto_init() { if File_qdrant_cloud_account_v1_account_proto != nil { return } + file_qdrant_cloud_account_v1_account_proto_msgTypes[12].OneofWrappers = []any{} + file_qdrant_cloud_account_v1_account_proto_msgTypes[25].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_qdrant_cloud_account_v1_account_proto_rawDesc), len(file_qdrant_cloud_account_v1_account_proto_rawDesc)), - NumEnums: 0, - NumMessages: 11, + NumEnums: 1, + NumMessages: 26, NumExtensions: 0, NumServices: 1, }, GoTypes: file_qdrant_cloud_account_v1_account_proto_goTypes, DependencyIndexes: file_qdrant_cloud_account_v1_account_proto_depIdxs, + EnumInfos: file_qdrant_cloud_account_v1_account_proto_enumTypes, MessageInfos: file_qdrant_cloud_account_v1_account_proto_msgTypes, }.Build() File_qdrant_cloud_account_v1_account_proto = out.File diff --git a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go index bd141221..2aa24885 100644 --- a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go @@ -19,11 +19,18 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - AccountService_ListAccounts_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccounts" - AccountService_GetAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccount" - AccountService_CreateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccount" - AccountService_UpdateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/UpdateAccount" - AccountService_DeleteAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccount" + AccountService_ListAccounts_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccounts" + AccountService_GetAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccount" + AccountService_CreateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccount" + AccountService_UpdateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/UpdateAccount" + AccountService_DeleteAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccount" + AccountService_ListAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccountInvites" + AccountService_ListMyAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListMyAccountInvites" + AccountService_GetAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccountInvite" + AccountService_CreateAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccountInvite" + AccountService_DeleteAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccountInvite" + AccountService_AcceptAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/AcceptAccountInvite" + AccountService_RejectOrganizationInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/RejectOrganizationInvite" ) // AccountServiceClient is the client API for AccountService service. @@ -52,6 +59,42 @@ type AccountServiceClient interface { // Required permissions: // - delete:account DeleteAccount(ctx context.Context, in *DeleteAccountRequest, opts ...grpc.CallOption) (*DeleteAccountResponse, error) + // Fetch all account invites in the account identified by the given account ID. + // The authenticated user must be a member of the account identifier by the given account ID. + // Required permissions: + // - read:invites + ListAccountInvites(ctx context.Context, in *ListAccountInvitesRequest, opts ...grpc.CallOption) (*ListAccountInvitesResponse, error) + // Fetch all account invites for the authenticated user. + // Required permissions: + // - None (authenticated only) + ListMyAccountInvites(ctx context.Context, in *ListMyAccountInvitesRequest, opts ...grpc.CallOption) (*ListMyAccountInvitesResponse, error) + // Fetch an account invite by its id. + // The authenticated user must be a member of the account that the invite is for. + // Required permissions: + // - read:invites + GetAccountInvite(ctx context.Context, in *GetAccountInviteRequest, opts ...grpc.CallOption) (*GetAccountInviteResponse, error) + // Create a new account invite. + // The authenticated user must be a member of the account that the invite is for. + // Required permissions: + // - write:invites + CreateAccountInvite(ctx context.Context, in *CreateAccountInviteRequest, opts ...grpc.CallOption) (*CreateAccountInviteResponse, error) + // Delete an account invite + // The authenticated user must be a member of the account that the invite is for. + // Required permissions: + // - delete:invites + DeleteAccountInvite(ctx context.Context, in *DeleteAccountInviteRequest, opts ...grpc.CallOption) (*DeleteAccountInviteResponse, error) + // Accept an account invite + // The authenticated user's email address must match the email address specified in + // the invite. + // Required permissions: + // - None (authenticated only) + AcceptAccountInvite(ctx context.Context, in *AcceptAccountInviteRequest, opts ...grpc.CallOption) (*AcceptAccountInviteResponse, error) + // Reject an account invite + // The authenticated user's email address must match the email address specified in + // the invite. + // Required permissions: + // - None (authenticated only) + RejectOrganizationInvite(ctx context.Context, in *RejectOrganizationInviteRequest, opts ...grpc.CallOption) (*RejectOrganizationInviteResponse, error) } type accountServiceClient struct { @@ -112,6 +155,76 @@ func (c *accountServiceClient) DeleteAccount(ctx context.Context, in *DeleteAcco return out, nil } +func (c *accountServiceClient) ListAccountInvites(ctx context.Context, in *ListAccountInvitesRequest, opts ...grpc.CallOption) (*ListAccountInvitesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListAccountInvitesResponse) + err := c.cc.Invoke(ctx, AccountService_ListAccountInvites_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accountServiceClient) ListMyAccountInvites(ctx context.Context, in *ListMyAccountInvitesRequest, opts ...grpc.CallOption) (*ListMyAccountInvitesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListMyAccountInvitesResponse) + err := c.cc.Invoke(ctx, AccountService_ListMyAccountInvites_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accountServiceClient) GetAccountInvite(ctx context.Context, in *GetAccountInviteRequest, opts ...grpc.CallOption) (*GetAccountInviteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetAccountInviteResponse) + err := c.cc.Invoke(ctx, AccountService_GetAccountInvite_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accountServiceClient) CreateAccountInvite(ctx context.Context, in *CreateAccountInviteRequest, opts ...grpc.CallOption) (*CreateAccountInviteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CreateAccountInviteResponse) + err := c.cc.Invoke(ctx, AccountService_CreateAccountInvite_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accountServiceClient) DeleteAccountInvite(ctx context.Context, in *DeleteAccountInviteRequest, opts ...grpc.CallOption) (*DeleteAccountInviteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteAccountInviteResponse) + err := c.cc.Invoke(ctx, AccountService_DeleteAccountInvite_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accountServiceClient) AcceptAccountInvite(ctx context.Context, in *AcceptAccountInviteRequest, opts ...grpc.CallOption) (*AcceptAccountInviteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AcceptAccountInviteResponse) + err := c.cc.Invoke(ctx, AccountService_AcceptAccountInvite_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accountServiceClient) RejectOrganizationInvite(ctx context.Context, in *RejectOrganizationInviteRequest, opts ...grpc.CallOption) (*RejectOrganizationInviteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RejectOrganizationInviteResponse) + err := c.cc.Invoke(ctx, AccountService_RejectOrganizationInvite_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + // AccountServiceServer is the server API for AccountService service. // All implementations must embed UnimplementedAccountServiceServer // for forward compatibility. @@ -138,6 +251,42 @@ type AccountServiceServer interface { // Required permissions: // - delete:account DeleteAccount(context.Context, *DeleteAccountRequest) (*DeleteAccountResponse, error) + // Fetch all account invites in the account identified by the given account ID. + // The authenticated user must be a member of the account identifier by the given account ID. + // Required permissions: + // - read:invites + ListAccountInvites(context.Context, *ListAccountInvitesRequest) (*ListAccountInvitesResponse, error) + // Fetch all account invites for the authenticated user. + // Required permissions: + // - None (authenticated only) + ListMyAccountInvites(context.Context, *ListMyAccountInvitesRequest) (*ListMyAccountInvitesResponse, error) + // Fetch an account invite by its id. + // The authenticated user must be a member of the account that the invite is for. + // Required permissions: + // - read:invites + GetAccountInvite(context.Context, *GetAccountInviteRequest) (*GetAccountInviteResponse, error) + // Create a new account invite. + // The authenticated user must be a member of the account that the invite is for. + // Required permissions: + // - write:invites + CreateAccountInvite(context.Context, *CreateAccountInviteRequest) (*CreateAccountInviteResponse, error) + // Delete an account invite + // The authenticated user must be a member of the account that the invite is for. + // Required permissions: + // - delete:invites + DeleteAccountInvite(context.Context, *DeleteAccountInviteRequest) (*DeleteAccountInviteResponse, error) + // Accept an account invite + // The authenticated user's email address must match the email address specified in + // the invite. + // Required permissions: + // - None (authenticated only) + AcceptAccountInvite(context.Context, *AcceptAccountInviteRequest) (*AcceptAccountInviteResponse, error) + // Reject an account invite + // The authenticated user's email address must match the email address specified in + // the invite. + // Required permissions: + // - None (authenticated only) + RejectOrganizationInvite(context.Context, *RejectOrganizationInviteRequest) (*RejectOrganizationInviteResponse, error) mustEmbedUnimplementedAccountServiceServer() } @@ -163,6 +312,27 @@ func (UnimplementedAccountServiceServer) UpdateAccount(context.Context, *UpdateA func (UnimplementedAccountServiceServer) DeleteAccount(context.Context, *DeleteAccountRequest) (*DeleteAccountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteAccount not implemented") } +func (UnimplementedAccountServiceServer) ListAccountInvites(context.Context, *ListAccountInvitesRequest) (*ListAccountInvitesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListAccountInvites not implemented") +} +func (UnimplementedAccountServiceServer) ListMyAccountInvites(context.Context, *ListMyAccountInvitesRequest) (*ListMyAccountInvitesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListMyAccountInvites not implemented") +} +func (UnimplementedAccountServiceServer) GetAccountInvite(context.Context, *GetAccountInviteRequest) (*GetAccountInviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccountInvite not implemented") +} +func (UnimplementedAccountServiceServer) CreateAccountInvite(context.Context, *CreateAccountInviteRequest) (*CreateAccountInviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAccountInvite not implemented") +} +func (UnimplementedAccountServiceServer) DeleteAccountInvite(context.Context, *DeleteAccountInviteRequest) (*DeleteAccountInviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteAccountInvite not implemented") +} +func (UnimplementedAccountServiceServer) AcceptAccountInvite(context.Context, *AcceptAccountInviteRequest) (*AcceptAccountInviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AcceptAccountInvite not implemented") +} +func (UnimplementedAccountServiceServer) RejectOrganizationInvite(context.Context, *RejectOrganizationInviteRequest) (*RejectOrganizationInviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RejectOrganizationInvite not implemented") +} func (UnimplementedAccountServiceServer) mustEmbedUnimplementedAccountServiceServer() {} func (UnimplementedAccountServiceServer) testEmbeddedByValue() {} @@ -274,6 +444,132 @@ func _AccountService_DeleteAccount_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _AccountService_ListAccountInvites_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAccountInvitesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccountServiceServer).ListAccountInvites(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_ListAccountInvites_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).ListAccountInvites(ctx, req.(*ListAccountInvitesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccountService_ListMyAccountInvites_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListMyAccountInvitesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccountServiceServer).ListMyAccountInvites(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_ListMyAccountInvites_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).ListMyAccountInvites(ctx, req.(*ListMyAccountInvitesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccountService_GetAccountInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountInviteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccountServiceServer).GetAccountInvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_GetAccountInvite_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).GetAccountInvite(ctx, req.(*GetAccountInviteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccountService_CreateAccountInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAccountInviteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccountServiceServer).CreateAccountInvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_CreateAccountInvite_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).CreateAccountInvite(ctx, req.(*CreateAccountInviteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccountService_DeleteAccountInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAccountInviteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccountServiceServer).DeleteAccountInvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_DeleteAccountInvite_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).DeleteAccountInvite(ctx, req.(*DeleteAccountInviteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccountService_AcceptAccountInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AcceptAccountInviteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccountServiceServer).AcceptAccountInvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_AcceptAccountInvite_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).AcceptAccountInvite(ctx, req.(*AcceptAccountInviteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccountService_RejectOrganizationInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RejectOrganizationInviteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccountServiceServer).RejectOrganizationInvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_RejectOrganizationInvite_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).RejectOrganizationInvite(ctx, req.(*RejectOrganizationInviteRequest)) + } + return interceptor(ctx, in, info, handler) +} + // AccountService_ServiceDesc is the grpc.ServiceDesc for AccountService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -301,6 +597,34 @@ var AccountService_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteAccount", Handler: _AccountService_DeleteAccount_Handler, }, + { + MethodName: "ListAccountInvites", + Handler: _AccountService_ListAccountInvites_Handler, + }, + { + MethodName: "ListMyAccountInvites", + Handler: _AccountService_ListMyAccountInvites_Handler, + }, + { + MethodName: "GetAccountInvite", + Handler: _AccountService_GetAccountInvite_Handler, + }, + { + MethodName: "CreateAccountInvite", + Handler: _AccountService_CreateAccountInvite_Handler, + }, + { + MethodName: "DeleteAccountInvite", + Handler: _AccountService_DeleteAccountInvite_Handler, + }, + { + MethodName: "AcceptAccountInvite", + Handler: _AccountService_AcceptAccountInvite_Handler, + }, + { + MethodName: "RejectOrganizationInvite", + Handler: _AccountService_RejectOrganizationInvite_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "qdrant/cloud/account/v1/account.proto", diff --git a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json index a361776d..fc551f52 100644 --- a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json +++ b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json @@ -172,9 +172,339 @@ "AccountService" ] } + }, + "/api/account/v1/accounts/{accountId}/invites": { + "get": { + "summary": "Fetch all account invites in the account identified by the given account ID.\nThe authenticated user must be a member of the account identifier by the given account ID.\nRequired permissions:\n- read:invites", + "operationId": "AccountService_ListAccountInvites", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListAccountInvitesResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "accountId", + "description": "The identifier of the account (in GUID format) to list invites for.\nThis is a required field.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AccountService" + ] + } + }, + "/api/account/v1/accounts/{accountId}/invites/{inviteId}": { + "get": { + "summary": "Fetch an account invite by its id.\nThe authenticated user must be a member of the account that the invite is for.\nRequired permissions:\n- read:invites", + "operationId": "AccountService_GetAccountInvite", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1GetAccountInviteResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "accountId", + "description": "The identifier of the account (in GUID format) the invite belongs to.\nThis is a required field.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "inviteId", + "description": "The identifier of the invite (in GUID format).\nThis is a required field.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AccountService" + ] + }, + "delete": { + "summary": "Delete an account invite\nThe authenticated user must be a member of the account that the invite is for.\nRequired permissions:\n- delete:invites", + "operationId": "AccountService_DeleteAccountInvite", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1DeleteAccountInviteResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "accountId", + "description": "The identifier of the account (in GUID format) the invite belongs to.\nThis is a required field.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "inviteId", + "description": "The identifier of the invite (in GUID format) to delete.\nThis is a required field.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AccountService" + ] + } + }, + "/api/account/v1/accounts/{accountId}/invites/{inviteId}/accept": { + "post": { + "summary": "Accept an account invite\nThe authenticated user's email address must match the email address specified in\nthe invite.\nRequired permissions:\n- None (authenticated only)", + "operationId": "AccountService_AcceptAccountInvite", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1AcceptAccountInviteResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "accountId", + "description": "The identifier of the account (in GUID format) the invite is for.\nThis is a required field.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "inviteId", + "description": "The identifier of the invite (in GUID format) to accept.\nThis is a required field.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AccountService" + ] + } + }, + "/api/account/v1/accounts/{accountId}/invites/{inviteId}/reject": { + "post": { + "summary": "Reject an account invite\nThe authenticated user's email address must match the email address specified in\nthe invite.\nRequired permissions:\n- None (authenticated only)", + "operationId": "AccountService_RejectOrganizationInvite", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1RejectOrganizationInviteResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "accountId", + "description": "The identifier of the account (in GUID format) the invite is for.\nThis is a required field.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "inviteId", + "description": "The identifier of the invite (in GUID format) to reject.\nThis is a required field.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AccountService" + ] + } + }, + "/api/account/v1/accounts/{invite.accountId}/invites": { + "post": { + "summary": "Create a new account invite.\nThe authenticated user must be a member of the account that the invite is for.\nRequired permissions:\n- write:invites", + "operationId": "AccountService_CreateAccountInvite", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1CreateAccountInviteResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "invite.accountId", + "description": "The identifier of the account this invite is for (in GUID format).\nThis field is required when creating an invite.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountServiceCreateAccountInviteBody" + } + } + ], + "tags": [ + "AccountService" + ] + } + }, + "/api/account/v1/self/invites": { + "get": { + "summary": "Fetch all account invites for the authenticated user.\nRequired permissions:\n- None (authenticated only)", + "operationId": "AccountService_ListMyAccountInvites", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListMyAccountInvitesResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "statusFilter", + "description": "Optional: Filter invites by status (e.g. pending only).\n\n - ACCOUNT_INVITE_STATUS_UNSPECIFIED: Default, unspecified status.\n - ACCOUNT_INVITE_STATUS_PENDING: The invite is pending and waiting for the user to accept or reject.\n - ACCOUNT_INVITE_STATUS_ACCEPTED: The invite has been accepted by the user.\n - ACCOUNT_INVITE_STATUS_REJECTED: The invite has been rejected by the user.\n - ACCOUNT_INVITE_STATUS_EXPIRED: The invite has expired.\n\nTODO: Do we want to add this?\n - ACCOUNT_INVITE_STATUS_CANCELED: The invite has been canceled (e.g., by an account admin).", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "ACCOUNT_INVITE_STATUS_UNSPECIFIED", + "ACCOUNT_INVITE_STATUS_PENDING", + "ACCOUNT_INVITE_STATUS_ACCEPTED", + "ACCOUNT_INVITE_STATUS_REJECTED", + "ACCOUNT_INVITE_STATUS_EXPIRED", + "ACCOUNT_INVITE_STATUS_CANCELED" + ], + "default": "ACCOUNT_INVITE_STATUS_UNSPECIFIED" + } + ], + "tags": [ + "AccountService" + ] + } } }, "definitions": { + "AccountServiceCreateAccountInviteBody": { + "type": "object", + "properties": { + "invite": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the invite (in GUID format).\nThis is a read-only field, generated by the server." + }, + "accountName": { + "type": "string", + "description": "Human readable name of the account that the human is invited to join.\nThis is a read-only value." + }, + "email": { + "type": "string", + "description": "The email address of the user being invited.\nThis field is required when creating an invite." + }, + "roleIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The identifiers of the roles to be assigned to the user upon accepting the invite.\nThis field is required when creating an invite, and the list must not be empty.\nEach string in the list must be a valid UUID, to be resolved in the provided account." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the invite was created.\nThis is a read-only field." + }, + "createdByUserId": { + "type": "string", + "description": "The identifier of the user who created the invite (in GUID format).\nThis is a read-only field, populated by the server based on the authenticated user.\n\nTODO: Optional (for system generated invites)?" + }, + "createdByName": { + "type": "string", + "description": "Name of the user that created this invite.\nThis is a read-only value, populated by the server based on the created_by_user_id field." + }, + "expiresAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire.\nThis is a read-only field, potentially set at creation or managed by the server.\n\nTODO: Do we want to add this?" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the invite was last updated (e.g., status change).\nThis is a read-only field." + }, + "userId": { + "type": "string", + "description": "Identifier of the user that accepted or rejected this invite.\nThis is a read-only value." + }, + "status": { + "$ref": "#/definitions/v1AccountInviteStatus", + "description": "The status of the invite.\nThis is a read-only field." + } + }, + "description": "The details of the invite to create.\nThis is a required field.", + "title": "The details of the invite to create.\nThis is a required field." + } + }, + "description": "CreateAccountInviteRequest is the request for the CreateAccountInvite function." + }, "AccountServiceUpdateAccountBody": { "type": "object", "properties": { @@ -245,6 +575,16 @@ } } }, + "v1AcceptAccountInviteResponse": { + "type": "object", + "properties": { + "invite": { + "$ref": "#/definitions/v1AccountInvite", + "description": "The invite that was accepted, with its status updated." + } + }, + "description": "AcceptAccountInviteResponse is the response from the AcceptAccountInvite function." + }, "v1Account": { "type": "object", "properties": { @@ -284,6 +624,89 @@ }, "description": "An Account represents an account in the Qdrant cloud." }, + "v1AccountInvite": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the invite (in GUID format).\nThis is a read-only field, generated by the server." + }, + "accountId": { + "type": "string", + "description": "The identifier of the account this invite is for (in GUID format).\nThis field is required when creating an invite." + }, + "accountName": { + "type": "string", + "description": "Human readable name of the account that the human is invited to join.\nThis is a read-only value." + }, + "email": { + "type": "string", + "description": "The email address of the user being invited.\nThis field is required when creating an invite." + }, + "roleIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The identifiers of the roles to be assigned to the user upon accepting the invite.\nThis field is required when creating an invite, and the list must not be empty.\nEach string in the list must be a valid UUID, to be resolved in the provided account." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the invite was created.\nThis is a read-only field." + }, + "createdByUserId": { + "type": "string", + "description": "The identifier of the user who created the invite (in GUID format).\nThis is a read-only field, populated by the server based on the authenticated user.\n\nTODO: Optional (for system generated invites)?" + }, + "createdByName": { + "type": "string", + "description": "Name of the user that created this invite.\nThis is a read-only value, populated by the server based on the created_by_user_id field." + }, + "expiresAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire.\nThis is a read-only field, potentially set at creation or managed by the server.\n\nTODO: Do we want to add this?" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the invite was last updated (e.g., status change).\nThis is a read-only field." + }, + "userId": { + "type": "string", + "description": "Identifier of the user that accepted or rejected this invite.\nThis is a read-only value." + }, + "status": { + "$ref": "#/definitions/v1AccountInviteStatus", + "description": "The status of the invite.\nThis is a read-only field." + } + }, + "description": "An AccountInvite represents an invitation for a user to join an account." + }, + "v1AccountInviteStatus": { + "type": "string", + "enum": [ + "ACCOUNT_INVITE_STATUS_UNSPECIFIED", + "ACCOUNT_INVITE_STATUS_PENDING", + "ACCOUNT_INVITE_STATUS_ACCEPTED", + "ACCOUNT_INVITE_STATUS_REJECTED", + "ACCOUNT_INVITE_STATUS_EXPIRED", + "ACCOUNT_INVITE_STATUS_CANCELED" + ], + "default": "ACCOUNT_INVITE_STATUS_UNSPECIFIED", + "description": "AccountInviteStatus defines the possible statuses of an account invitation.\n\n - ACCOUNT_INVITE_STATUS_UNSPECIFIED: Default, unspecified status.\n - ACCOUNT_INVITE_STATUS_PENDING: The invite is pending and waiting for the user to accept or reject.\n - ACCOUNT_INVITE_STATUS_ACCEPTED: The invite has been accepted by the user.\n - ACCOUNT_INVITE_STATUS_REJECTED: The invite has been rejected by the user.\n - ACCOUNT_INVITE_STATUS_EXPIRED: The invite has expired.\n\nTODO: Do we want to add this?\n - ACCOUNT_INVITE_STATUS_CANCELED: The invite has been canceled (e.g., by an account admin)." + }, + "v1CreateAccountInviteResponse": { + "type": "object", + "properties": { + "invite": { + "$ref": "#/definitions/v1AccountInvite", + "description": "The created account invite." + } + }, + "description": "CreateAccountInviteResponse is the response from the CreateAccountInvite function." + }, "v1CreateAccountRequest": { "type": "object", "properties": { @@ -304,10 +727,24 @@ }, "description": "CreateAccountResponse is the response from the CreateAccount function." }, + "v1DeleteAccountInviteResponse": { + "type": "object", + "description": "DeleteAccountInviteResponse is the response from the DeleteAccountInvite function.\n\nEmpty" + }, "v1DeleteAccountResponse": { "type": "object", "description": "DeleteAccountResponse is the response from the DeleteAccount function.\n\nEmpty" }, + "v1GetAccountInviteResponse": { + "type": "object", + "properties": { + "invite": { + "$ref": "#/definitions/v1AccountInvite", + "description": "The retrieved account invite." + } + }, + "description": "GetAccountInviteResponse is the response from the GetAccountInvite function." + }, "v1GetAccountResponse": { "type": "object", "properties": { @@ -318,6 +755,20 @@ }, "title": "GetAccountResponse is the response from the GetAccount function" }, + "v1ListAccountInvitesResponse": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1AccountInvite" + }, + "description": "The list of account invites." + } + }, + "description": "ListAccountInvitesResponse is the response from the ListAccountInvites function." + }, "v1ListAccountsResponse": { "type": "object", "properties": { @@ -332,6 +783,30 @@ }, "title": "ListAccountsResponse is the response from the ListAccounts function" }, + "v1ListMyAccountInvitesResponse": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1AccountInvite" + }, + "description": "The list of account invites for the authenticated user." + } + }, + "description": "ListMyAccountInvitesResponse is the response from the ListMyAccountInvites function." + }, + "v1RejectOrganizationInviteResponse": { + "type": "object", + "properties": { + "invite": { + "$ref": "#/definitions/v1AccountInvite", + "description": "The invite that was rejected, with its status updated." + } + }, + "description": "RejectOrganizationInviteResponse is the response from the RejectOrganizationInvite function." + }, "v1UpdateAccountResponse": { "type": "object", "properties": { diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2.py b/gen/python/qdrant/cloud/account/v1/account_pb2.py index 5e578568..ed463d46 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2.py @@ -28,7 +28,7 @@ from qdrant.cloud.common.v1 import common_pb2 as qdrant_dot_cloud_dot_common_dot_v1_dot_common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%qdrant/cloud/account/v1/account.proto\x12\x17qdrant.cloud.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#qdrant/cloud/common/v1/common.proto\"\x15\n\x13ListAccountsRequest\"N\n\x14ListAccountsResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x05items\"<\n\x11GetAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"P\n\x12GetAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14\x43reateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15\x43reateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14UpdateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15UpdateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"?\n\x14\x44\x65leteAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x17\n\x15\x44\x65leteAccountResponse\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)2\xe1\x06\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}B\xfe\x01\n\x1b\x63om.qdrant.cloud.account.v1B\x0c\x41\x63\x63ountProtoP\x01ZRgithub.com/qdrant/qdrant-cloud-public-api/gen/go/qdrant/cloud/account/v1;accountv1\xa2\x02\x03QCA\xaa\x02\x17Qdrant.Cloud.Account.V1\xca\x02\x17Qdrant\\Cloud\\Account\\V1\xe2\x02#Qdrant\\Cloud\\Account\\V1\\GPBMetadata\xea\x02\x1aQdrant::Cloud::Account::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%qdrant/cloud/account/v1/account.proto\x12\x17qdrant.cloud.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#qdrant/cloud/common/v1/common.proto\"\x15\n\x13ListAccountsRequest\"N\n\x14ListAccountsResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x05items\"<\n\x11GetAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"P\n\x12GetAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14\x43reateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15\x43reateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14UpdateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15UpdateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"?\n\x14\x44\x65leteAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x17\n\x15\x44\x65leteAccountResponse\"D\n\x19ListAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Z\n\x1aListAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"\x87\x01\n\x1bListMyAccountInvitesRequest\x12V\n\rstatus_filter\x18\x01 \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusH\x00R\x0cstatusFilter\x88\x01\x01\x42\x10\n\x0e_status_filter\"\\\n\x1cListMyAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"i\n\x17GetAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"Z\n\x18GetAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\\\n\x1a\x43reateAccountInviteRequest\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"]\n\x1b\x43reateAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1a\x44\x65leteAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"\x1d\n\x1b\x44\x65leteAccountInviteResponse\"l\n\x1a\x41\x63\x63\x65ptAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1b\x41\x63\x63\x65ptAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"q\n\x1fRejectOrganizationInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"b\n RejectOrganizationInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)\"\xd7\x04\n\rAccountInvite\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\tR\x0b\x61\x63\x63ountName\x12\x1f\n\x05\x65mail\x18\x04 \x01(\tB\t\xbaH\x06r\x04\x10\x01`\x01R\x05\x65mail\x12*\n\x08role_ids\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\xb0\x01\x01R\x07roleIds\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x35\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12&\n\x0f\x63reated_by_name\x18\x08 \x01(\tR\rcreatedByName\x12\x39\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x44\n\x10last_modified_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12&\n\x07user_id\x18\x0b \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x06userId\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusR\x06statusB\n\n\x08_user_id*\xee\x01\n\x13\x41\x63\x63ountInviteStatus\x12%\n!ACCOUNT_INVITE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_PENDING\x10\x01\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_ACCEPTED\x10\x02\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_REJECTED\x10\x03\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_EXPIRED\x10\x04\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_CANCELED\x10\x05\x32\xaa\x12\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}\x12\xc4\x01\n\x12ListAccountInvites\x12\x32.qdrant.cloud.account.v1.ListAccountInvitesRequest\x1a\x33.qdrant.cloud.account.v1.ListAccountInvitesResponse\"E\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02/\x12-/api/account/v1/accounts/{account_id}/invites\x12\xb1\x01\n\x14ListMyAccountInvites\x12\x34.qdrant.cloud.account.v1.ListMyAccountInvitesRequest\x1a\x35.qdrant.cloud.account.v1.ListMyAccountInvitesResponse\",\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/account/v1/self/invites\x12\xd8\x01\n\x10GetAccountInvite\x12\x30.qdrant.cloud.account.v1.GetAccountInviteRequest\x1a\x31.qdrant.cloud.account.v1.GetAccountInviteResponse\"_\x8a\xb5\x18\x0cread:invites\x92\xb5\x18\naccount_id\x82\xd3\xe4\x93\x02;\x12\x39/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xe7\x01\n\x13\x43reateAccountInvite\x12\x33.qdrant.cloud.account.v1.CreateAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.CreateAccountInviteResponse\"e\x8a\xb5\x18\rwrite:invites\x92\xb5\x18\x11invite.account_id\x82\xd3\xe4\x93\x02\x39\"4/api/account/v1/accounts/{invite.account_id}/invites:\x01*\x12\xd5\x01\n\x13\x44\x65leteAccountInvite\x12\x33.qdrant.cloud.account.v1.DeleteAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.DeleteAccountInviteResponse\"S\x8a\xb5\x18\x0e\x64\x65lete:invites\x82\xd3\xe4\x93\x02;*9/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xce\x01\n\x13\x41\x63\x63\x65ptAccountInvite\x12\x33.qdrant.cloud.account.v1.AcceptAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.AcceptAccountInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/accept\x12\xdd\x01\n\x18RejectOrganizationInvite\x12\x38.qdrant.cloud.account.v1.RejectOrganizationInviteRequest\x1a\x39.qdrant.cloud.account.v1.RejectOrganizationInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/rejectB\xfe\x01\n\x1b\x63om.qdrant.cloud.account.v1B\x0c\x41\x63\x63ountProtoP\x01ZRgithub.com/qdrant/qdrant-cloud-public-api/gen/go/qdrant/cloud/account/v1;accountv1\xa2\x02\x03QCA\xaa\x02\x17Qdrant.Cloud.Account.V1\xca\x02\x17Qdrant\\Cloud\\Account\\V1\xe2\x02#Qdrant\\Cloud\\Account\\V1\\GPBMetadata\xea\x02\x1aQdrant::Cloud::Account::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -40,6 +40,24 @@ _globals['_GETACCOUNTREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_DELETEACCOUNTREQUEST'].fields_by_name['account_id']._loaded_options = None _globals['_DELETEACCOUNTREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_LISTACCOUNTINVITESREQUEST'].fields_by_name['account_id']._loaded_options = None + _globals['_LISTACCOUNTINVITESREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_GETACCOUNTINVITEREQUEST'].fields_by_name['account_id']._loaded_options = None + _globals['_GETACCOUNTINVITEREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_GETACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._loaded_options = None + _globals['_GETACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_DELETEACCOUNTINVITEREQUEST'].fields_by_name['account_id']._loaded_options = None + _globals['_DELETEACCOUNTINVITEREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_DELETEACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._loaded_options = None + _globals['_DELETEACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_ACCEPTACCOUNTINVITEREQUEST'].fields_by_name['account_id']._loaded_options = None + _globals['_ACCEPTACCOUNTINVITEREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_ACCEPTACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._loaded_options = None + _globals['_ACCEPTACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_REJECTORGANIZATIONINVITEREQUEST'].fields_by_name['account_id']._loaded_options = None + _globals['_REJECTORGANIZATIONINVITEREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_REJECTORGANIZATIONINVITEREQUEST'].fields_by_name['invite_id']._loaded_options = None + _globals['_REJECTORGANIZATIONINVITEREQUEST'].fields_by_name['invite_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_ACCOUNT'].fields_by_name['name']._loaded_options = None _globals['_ACCOUNT'].fields_by_name['name']._serialized_options = b'\272H\030r\026\020\004\030@2\020^[a-zA-Z0-9-_]+$' _globals['_ACCOUNT'].fields_by_name['owner_id']._loaded_options = None @@ -50,6 +68,18 @@ _globals['_ACCOUNT'].fields_by_name['privileges']._serialized_options = b'\272H\t\222\001\006\"\004r\002\020\001' _globals['_ACCOUNT']._loaded_options = None _globals['_ACCOUNT']._serialized_options = b'\272H\246\001\032\243\001\n\naccount.id\022\032value must be a valid UUID\032ythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)' + _globals['_ACCOUNTINVITE'].fields_by_name['id']._loaded_options = None + _globals['_ACCOUNTINVITE'].fields_by_name['id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_ACCOUNTINVITE'].fields_by_name['account_id']._loaded_options = None + _globals['_ACCOUNTINVITE'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_ACCOUNTINVITE'].fields_by_name['email']._loaded_options = None + _globals['_ACCOUNTINVITE'].fields_by_name['email']._serialized_options = b'\272H\006r\004\020\001`\001' + _globals['_ACCOUNTINVITE'].fields_by_name['role_ids']._loaded_options = None + _globals['_ACCOUNTINVITE'].fields_by_name['role_ids']._serialized_options = b'\272H\014\222\001\t\010\001\"\005r\003\260\001\001' + _globals['_ACCOUNTINVITE'].fields_by_name['created_by_user_id']._loaded_options = None + _globals['_ACCOUNTINVITE'].fields_by_name['created_by_user_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_ACCOUNTINVITE'].fields_by_name['user_id']._loaded_options = None + _globals['_ACCOUNTINVITE'].fields_by_name['user_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_ACCOUNTSERVICE'].methods_by_name['ListAccounts']._loaded_options = None _globals['_ACCOUNTSERVICE'].methods_by_name['ListAccounts']._serialized_options = b'\212\265\030\000\222\265\030\000\202\323\344\223\002\032\022\030/api/account/v1/accounts' _globals['_ACCOUNTSERVICE'].methods_by_name['GetAccount']._loaded_options = None @@ -60,6 +90,22 @@ _globals['_ACCOUNTSERVICE'].methods_by_name['UpdateAccount']._serialized_options = b'\212\265\030\rwrite:account\222\265\030\naccount.id\202\323\344\223\002*\032%/api/account/v1/accounts/{account.id}:\001*' _globals['_ACCOUNTSERVICE'].methods_by_name['DeleteAccount']._loaded_options = None _globals['_ACCOUNTSERVICE'].methods_by_name['DeleteAccount']._serialized_options = b'\212\265\030\016delete:account\202\323\344\223\002\'*%/api/account/v1/accounts/{account_id}' + _globals['_ACCOUNTSERVICE'].methods_by_name['ListAccountInvites']._loaded_options = None + _globals['_ACCOUNTSERVICE'].methods_by_name['ListAccountInvites']._serialized_options = b'\212\265\030\014read:invites\202\323\344\223\002/\022-/api/account/v1/accounts/{account_id}/invites' + _globals['_ACCOUNTSERVICE'].methods_by_name['ListMyAccountInvites']._loaded_options = None + _globals['_ACCOUNTSERVICE'].methods_by_name['ListMyAccountInvites']._serialized_options = b'\212\265\030\000\222\265\030\000\202\323\344\223\002\036\022\034/api/account/v1/self/invites' + _globals['_ACCOUNTSERVICE'].methods_by_name['GetAccountInvite']._loaded_options = None + _globals['_ACCOUNTSERVICE'].methods_by_name['GetAccountInvite']._serialized_options = b'\212\265\030\014read:invites\222\265\030\naccount_id\202\323\344\223\002;\0229/api/account/v1/accounts/{account_id}/invites/{invite_id}' + _globals['_ACCOUNTSERVICE'].methods_by_name['CreateAccountInvite']._loaded_options = None + _globals['_ACCOUNTSERVICE'].methods_by_name['CreateAccountInvite']._serialized_options = b'\212\265\030\rwrite:invites\222\265\030\021invite.account_id\202\323\344\223\0029\"4/api/account/v1/accounts/{invite.account_id}/invites:\001*' + _globals['_ACCOUNTSERVICE'].methods_by_name['DeleteAccountInvite']._loaded_options = None + _globals['_ACCOUNTSERVICE'].methods_by_name['DeleteAccountInvite']._serialized_options = b'\212\265\030\016delete:invites\202\323\344\223\002;*9/api/account/v1/accounts/{account_id}/invites/{invite_id}' + _globals['_ACCOUNTSERVICE'].methods_by_name['AcceptAccountInvite']._loaded_options = None + _globals['_ACCOUNTSERVICE'].methods_by_name['AcceptAccountInvite']._serialized_options = b'\212\265\030\000\202\323\344\223\002B\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/accept' + _globals['_ACCOUNTSERVICE'].methods_by_name['RejectOrganizationInvite']._loaded_options = None + _globals['_ACCOUNTSERVICE'].methods_by_name['RejectOrganizationInvite']._serialized_options = b'\212\265\030\000\202\323\344\223\002B\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/reject' + _globals['_ACCOUNTINVITESTATUS']._serialized_start=3320 + _globals['_ACCOUNTINVITESTATUS']._serialized_end=3558 _globals['_LISTACCOUNTSREQUEST']._serialized_start=195 _globals['_LISTACCOUNTSREQUEST']._serialized_end=216 _globals['_LISTACCOUNTSRESPONSE']._serialized_start=218 @@ -80,8 +126,38 @@ _globals['_DELETEACCOUNTREQUEST']._serialized_end=843 _globals['_DELETEACCOUNTRESPONSE']._serialized_start=845 _globals['_DELETEACCOUNTRESPONSE']._serialized_end=868 - _globals['_ACCOUNT']._serialized_start=871 - _globals['_ACCOUNT']._serialized_end=1372 - _globals['_ACCOUNTSERVICE']._serialized_start=1375 - _globals['_ACCOUNTSERVICE']._serialized_end=2240 + _globals['_LISTACCOUNTINVITESREQUEST']._serialized_start=870 + _globals['_LISTACCOUNTINVITESREQUEST']._serialized_end=938 + _globals['_LISTACCOUNTINVITESRESPONSE']._serialized_start=940 + _globals['_LISTACCOUNTINVITESRESPONSE']._serialized_end=1030 + _globals['_LISTMYACCOUNTINVITESREQUEST']._serialized_start=1033 + _globals['_LISTMYACCOUNTINVITESREQUEST']._serialized_end=1168 + _globals['_LISTMYACCOUNTINVITESRESPONSE']._serialized_start=1170 + _globals['_LISTMYACCOUNTINVITESRESPONSE']._serialized_end=1262 + _globals['_GETACCOUNTINVITEREQUEST']._serialized_start=1264 + _globals['_GETACCOUNTINVITEREQUEST']._serialized_end=1369 + _globals['_GETACCOUNTINVITERESPONSE']._serialized_start=1371 + _globals['_GETACCOUNTINVITERESPONSE']._serialized_end=1461 + _globals['_CREATEACCOUNTINVITEREQUEST']._serialized_start=1463 + _globals['_CREATEACCOUNTINVITEREQUEST']._serialized_end=1555 + _globals['_CREATEACCOUNTINVITERESPONSE']._serialized_start=1557 + _globals['_CREATEACCOUNTINVITERESPONSE']._serialized_end=1650 + _globals['_DELETEACCOUNTINVITEREQUEST']._serialized_start=1652 + _globals['_DELETEACCOUNTINVITEREQUEST']._serialized_end=1760 + _globals['_DELETEACCOUNTINVITERESPONSE']._serialized_start=1762 + _globals['_DELETEACCOUNTINVITERESPONSE']._serialized_end=1791 + _globals['_ACCEPTACCOUNTINVITEREQUEST']._serialized_start=1793 + _globals['_ACCEPTACCOUNTINVITEREQUEST']._serialized_end=1901 + _globals['_ACCEPTACCOUNTINVITERESPONSE']._serialized_start=1903 + _globals['_ACCEPTACCOUNTINVITERESPONSE']._serialized_end=1996 + _globals['_REJECTORGANIZATIONINVITEREQUEST']._serialized_start=1998 + _globals['_REJECTORGANIZATIONINVITEREQUEST']._serialized_end=2111 + _globals['_REJECTORGANIZATIONINVITERESPONSE']._serialized_start=2113 + _globals['_REJECTORGANIZATIONINVITERESPONSE']._serialized_end=2211 + _globals['_ACCOUNT']._serialized_start=2214 + _globals['_ACCOUNT']._serialized_end=2715 + _globals['_ACCOUNTINVITE']._serialized_start=2718 + _globals['_ACCOUNTINVITE']._serialized_end=3317 + _globals['_ACCOUNTSERVICE']._serialized_start=3561 + _globals['_ACCOUNTSERVICE']._serialized_end=5907 # @@protoc_insertion_point(module_scope) diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2.pyi b/gen/python/qdrant/cloud/account/v1/account_pb2.pyi index 83ab3037..ee864686 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2.pyi +++ b/gen/python/qdrant/cloud/account/v1/account_pb2.pyi @@ -3,12 +3,28 @@ from google.api import annotations_pb2 as _annotations_pb2 from google.protobuf import timestamp_pb2 as _timestamp_pb2 from qdrant.cloud.common.v1 import common_pb2 as _common_pb2 from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor +class AccountInviteStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ACCOUNT_INVITE_STATUS_UNSPECIFIED: _ClassVar[AccountInviteStatus] + ACCOUNT_INVITE_STATUS_PENDING: _ClassVar[AccountInviteStatus] + ACCOUNT_INVITE_STATUS_ACCEPTED: _ClassVar[AccountInviteStatus] + ACCOUNT_INVITE_STATUS_REJECTED: _ClassVar[AccountInviteStatus] + ACCOUNT_INVITE_STATUS_EXPIRED: _ClassVar[AccountInviteStatus] + ACCOUNT_INVITE_STATUS_CANCELED: _ClassVar[AccountInviteStatus] +ACCOUNT_INVITE_STATUS_UNSPECIFIED: AccountInviteStatus +ACCOUNT_INVITE_STATUS_PENDING: AccountInviteStatus +ACCOUNT_INVITE_STATUS_ACCEPTED: AccountInviteStatus +ACCOUNT_INVITE_STATUS_REJECTED: AccountInviteStatus +ACCOUNT_INVITE_STATUS_EXPIRED: AccountInviteStatus +ACCOUNT_INVITE_STATUS_CANCELED: AccountInviteStatus + class ListAccountsRequest(_message.Message): __slots__ = () def __init__(self) -> None: ... @@ -65,6 +81,96 @@ class DeleteAccountResponse(_message.Message): __slots__ = () def __init__(self) -> None: ... +class ListAccountInvitesRequest(_message.Message): + __slots__ = ("account_id",) + ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + account_id: str + def __init__(self, account_id: _Optional[str] = ...) -> None: ... + +class ListAccountInvitesResponse(_message.Message): + __slots__ = ("items",) + ITEMS_FIELD_NUMBER: _ClassVar[int] + items: _containers.RepeatedCompositeFieldContainer[AccountInvite] + def __init__(self, items: _Optional[_Iterable[_Union[AccountInvite, _Mapping]]] = ...) -> None: ... + +class ListMyAccountInvitesRequest(_message.Message): + __slots__ = ("status_filter",) + STATUS_FILTER_FIELD_NUMBER: _ClassVar[int] + status_filter: AccountInviteStatus + def __init__(self, status_filter: _Optional[_Union[AccountInviteStatus, str]] = ...) -> None: ... + +class ListMyAccountInvitesResponse(_message.Message): + __slots__ = ("items",) + ITEMS_FIELD_NUMBER: _ClassVar[int] + items: _containers.RepeatedCompositeFieldContainer[AccountInvite] + def __init__(self, items: _Optional[_Iterable[_Union[AccountInvite, _Mapping]]] = ...) -> None: ... + +class GetAccountInviteRequest(_message.Message): + __slots__ = ("account_id", "invite_id") + ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + INVITE_ID_FIELD_NUMBER: _ClassVar[int] + account_id: str + invite_id: str + def __init__(self, account_id: _Optional[str] = ..., invite_id: _Optional[str] = ...) -> None: ... + +class GetAccountInviteResponse(_message.Message): + __slots__ = ("invite",) + INVITE_FIELD_NUMBER: _ClassVar[int] + invite: AccountInvite + def __init__(self, invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... + +class CreateAccountInviteRequest(_message.Message): + __slots__ = ("invite",) + INVITE_FIELD_NUMBER: _ClassVar[int] + invite: AccountInvite + def __init__(self, invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... + +class CreateAccountInviteResponse(_message.Message): + __slots__ = ("invite",) + INVITE_FIELD_NUMBER: _ClassVar[int] + invite: AccountInvite + def __init__(self, invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... + +class DeleteAccountInviteRequest(_message.Message): + __slots__ = ("account_id", "invite_id") + ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + INVITE_ID_FIELD_NUMBER: _ClassVar[int] + account_id: str + invite_id: str + def __init__(self, account_id: _Optional[str] = ..., invite_id: _Optional[str] = ...) -> None: ... + +class DeleteAccountInviteResponse(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class AcceptAccountInviteRequest(_message.Message): + __slots__ = ("account_id", "invite_id") + ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + INVITE_ID_FIELD_NUMBER: _ClassVar[int] + account_id: str + invite_id: str + def __init__(self, account_id: _Optional[str] = ..., invite_id: _Optional[str] = ...) -> None: ... + +class AcceptAccountInviteResponse(_message.Message): + __slots__ = ("invite",) + INVITE_FIELD_NUMBER: _ClassVar[int] + invite: AccountInvite + def __init__(self, invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... + +class RejectOrganizationInviteRequest(_message.Message): + __slots__ = ("account_id", "invite_id") + ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + INVITE_ID_FIELD_NUMBER: _ClassVar[int] + account_id: str + invite_id: str + def __init__(self, account_id: _Optional[str] = ..., invite_id: _Optional[str] = ...) -> None: ... + +class RejectOrganizationInviteResponse(_message.Message): + __slots__ = ("invite",) + INVITE_FIELD_NUMBER: _ClassVar[int] + invite: AccountInvite + def __init__(self, invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... + class Account(_message.Message): __slots__ = ("id", "created_at", "last_modified_at", "name", "owner_id", "owner_email", "privileges") ID_FIELD_NUMBER: _ClassVar[int] @@ -82,3 +188,31 @@ class Account(_message.Message): owner_email: str privileges: _containers.RepeatedScalarFieldContainer[str] def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_modified_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., owner_id: _Optional[str] = ..., owner_email: _Optional[str] = ..., privileges: _Optional[_Iterable[str]] = ...) -> None: ... + +class AccountInvite(_message.Message): + __slots__ = ("id", "account_id", "account_name", "email", "role_ids", "created_at", "created_by_user_id", "created_by_name", "expires_at", "last_modified_at", "user_id", "status") + ID_FIELD_NUMBER: _ClassVar[int] + ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + ACCOUNT_NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_USER_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_NAME_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + LAST_MODIFIED_AT_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + id: str + account_id: str + account_name: str + email: str + role_ids: _containers.RepeatedScalarFieldContainer[str] + created_at: _timestamp_pb2.Timestamp + created_by_user_id: str + created_by_name: str + expires_at: _timestamp_pb2.Timestamp + last_modified_at: _timestamp_pb2.Timestamp + user_id: str + status: AccountInviteStatus + def __init__(self, id: _Optional[str] = ..., account_id: _Optional[str] = ..., account_name: _Optional[str] = ..., email: _Optional[str] = ..., role_ids: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_by_user_id: _Optional[str] = ..., created_by_name: _Optional[str] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_modified_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., user_id: _Optional[str] = ..., status: _Optional[_Union[AccountInviteStatus, str]] = ...) -> None: ... diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py index f4bb1e28..8a6867d4 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py @@ -40,6 +40,41 @@ def __init__(self, channel): request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountRequest.SerializeToString, response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountResponse.FromString, _registered_method=True) + self.ListAccountInvites = channel.unary_unary( + '/qdrant.cloud.account.v1.AccountService/ListAccountInvites', + request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesRequest.SerializeToString, + response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesResponse.FromString, + _registered_method=True) + self.ListMyAccountInvites = channel.unary_unary( + '/qdrant.cloud.account.v1.AccountService/ListMyAccountInvites', + request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesRequest.SerializeToString, + response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesResponse.FromString, + _registered_method=True) + self.GetAccountInvite = channel.unary_unary( + '/qdrant.cloud.account.v1.AccountService/GetAccountInvite', + request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.GetAccountInviteRequest.SerializeToString, + response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.GetAccountInviteResponse.FromString, + _registered_method=True) + self.CreateAccountInvite = channel.unary_unary( + '/qdrant.cloud.account.v1.AccountService/CreateAccountInvite', + request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.CreateAccountInviteRequest.SerializeToString, + response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.CreateAccountInviteResponse.FromString, + _registered_method=True) + self.DeleteAccountInvite = channel.unary_unary( + '/qdrant.cloud.account.v1.AccountService/DeleteAccountInvite', + request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountInviteRequest.SerializeToString, + response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountInviteResponse.FromString, + _registered_method=True) + self.AcceptAccountInvite = channel.unary_unary( + '/qdrant.cloud.account.v1.AccountService/AcceptAccountInvite', + request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteRequest.SerializeToString, + response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteResponse.FromString, + _registered_method=True) + self.RejectOrganizationInvite = channel.unary_unary( + '/qdrant.cloud.account.v1.AccountService/RejectOrganizationInvite', + request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteRequest.SerializeToString, + response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteResponse.FromString, + _registered_method=True) class AccountServiceServicer(object): @@ -91,6 +126,77 @@ def DeleteAccount(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ListAccountInvites(self, request, context): + """Fetch all account invites in the account identified by the given account ID. + The authenticated user must be a member of the account identifier by the given account ID. + Required permissions: + - read:invites + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListMyAccountInvites(self, request, context): + """Fetch all account invites for the authenticated user. + Required permissions: + - None (authenticated only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAccountInvite(self, request, context): + """Fetch an account invite by its id. + The authenticated user must be a member of the account that the invite is for. + Required permissions: + - read:invites + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateAccountInvite(self, request, context): + """Create a new account invite. + The authenticated user must be a member of the account that the invite is for. + Required permissions: + - write:invites + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteAccountInvite(self, request, context): + """Delete an account invite + The authenticated user must be a member of the account that the invite is for. + Required permissions: + - delete:invites + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AcceptAccountInvite(self, request, context): + """Accept an account invite + The authenticated user's email address must match the email address specified in + the invite. + Required permissions: + - None (authenticated only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RejectOrganizationInvite(self, request, context): + """Reject an account invite + The authenticated user's email address must match the email address specified in + the invite. + Required permissions: + - None (authenticated only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_AccountServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -119,6 +225,41 @@ def add_AccountServiceServicer_to_server(servicer, server): request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountRequest.FromString, response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountResponse.SerializeToString, ), + 'ListAccountInvites': grpc.unary_unary_rpc_method_handler( + servicer.ListAccountInvites, + request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesRequest.FromString, + response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesResponse.SerializeToString, + ), + 'ListMyAccountInvites': grpc.unary_unary_rpc_method_handler( + servicer.ListMyAccountInvites, + request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesRequest.FromString, + response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesResponse.SerializeToString, + ), + 'GetAccountInvite': grpc.unary_unary_rpc_method_handler( + servicer.GetAccountInvite, + request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.GetAccountInviteRequest.FromString, + response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.GetAccountInviteResponse.SerializeToString, + ), + 'CreateAccountInvite': grpc.unary_unary_rpc_method_handler( + servicer.CreateAccountInvite, + request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.CreateAccountInviteRequest.FromString, + response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.CreateAccountInviteResponse.SerializeToString, + ), + 'DeleteAccountInvite': grpc.unary_unary_rpc_method_handler( + servicer.DeleteAccountInvite, + request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountInviteRequest.FromString, + response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountInviteResponse.SerializeToString, + ), + 'AcceptAccountInvite': grpc.unary_unary_rpc_method_handler( + servicer.AcceptAccountInvite, + request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteRequest.FromString, + response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteResponse.SerializeToString, + ), + 'RejectOrganizationInvite': grpc.unary_unary_rpc_method_handler( + servicer.RejectOrganizationInvite, + request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteRequest.FromString, + response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'qdrant.cloud.account.v1.AccountService', rpc_method_handlers) @@ -265,3 +406,192 @@ def DeleteAccount(request, timeout, metadata, _registered_method=True) + + @staticmethod + def ListAccountInvites(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/qdrant.cloud.account.v1.AccountService/ListAccountInvites', + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesRequest.SerializeToString, + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ListMyAccountInvites(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/qdrant.cloud.account.v1.AccountService/ListMyAccountInvites', + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesRequest.SerializeToString, + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetAccountInvite(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/qdrant.cloud.account.v1.AccountService/GetAccountInvite', + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.GetAccountInviteRequest.SerializeToString, + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.GetAccountInviteResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CreateAccountInvite(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/qdrant.cloud.account.v1.AccountService/CreateAccountInvite', + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.CreateAccountInviteRequest.SerializeToString, + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.CreateAccountInviteResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DeleteAccountInvite(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/qdrant.cloud.account.v1.AccountService/DeleteAccountInvite', + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountInviteRequest.SerializeToString, + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.DeleteAccountInviteResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AcceptAccountInvite(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/qdrant.cloud.account.v1.AccountService/AcceptAccountInvite', + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteRequest.SerializeToString, + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def RejectOrganizationInvite(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/qdrant.cloud.account.v1.AccountService/RejectOrganizationInvite', + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteRequest.SerializeToString, + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts index c9ed9233..89141746 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts @@ -2,7 +2,7 @@ // @generated from file qdrant/cloud/account/v1/account.proto (package qdrant.cloud.account.v1, syntax proto3) /* eslint-disable */ -import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; +import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; import type { Message } from "@bufbuild/protobuf"; import type { Timestamp } from "@bufbuild/protobuf/wkt"; @@ -205,6 +205,322 @@ export declare type DeleteAccountResponse = Message<"qdrant.cloud.account.v1.Del */ export declare const DeleteAccountResponseSchema: GenMessage; +/** + * ListAccountInvitesRequest is the request for the ListAccountInvites function. + * + * @generated from message qdrant.cloud.account.v1.ListAccountInvitesRequest + */ +export declare type ListAccountInvitesRequest = Message<"qdrant.cloud.account.v1.ListAccountInvitesRequest"> & { + /** + * The identifier of the account (in GUID format) to list invites for. + * This is a required field. + * + * @generated from field: string account_id = 1; + */ + accountId: string; +}; + +/** + * Describes the message qdrant.cloud.account.v1.ListAccountInvitesRequest. + * Use `create(ListAccountInvitesRequestSchema)` to create a new message. + */ +export declare const ListAccountInvitesRequestSchema: GenMessage; + +/** + * ListAccountInvitesResponse is the response from the ListAccountInvites function. + * + * @generated from message qdrant.cloud.account.v1.ListAccountInvitesResponse + */ +export declare type ListAccountInvitesResponse = Message<"qdrant.cloud.account.v1.ListAccountInvitesResponse"> & { + /** + * The list of account invites. + * + * @generated from field: repeated qdrant.cloud.account.v1.AccountInvite items = 1; + */ + items: AccountInvite[]; +}; + +/** + * Describes the message qdrant.cloud.account.v1.ListAccountInvitesResponse. + * Use `create(ListAccountInvitesResponseSchema)` to create a new message. + */ +export declare const ListAccountInvitesResponseSchema: GenMessage; + +/** + * ListMyAccountInvitesRequest is the request for the ListMyAccountInvites function. + * This lists invites for the authenticated user across all accounts. + * + * @generated from message qdrant.cloud.account.v1.ListMyAccountInvitesRequest + */ +export declare type ListMyAccountInvitesRequest = Message<"qdrant.cloud.account.v1.ListMyAccountInvitesRequest"> & { + /** + * Optional: Filter invites by status (e.g. pending only). + * + * @generated from field: optional qdrant.cloud.account.v1.AccountInviteStatus status_filter = 1; + */ + statusFilter?: AccountInviteStatus; +}; + +/** + * Describes the message qdrant.cloud.account.v1.ListMyAccountInvitesRequest. + * Use `create(ListMyAccountInvitesRequestSchema)` to create a new message. + */ +export declare const ListMyAccountInvitesRequestSchema: GenMessage; + +/** + * ListMyAccountInvitesResponse is the response from the ListMyAccountInvites function. + * + * @generated from message qdrant.cloud.account.v1.ListMyAccountInvitesResponse + */ +export declare type ListMyAccountInvitesResponse = Message<"qdrant.cloud.account.v1.ListMyAccountInvitesResponse"> & { + /** + * The list of account invites for the authenticated user. + * + * @generated from field: repeated qdrant.cloud.account.v1.AccountInvite items = 1; + */ + items: AccountInvite[]; +}; + +/** + * Describes the message qdrant.cloud.account.v1.ListMyAccountInvitesResponse. + * Use `create(ListMyAccountInvitesResponseSchema)` to create a new message. + */ +export declare const ListMyAccountInvitesResponseSchema: GenMessage; + +/** + * GetAccountInviteRequest is the request for the GetAccountInvite function. + * + * @generated from message qdrant.cloud.account.v1.GetAccountInviteRequest + */ +export declare type GetAccountInviteRequest = Message<"qdrant.cloud.account.v1.GetAccountInviteRequest"> & { + /** + * The identifier of the account (in GUID format) the invite belongs to. + * This is a required field. + * + * @generated from field: string account_id = 1; + */ + accountId: string; + + /** + * The identifier of the invite (in GUID format). + * This is a required field. + * + * @generated from field: string invite_id = 2; + */ + inviteId: string; +}; + +/** + * Describes the message qdrant.cloud.account.v1.GetAccountInviteRequest. + * Use `create(GetAccountInviteRequestSchema)` to create a new message. + */ +export declare const GetAccountInviteRequestSchema: GenMessage; + +/** + * GetAccountInviteResponse is the response from the GetAccountInvite function. + * + * @generated from message qdrant.cloud.account.v1.GetAccountInviteResponse + */ +export declare type GetAccountInviteResponse = Message<"qdrant.cloud.account.v1.GetAccountInviteResponse"> & { + /** + * The retrieved account invite. + * + * @generated from field: qdrant.cloud.account.v1.AccountInvite invite = 1; + */ + invite?: AccountInvite; +}; + +/** + * Describes the message qdrant.cloud.account.v1.GetAccountInviteResponse. + * Use `create(GetAccountInviteResponseSchema)` to create a new message. + */ +export declare const GetAccountInviteResponseSchema: GenMessage; + +/** + * CreateAccountInviteRequest is the request for the CreateAccountInvite function. + * + * @generated from message qdrant.cloud.account.v1.CreateAccountInviteRequest + */ +export declare type CreateAccountInviteRequest = Message<"qdrant.cloud.account.v1.CreateAccountInviteRequest"> & { + /** + * The details of the invite to create. + * This is a required field. + * + * @generated from field: qdrant.cloud.account.v1.AccountInvite invite = 1; + */ + invite?: AccountInvite; +}; + +/** + * Describes the message qdrant.cloud.account.v1.CreateAccountInviteRequest. + * Use `create(CreateAccountInviteRequestSchema)` to create a new message. + */ +export declare const CreateAccountInviteRequestSchema: GenMessage; + +/** + * CreateAccountInviteResponse is the response from the CreateAccountInvite function. + * + * @generated from message qdrant.cloud.account.v1.CreateAccountInviteResponse + */ +export declare type CreateAccountInviteResponse = Message<"qdrant.cloud.account.v1.CreateAccountInviteResponse"> & { + /** + * The created account invite. + * + * @generated from field: qdrant.cloud.account.v1.AccountInvite invite = 1; + */ + invite?: AccountInvite; +}; + +/** + * Describes the message qdrant.cloud.account.v1.CreateAccountInviteResponse. + * Use `create(CreateAccountInviteResponseSchema)` to create a new message. + */ +export declare const CreateAccountInviteResponseSchema: GenMessage; + +/** + * DeleteAccountInviteRequest is the request for the DeleteAccountInvite function. + * + * @generated from message qdrant.cloud.account.v1.DeleteAccountInviteRequest + */ +export declare type DeleteAccountInviteRequest = Message<"qdrant.cloud.account.v1.DeleteAccountInviteRequest"> & { + /** + * The identifier of the account (in GUID format) the invite belongs to. + * This is a required field. + * + * @generated from field: string account_id = 1; + */ + accountId: string; + + /** + * The identifier of the invite (in GUID format) to delete. + * This is a required field. + * + * @generated from field: string invite_id = 2; + */ + inviteId: string; +}; + +/** + * Describes the message qdrant.cloud.account.v1.DeleteAccountInviteRequest. + * Use `create(DeleteAccountInviteRequestSchema)` to create a new message. + */ +export declare const DeleteAccountInviteRequestSchema: GenMessage; + +/** + * DeleteAccountInviteResponse is the response from the DeleteAccountInvite function. + * + * Empty + * + * @generated from message qdrant.cloud.account.v1.DeleteAccountInviteResponse + */ +export declare type DeleteAccountInviteResponse = Message<"qdrant.cloud.account.v1.DeleteAccountInviteResponse"> & { +}; + +/** + * Describes the message qdrant.cloud.account.v1.DeleteAccountInviteResponse. + * Use `create(DeleteAccountInviteResponseSchema)` to create a new message. + */ +export declare const DeleteAccountInviteResponseSchema: GenMessage; + +/** + * AcceptAccountInviteRequest is the request for the AcceptAccountInvite function. + * + * @generated from message qdrant.cloud.account.v1.AcceptAccountInviteRequest + */ +export declare type AcceptAccountInviteRequest = Message<"qdrant.cloud.account.v1.AcceptAccountInviteRequest"> & { + /** + * The identifier of the account (in GUID format) the invite is for. + * This is a required field. + * + * @generated from field: string account_id = 1; + */ + accountId: string; + + /** + * The identifier of the invite (in GUID format) to accept. + * This is a required field. + * + * @generated from field: string invite_id = 2; + */ + inviteId: string; +}; + +/** + * Describes the message qdrant.cloud.account.v1.AcceptAccountInviteRequest. + * Use `create(AcceptAccountInviteRequestSchema)` to create a new message. + */ +export declare const AcceptAccountInviteRequestSchema: GenMessage; + +/** + * AcceptAccountInviteResponse is the response from the AcceptAccountInvite function. + * + * @generated from message qdrant.cloud.account.v1.AcceptAccountInviteResponse + */ +export declare type AcceptAccountInviteResponse = Message<"qdrant.cloud.account.v1.AcceptAccountInviteResponse"> & { + /** + * The invite that was accepted, with its status updated. + * + * @generated from field: qdrant.cloud.account.v1.AccountInvite invite = 1; + */ + invite?: AccountInvite; +}; + +/** + * Describes the message qdrant.cloud.account.v1.AcceptAccountInviteResponse. + * Use `create(AcceptAccountInviteResponseSchema)` to create a new message. + */ +export declare const AcceptAccountInviteResponseSchema: GenMessage; + +/** + * RejectOrganizationInviteRequest is the request for the RejectOrganizationInvite function. + * Note: This RPC, despite its name, is used to reject an *Account Invite*. + * + * @generated from message qdrant.cloud.account.v1.RejectOrganizationInviteRequest + */ +export declare type RejectOrganizationInviteRequest = Message<"qdrant.cloud.account.v1.RejectOrganizationInviteRequest"> & { + /** + * The identifier of the account (in GUID format) the invite is for. + * This is a required field. + * + * @generated from field: string account_id = 1; + */ + accountId: string; + + /** + * The identifier of the invite (in GUID format) to reject. + * This is a required field. + * + * @generated from field: string invite_id = 2; + */ + inviteId: string; +}; + +/** + * Describes the message qdrant.cloud.account.v1.RejectOrganizationInviteRequest. + * Use `create(RejectOrganizationInviteRequestSchema)` to create a new message. + */ +export declare const RejectOrganizationInviteRequestSchema: GenMessage; + +/** + * RejectOrganizationInviteResponse is the response from the RejectOrganizationInvite function. + * + * @generated from message qdrant.cloud.account.v1.RejectOrganizationInviteResponse + */ +export declare type RejectOrganizationInviteResponse = Message<"qdrant.cloud.account.v1.RejectOrganizationInviteResponse"> & { + /** + * The invite that was rejected, with its status updated. + * + * @generated from field: qdrant.cloud.account.v1.AccountInvite invite = 1; + */ + invite?: AccountInvite; +}; + +/** + * Describes the message qdrant.cloud.account.v1.RejectOrganizationInviteResponse. + * Use `create(RejectOrganizationInviteResponseSchema)` to create a new message. + */ +export declare const RejectOrganizationInviteResponseSchema: GenMessage; + /** * An Account represents an account in the Qdrant cloud. * @@ -274,6 +590,176 @@ export declare type Account = Message<"qdrant.cloud.account.v1.Account"> & { */ export declare const AccountSchema: GenMessage; +/** + * An AccountInvite represents an invitation for a user to join an account. + * + * @generated from message qdrant.cloud.account.v1.AccountInvite + */ +export declare type AccountInvite = Message<"qdrant.cloud.account.v1.AccountInvite"> & { + /** + * Unique identifier for the invite (in GUID format). + * This is a read-only field, generated by the server. + * + * @generated from field: string id = 1; + */ + id: string; + + /** + * The identifier of the account this invite is for (in GUID format). + * This field is required when creating an invite. + * + * @generated from field: string account_id = 2; + */ + accountId: string; + + /** + * Human readable name of the account that the human is invited to join. + * This is a read-only value. + * + * @generated from field: string account_name = 3; + */ + accountName: string; + + /** + * The email address of the user being invited. + * This field is required when creating an invite. + * + * @generated from field: string email = 4; + */ + email: string; + + /** + * The identifiers of the roles to be assigned to the user upon accepting the invite. + * This field is required when creating an invite, and the list must not be empty. + * Each string in the list must be a valid UUID, to be resolved in the provided account. + * + * @generated from field: repeated string role_ids = 5; + */ + roleIds: string[]; + + /** + * The timestamp when the invite was created. + * This is a read-only field. + * + * @generated from field: google.protobuf.Timestamp created_at = 6; + */ + createdAt?: Timestamp; + + /** + * The identifier of the user who created the invite (in GUID format). + * This is a read-only field, populated by the server based on the authenticated user. + * + * TODO: Optional (for system generated invites)? + * + * @generated from field: string created_by_user_id = 7; + */ + createdByUserId: string; + + /** + * Name of the user that created this invite. + * This is a read-only value, populated by the server based on the created_by_user_id field. + * + * @generated from field: string created_by_name = 8; + */ + createdByName: string; + + /** + * The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire. + * This is a read-only field, potentially set at creation or managed by the server. + * + * TODO: Do we want to add this? + * + * @generated from field: google.protobuf.Timestamp expires_at = 9; + */ + expiresAt?: Timestamp; + + /** + * The timestamp when the invite was last updated (e.g., status change). + * This is a read-only field. + * + * @generated from field: google.protobuf.Timestamp last_modified_at = 10; + */ + lastModifiedAt?: Timestamp; + + /** + * Identifier of the user that accepted or rejected this invite. + * This is a read-only value. + * + * @generated from field: optional string user_id = 11; + */ + userId?: string; + + /** + * The status of the invite. + * This is a read-only field. + * + * @generated from field: qdrant.cloud.account.v1.AccountInviteStatus status = 12; + */ + status: AccountInviteStatus; +}; + +/** + * Describes the message qdrant.cloud.account.v1.AccountInvite. + * Use `create(AccountInviteSchema)` to create a new message. + */ +export declare const AccountInviteSchema: GenMessage; + +/** + * AccountInviteStatus defines the possible statuses of an account invitation. + * + * @generated from enum qdrant.cloud.account.v1.AccountInviteStatus + */ +export enum AccountInviteStatus { + /** + * Default, unspecified status. + * + * @generated from enum value: ACCOUNT_INVITE_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * The invite is pending and waiting for the user to accept or reject. + * + * @generated from enum value: ACCOUNT_INVITE_STATUS_PENDING = 1; + */ + PENDING = 1, + + /** + * The invite has been accepted by the user. + * + * @generated from enum value: ACCOUNT_INVITE_STATUS_ACCEPTED = 2; + */ + ACCEPTED = 2, + + /** + * The invite has been rejected by the user. + * + * @generated from enum value: ACCOUNT_INVITE_STATUS_REJECTED = 3; + */ + REJECTED = 3, + + /** + * The invite has expired. + * + * TODO: Do we want to add this? + * + * @generated from enum value: ACCOUNT_INVITE_STATUS_EXPIRED = 4; + */ + EXPIRED = 4, + + /** + * The invite has been canceled (e.g., by an account admin). + * + * @generated from enum value: ACCOUNT_INVITE_STATUS_CANCELED = 5; + */ + CANCELED = 5, +} + +/** + * Describes the enum qdrant.cloud.account.v1.AccountInviteStatus. + */ +export declare const AccountInviteStatusSchema: GenEnum; + /** * AccountService is the API used to configure Accounts. * @@ -340,5 +826,97 @@ export declare const AccountService: GenService<{ input: typeof DeleteAccountRequestSchema; output: typeof DeleteAccountResponseSchema; }, + /** + * Fetch all account invites in the account identified by the given account ID. + * The authenticated user must be a member of the account identifier by the given account ID. + * Required permissions: + * - read:invites + * + * @generated from rpc qdrant.cloud.account.v1.AccountService.ListAccountInvites + */ + listAccountInvites: { + methodKind: "unary"; + input: typeof ListAccountInvitesRequestSchema; + output: typeof ListAccountInvitesResponseSchema; + }, + /** + * Fetch all account invites for the authenticated user. + * Required permissions: + * - None (authenticated only) + * + * @generated from rpc qdrant.cloud.account.v1.AccountService.ListMyAccountInvites + */ + listMyAccountInvites: { + methodKind: "unary"; + input: typeof ListMyAccountInvitesRequestSchema; + output: typeof ListMyAccountInvitesResponseSchema; + }, + /** + * Fetch an account invite by its id. + * The authenticated user must be a member of the account that the invite is for. + * Required permissions: + * - read:invites + * + * @generated from rpc qdrant.cloud.account.v1.AccountService.GetAccountInvite + */ + getAccountInvite: { + methodKind: "unary"; + input: typeof GetAccountInviteRequestSchema; + output: typeof GetAccountInviteResponseSchema; + }, + /** + * Create a new account invite. + * The authenticated user must be a member of the account that the invite is for. + * Required permissions: + * - write:invites + * + * @generated from rpc qdrant.cloud.account.v1.AccountService.CreateAccountInvite + */ + createAccountInvite: { + methodKind: "unary"; + input: typeof CreateAccountInviteRequestSchema; + output: typeof CreateAccountInviteResponseSchema; + }, + /** + * Delete an account invite + * The authenticated user must be a member of the account that the invite is for. + * Required permissions: + * - delete:invites + * + * @generated from rpc qdrant.cloud.account.v1.AccountService.DeleteAccountInvite + */ + deleteAccountInvite: { + methodKind: "unary"; + input: typeof DeleteAccountInviteRequestSchema; + output: typeof DeleteAccountInviteResponseSchema; + }, + /** + * Accept an account invite + * The authenticated user's email address must match the email address specified in + * the invite. + * Required permissions: + * - None (authenticated only) + * + * @generated from rpc qdrant.cloud.account.v1.AccountService.AcceptAccountInvite + */ + acceptAccountInvite: { + methodKind: "unary"; + input: typeof AcceptAccountInviteRequestSchema; + output: typeof AcceptAccountInviteResponseSchema; + }, + /** + * Reject an account invite + * The authenticated user's email address must match the email address specified in + * the invite. + * Required permissions: + * - None (authenticated only) + * + * @generated from rpc qdrant.cloud.account.v1.AccountService.RejectOrganizationInvite + */ + rejectOrganizationInvite: { + methodKind: "unary"; + input: typeof RejectOrganizationInviteRequestSchema; + output: typeof RejectOrganizationInviteResponseSchema; + }, }>; diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.js b/gen/typescript/qdrant/cloud/account/v1/account_pb.js index 780f19d3..078a8f08 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.js +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.js @@ -2,7 +2,7 @@ // @generated from file qdrant/cloud/account/v1/account.proto (package qdrant.cloud.account.v1, syntax proto3) /* eslint-disable */ -import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; +import { enumDesc, fileDesc, messageDesc, serviceDesc, tsEnum } from "@bufbuild/protobuf/codegenv1"; import { file_buf_validate_validate } from "../../../../buf/validate/validate_pb.js"; import { file_google_api_annotations } from "../../../../google/api/annotations_pb.js"; import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; @@ -12,7 +12,7 @@ import { file_qdrant_cloud_common_v1_common } from "../../common/v1/common_pb.js * Describes the file qdrant/cloud/account/v1/account.proto. */ export const file_qdrant_cloud_account_v1_account = /*@__PURE__*/ - fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UirwMKB0FjY291bnQSCgoCaWQYASABKAkSLgoKY3JlYXRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQbGFzdF9tb2RpZmllZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKQoEbmFtZRgFIAEoCUIbukgYchYQBBhAMhBeW2EtekEtWjAtOS1fXSskEhoKCG93bmVyX2lkGAYgASgJQgi6SAVyA7ABARIcCgtvd25lcl9lbWFpbBgHIAEoCUIHukgEcgJgARIgCgpwcml2aWxlZ2VzGAggAygJQgy6SAmSAQYiBHICEAE6qgG6SKYBGqMBCgphY2NvdW50LmlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp5dGhpcy5pZC5tYXRjaGVzKCdeWzAtOWEtZkEtRl17OH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17MTJ9JCcpIHx8ICFoYXModGhpcy5jcmVhdGVkX2F0KTLhBgoOQWNjb3VudFNlcnZpY2USlQEKDExpc3RBY2NvdW50cxIsLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50c1JlcXVlc3QaLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5MaXN0QWNjb3VudHNSZXNwb25zZSIoirUYAJK1GACC0+STAhoSGC9hcGkvYWNjb3VudC92MS9hY2NvdW50cxKkAQoKR2V0QWNjb3VudBIqLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRSZXF1ZXN0GisucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudFJlc3BvbnNlIj2KtRgMcmVhZDphY2NvdW50gtPkkwInEiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9EpsBCg1DcmVhdGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuQ3JlYXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50UmVzcG9uc2UiK4q1GACStRgAgtPkkwIdOgEqIhgvYXBpL2FjY291bnQvdjEvYWNjb3VudHMSvwEKDVVwZGF0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5VcGRhdGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlVwZGF0ZUFjY291bnRSZXNwb25zZSJPirUYDXdyaXRlOmFjY291bnSStRgKYWNjb3VudC5pZILT5JMCKjoBKholL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50LmlkfRKvAQoNRGVsZXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudFJlc3BvbnNlIj+KtRgOZGVsZXRlOmFjY291bnSC0+STAicqJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH1C/gEKG2NvbS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MUIMQWNjb3VudFByb3RvUAFaUmdpdGh1Yi5jb20vcWRyYW50L3FkcmFudC1jbG91ZC1wdWJsaWMtYXBpL2dlbi9nby9xZHJhbnQvY2xvdWQvYWNjb3VudC92MTthY2NvdW50djGiAgNRQ0GqAhdRZHJhbnQuQ2xvdWQuQWNjb3VudC5WMcoCF1FkcmFudFxDbG91ZFxBY2NvdW50XFYx4gIjUWRyYW50XENsb3VkXEFjY291bnRcVjFcR1BCTWV0YWRhdGHqAhpRZHJhbnQ6OkNsb3VkOjpBY2NvdW50OjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); + fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UiOQoZTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJTChpMaXN0QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUieQobTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0EkgKDXN0YXR1c19maWx0ZXIYASABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzSACIAQFCEAoOX3N0YXR1c19maWx0ZXIiVQocTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVAoXR2V0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJSChhHZXRBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSJUChpDcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlUKG0NyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZRI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlcKGkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlcKGkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiVQobQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiXAofUmVqZWN0T3JnYW5pemF0aW9uSW52aXRlUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARIbCglpbnZpdGVfaWQYAiABKAlCCLpIBXIDsAEBIloKIFJlamVjdE9yZ2FuaXphdGlvbkludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUirwMKB0FjY291bnQSCgoCaWQYASABKAkSLgoKY3JlYXRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQbGFzdF9tb2RpZmllZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKQoEbmFtZRgFIAEoCUIbukgYchYQBBhAMhBeW2EtekEtWjAtOS1fXSskEhoKCG93bmVyX2lkGAYgASgJQgi6SAVyA7ABARIcCgtvd25lcl9lbWFpbBgHIAEoCUIHukgEcgJgARIgCgpwcml2aWxlZ2VzGAggAygJQgy6SAmSAQYiBHICEAE6qgG6SKYBGqMBCgphY2NvdW50LmlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp5dGhpcy5pZC5tYXRjaGVzKCdeWzAtOWEtZkEtRl17OH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17MTJ9JCcpIHx8ICFoYXModGhpcy5jcmVhdGVkX2F0KSLVAwoNQWNjb3VudEludml0ZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESHAoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQESFAoMYWNjb3VudF9uYW1lGAMgASgJEhgKBWVtYWlsGAQgASgJQgm6SAZyBBABYAESIQoIcm9sZV9pZHMYBSADKAlCD7pIDJIBCQgBIgVyA7ABARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIkChJjcmVhdGVkX2J5X3VzZXJfaWQYByABKAlCCLpIBXIDsAEBEhcKD2NyZWF0ZWRfYnlfbmFtZRgIIAEoCRIuCgpleHBpcmVzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBsYXN0X21vZGlmaWVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeCgd1c2VyX2lkGAsgASgJQgi6SAVyA7ABAUgAiAEBEjwKBnN0YXR1cxgMIAEoDjIsLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGVTdGF0dXNCCgoIX3VzZXJfaWQq7gEKE0FjY291bnRJbnZpdGVTdGF0dXMSJQohQUNDT1VOVF9JTlZJVEVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodQUNDT1VOVF9JTlZJVEVfU1RBVFVTX1BFTkRJTkcQARIiCh5BQ0NPVU5UX0lOVklURV9TVEFUVVNfQUNDRVBURUQQAhIiCh5BQ0NPVU5UX0lOVklURV9TVEFUVVNfUkVKRUNURUQQAxIhCh1BQ0NPVU5UX0lOVklURV9TVEFUVVNfRVhQSVJFRBAEEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19DQU5DRUxFRBAFMqoSCg5BY2NvdW50U2VydmljZRKVAQoMTGlzdEFjY291bnRzEiwucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRzUmVxdWVzdBotLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50c1Jlc3BvbnNlIiiKtRgAkrUYAILT5JMCGhIYL2FwaS9hY2NvdW50L3YxL2FjY291bnRzEqQBCgpHZXRBY2NvdW50EioucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudFJlcXVlc3QaKy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50UmVzcG9uc2UiPYq1GAxyZWFkOmFjY291bnSC0+STAicSJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0SmwEKDUNyZWF0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRSZXNwb25zZSIrirUYAJK1GACC0+STAh06ASoiGC9hcGkvYWNjb3VudC92MS9hY2NvdW50cxK/AQoNVXBkYXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuVXBkYXRlQWNjb3VudFJlc3BvbnNlIk+KtRgNd3JpdGU6YWNjb3VudJK1GAphY2NvdW50LmlkgtPkkwIqOgEqGiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnQuaWR9Eq8BCg1EZWxldGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50UmVzcG9uc2UiP4q1GA5kZWxldGU6YWNjb3VudILT5JMCJyolL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfRLEAQoSTGlzdEFjY291bnRJbnZpdGVzEjIucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBozLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50SW52aXRlc1Jlc3BvbnNlIkWKtRgMcmVhZDppbnZpdGVzgtPkkwIvEi0vYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMSsQEKFExpc3RNeUFjY291bnRJbnZpdGVzEjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0GjUucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZSIsirUYAJK1GACC0+STAh4SHC9hcGkvYWNjb3VudC92MS9zZWxmL2ludml0ZXMS2AEKEEdldEFjY291bnRJbnZpdGUSMC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50SW52aXRlUmVxdWVzdBoxLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRJbnZpdGVSZXNwb25zZSJfirUYDHJlYWQ6aW52aXRlc5K1GAphY2NvdW50X2lkgtPkkwI7EjkvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0S5wEKE0NyZWF0ZUFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZSJlirUYDXdyaXRlOmludml0ZXOStRgRaW52aXRlLmFjY291bnRfaWSC0+STAjk6ASoiNC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97aW52aXRlLmFjY291bnRfaWR9L2ludml0ZXMS1QEKE0RlbGV0ZUFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRJbnZpdGVSZXNwb25zZSJTirUYDmRlbGV0ZTppbnZpdGVzgtPkkwI7KjkvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0SzgEKE0FjY2VwdEFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NlcHRBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY2VwdEFjY291bnRJbnZpdGVSZXNwb25zZSJMirUYAILT5JMCQiJAL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9L2FjY2VwdBLdAQoYUmVqZWN0T3JnYW5pemF0aW9uSW52aXRlEjgucWRyYW50LmNsb3VkLmFjY291bnQudjEuUmVqZWN0T3JnYW5pemF0aW9uSW52aXRlUmVxdWVzdBo5LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlJlamVjdE9yZ2FuaXphdGlvbkludml0ZVJlc3BvbnNlIkyKtRgAgtPkkwJCIkAvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0vcmVqZWN0Qv4BChtjb20ucWRyYW50LmNsb3VkLmFjY291bnQudjFCDEFjY291bnRQcm90b1ABWlJnaXRodWIuY29tL3FkcmFudC9xZHJhbnQtY2xvdWQtcHVibGljLWFwaS9nZW4vZ28vcWRyYW50L2Nsb3VkL2FjY291bnQvdjE7YWNjb3VudHYxogIDUUNBqgIXUWRyYW50LkNsb3VkLkFjY291bnQuVjHKAhdRZHJhbnRcQ2xvdWRcQWNjb3VudFxWMeICI1FkcmFudFxDbG91ZFxBY2NvdW50XFYxXEdQQk1ldGFkYXRh6gIaUWRyYW50OjpDbG91ZDo6QWNjb3VudDo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); /** * Describes the message qdrant.cloud.account.v1.ListAccountsRequest. @@ -84,12 +84,131 @@ export const DeleteAccountRequestSchema = /*@__PURE__*/ export const DeleteAccountResponseSchema = /*@__PURE__*/ messageDesc(file_qdrant_cloud_account_v1_account, 9); +/** + * Describes the message qdrant.cloud.account.v1.ListAccountInvitesRequest. + * Use `create(ListAccountInvitesRequestSchema)` to create a new message. + */ +export const ListAccountInvitesRequestSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 10); + +/** + * Describes the message qdrant.cloud.account.v1.ListAccountInvitesResponse. + * Use `create(ListAccountInvitesResponseSchema)` to create a new message. + */ +export const ListAccountInvitesResponseSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 11); + +/** + * Describes the message qdrant.cloud.account.v1.ListMyAccountInvitesRequest. + * Use `create(ListMyAccountInvitesRequestSchema)` to create a new message. + */ +export const ListMyAccountInvitesRequestSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 12); + +/** + * Describes the message qdrant.cloud.account.v1.ListMyAccountInvitesResponse. + * Use `create(ListMyAccountInvitesResponseSchema)` to create a new message. + */ +export const ListMyAccountInvitesResponseSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 13); + +/** + * Describes the message qdrant.cloud.account.v1.GetAccountInviteRequest. + * Use `create(GetAccountInviteRequestSchema)` to create a new message. + */ +export const GetAccountInviteRequestSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 14); + +/** + * Describes the message qdrant.cloud.account.v1.GetAccountInviteResponse. + * Use `create(GetAccountInviteResponseSchema)` to create a new message. + */ +export const GetAccountInviteResponseSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 15); + +/** + * Describes the message qdrant.cloud.account.v1.CreateAccountInviteRequest. + * Use `create(CreateAccountInviteRequestSchema)` to create a new message. + */ +export const CreateAccountInviteRequestSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 16); + +/** + * Describes the message qdrant.cloud.account.v1.CreateAccountInviteResponse. + * Use `create(CreateAccountInviteResponseSchema)` to create a new message. + */ +export const CreateAccountInviteResponseSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 17); + +/** + * Describes the message qdrant.cloud.account.v1.DeleteAccountInviteRequest. + * Use `create(DeleteAccountInviteRequestSchema)` to create a new message. + */ +export const DeleteAccountInviteRequestSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 18); + +/** + * Describes the message qdrant.cloud.account.v1.DeleteAccountInviteResponse. + * Use `create(DeleteAccountInviteResponseSchema)` to create a new message. + */ +export const DeleteAccountInviteResponseSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 19); + +/** + * Describes the message qdrant.cloud.account.v1.AcceptAccountInviteRequest. + * Use `create(AcceptAccountInviteRequestSchema)` to create a new message. + */ +export const AcceptAccountInviteRequestSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 20); + +/** + * Describes the message qdrant.cloud.account.v1.AcceptAccountInviteResponse. + * Use `create(AcceptAccountInviteResponseSchema)` to create a new message. + */ +export const AcceptAccountInviteResponseSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 21); + +/** + * Describes the message qdrant.cloud.account.v1.RejectOrganizationInviteRequest. + * Use `create(RejectOrganizationInviteRequestSchema)` to create a new message. + */ +export const RejectOrganizationInviteRequestSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 22); + +/** + * Describes the message qdrant.cloud.account.v1.RejectOrganizationInviteResponse. + * Use `create(RejectOrganizationInviteResponseSchema)` to create a new message. + */ +export const RejectOrganizationInviteResponseSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 23); + /** * Describes the message qdrant.cloud.account.v1.Account. * Use `create(AccountSchema)` to create a new message. */ export const AccountSchema = /*@__PURE__*/ - messageDesc(file_qdrant_cloud_account_v1_account, 10); + messageDesc(file_qdrant_cloud_account_v1_account, 24); + +/** + * Describes the message qdrant.cloud.account.v1.AccountInvite. + * Use `create(AccountInviteSchema)` to create a new message. + */ +export const AccountInviteSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 25); + +/** + * Describes the enum qdrant.cloud.account.v1.AccountInviteStatus. + */ +export const AccountInviteStatusSchema = /*@__PURE__*/ + enumDesc(file_qdrant_cloud_account_v1_account, 0); + +/** + * AccountInviteStatus defines the possible statuses of an account invitation. + * + * @generated from enum qdrant.cloud.account.v1.AccountInviteStatus + */ +export const AccountInviteStatus = /*@__PURE__*/ + tsEnum(AccountInviteStatusSchema); /** * AccountService is the API used to configure Accounts. diff --git a/proto/qdrant/cloud/account/v1/account.proto b/proto/qdrant/cloud/account/v1/account.proto index 858d20fa..332eedc5 100644 --- a/proto/qdrant/cloud/account/v1/account.proto +++ b/proto/qdrant/cloud/account/v1/account.proto @@ -66,6 +66,86 @@ service AccountService { // gRPC Gateway REST call option (google.api.http) = {delete: "/api/account/v1/accounts/{account_id}"}; } + // Fetch all account invites in the account identified by the given account ID. + // The authenticated user must be a member of the account identifier by the given account ID. + // Required permissions: + // - read:invites + rpc ListAccountInvites(ListAccountInvitesRequest) returns (ListAccountInvitesResponse) { + // permissions + option (common.v1.permissions) = "read:invites"; + // gRPC Gateway REST call + option (google.api.http) = {get: "/api/account/v1/accounts/{account_id}/invites"}; + } + // Fetch all account invites for the authenticated user. + // Required permissions: + // - None (authenticated only) + rpc ListMyAccountInvites(ListMyAccountInvitesRequest) returns (ListMyAccountInvitesResponse) { + // permissions + option (common.v1.permissions) = ""; + // custom account-id expression + option (qdrant.cloud.common.v1.account_id_expression) = ""; + // gRPC Gateway REST call + option (google.api.http) = {get: "/api/account/v1/self/invites"}; + } + // Fetch an account invite by its id. + // The authenticated user must be a member of the account that the invite is for. + // Required permissions: + // - read:invites + rpc GetAccountInvite(GetAccountInviteRequest) returns (GetAccountInviteResponse) { + // permissions + option (common.v1.permissions) = "read:invites"; + // custom account-id expression + option (qdrant.cloud.common.v1.account_id_expression) = "account_id"; // TODO: Remove? + // gRPC Gateway REST call + option (google.api.http) = {get: "/api/account/v1/accounts/{account_id}/invites/{invite_id}"}; + } + // Create a new account invite. + // The authenticated user must be a member of the account that the invite is for. + // Required permissions: + // - write:invites + rpc CreateAccountInvite(CreateAccountInviteRequest) returns (CreateAccountInviteResponse) { + // permissions + option (common.v1.permissions) = "write:invites"; + // custom account-id expression + option (qdrant.cloud.common.v1.account_id_expression) = "invite.account_id"; + // gRPC Gateway REST call + option (google.api.http) = { + post: "/api/account/v1/accounts/{invite.account_id}/invites" + body: "*" + }; + } + // Delete an account invite + // The authenticated user must be a member of the account that the invite is for. + // Required permissions: + // - delete:invites + rpc DeleteAccountInvite(DeleteAccountInviteRequest) returns (DeleteAccountInviteResponse) { + // permissions + option (common.v1.permissions) = "delete:invites"; + // gRPC Gateway REST call + option (google.api.http) = {delete: "/api/account/v1/accounts/{account_id}/invites/{invite_id}"}; + } + // Accept an account invite + // The authenticated user's email address must match the email address specified in + // the invite. + // Required permissions: + // - None (authenticated only) + rpc AcceptAccountInvite(AcceptAccountInviteRequest) returns (AcceptAccountInviteResponse) { + // permissions + option (common.v1.permissions) = ""; + // gRPC Gateway REST call + option (google.api.http) = {post: "/api/account/v1/accounts/{account_id}/invites/{invite_id}/accept"}; + } + // Reject an account invite + // The authenticated user's email address must match the email address specified in + // the invite. + // Required permissions: + // - None (authenticated only) + rpc RejectOrganizationInvite(RejectOrganizationInviteRequest) returns (RejectOrganizationInviteResponse) { + // permissions + option (common.v1.permissions) = ""; + // gRPC Gateway REST call + option (google.api.http) = {post: "/api/account/v1/accounts/{account_id}/invites/{invite_id}/reject"}; + } } // buf:lint:ignore QDRANT_CLOUD_REQUIRED_REQUEST_FIELDS @@ -129,6 +209,110 @@ message DeleteAccountResponse { // Empty } +// ListAccountInvitesRequest is the request for the ListAccountInvites function. +message ListAccountInvitesRequest { + // The identifier of the account (in GUID format) to list invites for. + // This is a required field. + string account_id = 1 [(buf.validate.field).string = {uuid: true}]; +} + +// ListAccountInvitesResponse is the response from the ListAccountInvites function. +message ListAccountInvitesResponse { + // The list of account invites. + repeated AccountInvite items = 1; +} + +// ListMyAccountInvitesRequest is the request for the ListMyAccountInvites function. +// This lists invites for the authenticated user across all accounts. +// buf:lint:ignore QDRANT_CLOUD_REQUIRED_REQUEST_FIELDS +message ListMyAccountInvitesRequest { + // Optional: Filter invites by status (e.g. pending only). + optional AccountInviteStatus status_filter = 1; +} + +// ListMyAccountInvitesResponse is the response from the ListMyAccountInvites function. +message ListMyAccountInvitesResponse { + // The list of account invites for the authenticated user. + repeated AccountInvite items = 1; +} + +// GetAccountInviteRequest is the request for the GetAccountInvite function. +message GetAccountInviteRequest { + // The identifier of the account (in GUID format) the invite belongs to. + // This is a required field. + string account_id = 1 [(buf.validate.field).string = {uuid: true}]; + // The identifier of the invite (in GUID format). + // This is a required field. + string invite_id = 2 [(buf.validate.field).string = {uuid: true}]; +} + +// GetAccountInviteResponse is the response from the GetAccountInvite function. +message GetAccountInviteResponse { + // The retrieved account invite. + AccountInvite invite = 1; +} + +// CreateAccountInviteRequest is the request for the CreateAccountInvite function. +message CreateAccountInviteRequest { + // The details of the invite to create. + // This is a required field. + AccountInvite invite = 1; +} + +// CreateAccountInviteResponse is the response from the CreateAccountInvite function. +message CreateAccountInviteResponse { + // The created account invite. + AccountInvite invite = 1; +} + +// DeleteAccountInviteRequest is the request for the DeleteAccountInvite function. +message DeleteAccountInviteRequest { + // The identifier of the account (in GUID format) the invite belongs to. + // This is a required field. + string account_id = 1 [(buf.validate.field).string = {uuid: true}]; + // The identifier of the invite (in GUID format) to delete. + // This is a required field. + string invite_id = 2 [(buf.validate.field).string = {uuid: true}]; +} + +// DeleteAccountInviteResponse is the response from the DeleteAccountInvite function. +message DeleteAccountInviteResponse { + // Empty +} + +// AcceptAccountInviteRequest is the request for the AcceptAccountInvite function. +message AcceptAccountInviteRequest { + // The identifier of the account (in GUID format) the invite is for. + // This is a required field. + string account_id = 1 [(buf.validate.field).string = {uuid: true}]; + // The identifier of the invite (in GUID format) to accept. + // This is a required field. + string invite_id = 2 [(buf.validate.field).string = {uuid: true}]; +} + +// AcceptAccountInviteResponse is the response from the AcceptAccountInvite function. +message AcceptAccountInviteResponse { + // The invite that was accepted, with its status updated. + AccountInvite invite = 1; +} + +// RejectOrganizationInviteRequest is the request for the RejectOrganizationInvite function. +// Note: This RPC, despite its name, is used to reject an *Account Invite*. +message RejectOrganizationInviteRequest { + // The identifier of the account (in GUID format) the invite is for. + // This is a required field. + string account_id = 1 [(buf.validate.field).string = {uuid: true}]; + // The identifier of the invite (in GUID format) to reject. + // This is a required field. + string invite_id = 2 [(buf.validate.field).string = {uuid: true}]; +} + +// RejectOrganizationInviteResponse is the response from the RejectOrganizationInvite function. +message RejectOrganizationInviteResponse { + // The invite that was rejected, with its status updated. + AccountInvite invite = 1; +} + // buf:lint:ignore QDRANT_CLOUD_REQUIRED_ENTITY_FIELDS // An Account represents an account in the Qdrant cloud. message Account { @@ -163,3 +347,69 @@ message Account { // This is a read-only field. repeated string privileges = 8 [(buf.validate.field).repeated.items.string = {min_len: 1}]; } + +// buf:lint:ignore QDRANT_CLOUD_REQUIRED_ENTITY_FIELDS +// An AccountInvite represents an invitation for a user to join an account. +message AccountInvite { + // Unique identifier for the invite (in GUID format). + // This is a read-only field, generated by the server. + string id = 1 [(buf.validate.field).string = {uuid: true}]; + // The identifier of the account this invite is for (in GUID format). + // This field is required when creating an invite. + string account_id = 2 [(buf.validate.field).string = {uuid: true}]; + // Human readable name of the account that the human is invited to join. + // This is a read-only value. + string account_name = 3; + // The email address of the user being invited. + // This field is required when creating an invite. + string email = 4 [(buf.validate.field).string = { + email: true + min_len: 1 + }]; + // The identifiers of the roles to be assigned to the user upon accepting the invite. + // This field is required when creating an invite, and the list must not be empty. + // Each string in the list must be a valid UUID, to be resolved in the provided account. + repeated string role_ids = 5 [(buf.validate.field).repeated = { + min_items: 1 // Ensure at least one role ID is provided + items: { + string: {uuid: true} + } + }]; + // The timestamp when the invite was created. + // This is a read-only field. + google.protobuf.Timestamp created_at = 6; + // The identifier of the user who created the invite (in GUID format). + // This is a read-only field, populated by the server based on the authenticated user. + string created_by_user_id = 7 [(buf.validate.field).string = {uuid: true}]; // TODO: Optional (for system generated invites)? + // Name of the user that created this invite. + // This is a read-only value, populated by the server based on the created_by_user_id field. + string created_by_name = 8; + // The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire. + // This is a read-only field, potentially set at creation or managed by the server. + google.protobuf.Timestamp expires_at = 9; // TODO: Do we want to add this? + // The timestamp when the invite was last updated (e.g., status change). + // This is a read-only field. + google.protobuf.Timestamp last_modified_at = 10; + // Identifier of the user that accepted or rejected this invite. + // This is a read-only value. + optional string user_id = 11 [(buf.validate.field).string = {uuid: true}]; + // The status of the invite. + // This is a read-only field. + AccountInviteStatus status = 12; +} + +// AccountInviteStatus defines the possible statuses of an account invitation. +enum AccountInviteStatus { + // Default, unspecified status. + ACCOUNT_INVITE_STATUS_UNSPECIFIED = 0; + // The invite is pending and waiting for the user to accept or reject. + ACCOUNT_INVITE_STATUS_PENDING = 1; + // The invite has been accepted by the user. + ACCOUNT_INVITE_STATUS_ACCEPTED = 2; + // The invite has been rejected by the user. + ACCOUNT_INVITE_STATUS_REJECTED = 3; + // The invite has expired. + ACCOUNT_INVITE_STATUS_EXPIRED = 4; // TODO: Do we want to add this? + // The invite has been canceled (e.g., by an account admin). + ACCOUNT_INVITE_STATUS_CANCELED = 5; +} From 4277e6e4cdb6b1545836aeb66c943431d3d67784 Mon Sep 17 00:00:00 2001 From: Robert-Stam Date: Fri, 6 Jun 2025 14:58:37 +0200 Subject: [PATCH 2/6] Resolved TODO --- gen/go/qdrant/cloud/account/v1/account.pb.go | 141 +++++++++--------- .../qdrant/cloud/account/v1/account_pb2.py | 6 +- .../qdrant/cloud/account/v1/account_pb.js | 2 +- proto/qdrant/cloud/account/v1/account.proto | 2 - 4 files changed, 74 insertions(+), 77 deletions(-) diff --git a/gen/go/qdrant/cloud/account/v1/account.pb.go b/gen/go/qdrant/cloud/account/v1/account.pb.go index 8c343a78..c42aa9e1 100644 --- a/gen/go/qdrant/cloud/account/v1/account.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account.pb.go @@ -1707,7 +1707,7 @@ var file_qdrant_cloud_account_v1_account_proto_rawDesc = string([]byte{ 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, - 0x45, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x32, 0xaa, 0x12, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x45, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x32, 0x9c, 0x12, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, @@ -1785,7 +1785,7 @@ var file_qdrant_cloud_account_v1_account_proto_rawDesc = string([]byte{ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x6c, 0x66, 0x2f, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xca, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, @@ -1793,84 +1793,83 @@ var file_qdrant_cloud_account_v1_account_proto_rawDesc = string([]byte{ 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x5f, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x73, 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, - 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xe7, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, - 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x65, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x92, 0xb5, 0x18, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x8a, - 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, + 0x51, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, - 0x64, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, + 0x64, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, - 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x12, 0xdd, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x12, 0x38, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, - 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, - 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6a, - 0x65, 0x63, 0x74, 0x42, 0xfe, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x92, 0xb5, 0x18, 0x11, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, + 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, - 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, 0x02, 0x17, - 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, - 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, - 0x31, 0xe2, 0x02, 0x23, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, - 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x53, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0xdd, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x12, 0x38, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, + 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0xfe, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, + 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, + 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x23, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2.py b/gen/python/qdrant/cloud/account/v1/account_pb2.py index ed463d46..8b4c7e44 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2.py @@ -28,7 +28,7 @@ from qdrant.cloud.common.v1 import common_pb2 as qdrant_dot_cloud_dot_common_dot_v1_dot_common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%qdrant/cloud/account/v1/account.proto\x12\x17qdrant.cloud.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#qdrant/cloud/common/v1/common.proto\"\x15\n\x13ListAccountsRequest\"N\n\x14ListAccountsResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x05items\"<\n\x11GetAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"P\n\x12GetAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14\x43reateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15\x43reateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14UpdateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15UpdateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"?\n\x14\x44\x65leteAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x17\n\x15\x44\x65leteAccountResponse\"D\n\x19ListAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Z\n\x1aListAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"\x87\x01\n\x1bListMyAccountInvitesRequest\x12V\n\rstatus_filter\x18\x01 \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusH\x00R\x0cstatusFilter\x88\x01\x01\x42\x10\n\x0e_status_filter\"\\\n\x1cListMyAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"i\n\x17GetAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"Z\n\x18GetAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\\\n\x1a\x43reateAccountInviteRequest\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"]\n\x1b\x43reateAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1a\x44\x65leteAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"\x1d\n\x1b\x44\x65leteAccountInviteResponse\"l\n\x1a\x41\x63\x63\x65ptAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1b\x41\x63\x63\x65ptAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"q\n\x1fRejectOrganizationInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"b\n RejectOrganizationInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)\"\xd7\x04\n\rAccountInvite\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\tR\x0b\x61\x63\x63ountName\x12\x1f\n\x05\x65mail\x18\x04 \x01(\tB\t\xbaH\x06r\x04\x10\x01`\x01R\x05\x65mail\x12*\n\x08role_ids\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\xb0\x01\x01R\x07roleIds\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x35\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12&\n\x0f\x63reated_by_name\x18\x08 \x01(\tR\rcreatedByName\x12\x39\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x44\n\x10last_modified_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12&\n\x07user_id\x18\x0b \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x06userId\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusR\x06statusB\n\n\x08_user_id*\xee\x01\n\x13\x41\x63\x63ountInviteStatus\x12%\n!ACCOUNT_INVITE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_PENDING\x10\x01\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_ACCEPTED\x10\x02\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_REJECTED\x10\x03\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_EXPIRED\x10\x04\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_CANCELED\x10\x05\x32\xaa\x12\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}\x12\xc4\x01\n\x12ListAccountInvites\x12\x32.qdrant.cloud.account.v1.ListAccountInvitesRequest\x1a\x33.qdrant.cloud.account.v1.ListAccountInvitesResponse\"E\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02/\x12-/api/account/v1/accounts/{account_id}/invites\x12\xb1\x01\n\x14ListMyAccountInvites\x12\x34.qdrant.cloud.account.v1.ListMyAccountInvitesRequest\x1a\x35.qdrant.cloud.account.v1.ListMyAccountInvitesResponse\",\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/account/v1/self/invites\x12\xd8\x01\n\x10GetAccountInvite\x12\x30.qdrant.cloud.account.v1.GetAccountInviteRequest\x1a\x31.qdrant.cloud.account.v1.GetAccountInviteResponse\"_\x8a\xb5\x18\x0cread:invites\x92\xb5\x18\naccount_id\x82\xd3\xe4\x93\x02;\x12\x39/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xe7\x01\n\x13\x43reateAccountInvite\x12\x33.qdrant.cloud.account.v1.CreateAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.CreateAccountInviteResponse\"e\x8a\xb5\x18\rwrite:invites\x92\xb5\x18\x11invite.account_id\x82\xd3\xe4\x93\x02\x39\"4/api/account/v1/accounts/{invite.account_id}/invites:\x01*\x12\xd5\x01\n\x13\x44\x65leteAccountInvite\x12\x33.qdrant.cloud.account.v1.DeleteAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.DeleteAccountInviteResponse\"S\x8a\xb5\x18\x0e\x64\x65lete:invites\x82\xd3\xe4\x93\x02;*9/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xce\x01\n\x13\x41\x63\x63\x65ptAccountInvite\x12\x33.qdrant.cloud.account.v1.AcceptAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.AcceptAccountInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/accept\x12\xdd\x01\n\x18RejectOrganizationInvite\x12\x38.qdrant.cloud.account.v1.RejectOrganizationInviteRequest\x1a\x39.qdrant.cloud.account.v1.RejectOrganizationInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/rejectB\xfe\x01\n\x1b\x63om.qdrant.cloud.account.v1B\x0c\x41\x63\x63ountProtoP\x01ZRgithub.com/qdrant/qdrant-cloud-public-api/gen/go/qdrant/cloud/account/v1;accountv1\xa2\x02\x03QCA\xaa\x02\x17Qdrant.Cloud.Account.V1\xca\x02\x17Qdrant\\Cloud\\Account\\V1\xe2\x02#Qdrant\\Cloud\\Account\\V1\\GPBMetadata\xea\x02\x1aQdrant::Cloud::Account::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%qdrant/cloud/account/v1/account.proto\x12\x17qdrant.cloud.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#qdrant/cloud/common/v1/common.proto\"\x15\n\x13ListAccountsRequest\"N\n\x14ListAccountsResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x05items\"<\n\x11GetAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"P\n\x12GetAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14\x43reateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15\x43reateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14UpdateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15UpdateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"?\n\x14\x44\x65leteAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x17\n\x15\x44\x65leteAccountResponse\"D\n\x19ListAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Z\n\x1aListAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"\x87\x01\n\x1bListMyAccountInvitesRequest\x12V\n\rstatus_filter\x18\x01 \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusH\x00R\x0cstatusFilter\x88\x01\x01\x42\x10\n\x0e_status_filter\"\\\n\x1cListMyAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"i\n\x17GetAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"Z\n\x18GetAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\\\n\x1a\x43reateAccountInviteRequest\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"]\n\x1b\x43reateAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1a\x44\x65leteAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"\x1d\n\x1b\x44\x65leteAccountInviteResponse\"l\n\x1a\x41\x63\x63\x65ptAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1b\x41\x63\x63\x65ptAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"q\n\x1fRejectOrganizationInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"b\n RejectOrganizationInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)\"\xd7\x04\n\rAccountInvite\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\tR\x0b\x61\x63\x63ountName\x12\x1f\n\x05\x65mail\x18\x04 \x01(\tB\t\xbaH\x06r\x04\x10\x01`\x01R\x05\x65mail\x12*\n\x08role_ids\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\xb0\x01\x01R\x07roleIds\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x35\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12&\n\x0f\x63reated_by_name\x18\x08 \x01(\tR\rcreatedByName\x12\x39\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x44\n\x10last_modified_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12&\n\x07user_id\x18\x0b \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x06userId\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusR\x06statusB\n\n\x08_user_id*\xee\x01\n\x13\x41\x63\x63ountInviteStatus\x12%\n!ACCOUNT_INVITE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_PENDING\x10\x01\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_ACCEPTED\x10\x02\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_REJECTED\x10\x03\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_EXPIRED\x10\x04\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_CANCELED\x10\x05\x32\x9c\x12\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}\x12\xc4\x01\n\x12ListAccountInvites\x12\x32.qdrant.cloud.account.v1.ListAccountInvitesRequest\x1a\x33.qdrant.cloud.account.v1.ListAccountInvitesResponse\"E\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02/\x12-/api/account/v1/accounts/{account_id}/invites\x12\xb1\x01\n\x14ListMyAccountInvites\x12\x34.qdrant.cloud.account.v1.ListMyAccountInvitesRequest\x1a\x35.qdrant.cloud.account.v1.ListMyAccountInvitesResponse\",\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/account/v1/self/invites\x12\xca\x01\n\x10GetAccountInvite\x12\x30.qdrant.cloud.account.v1.GetAccountInviteRequest\x1a\x31.qdrant.cloud.account.v1.GetAccountInviteResponse\"Q\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02;\x12\x39/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xe7\x01\n\x13\x43reateAccountInvite\x12\x33.qdrant.cloud.account.v1.CreateAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.CreateAccountInviteResponse\"e\x8a\xb5\x18\rwrite:invites\x92\xb5\x18\x11invite.account_id\x82\xd3\xe4\x93\x02\x39\"4/api/account/v1/accounts/{invite.account_id}/invites:\x01*\x12\xd5\x01\n\x13\x44\x65leteAccountInvite\x12\x33.qdrant.cloud.account.v1.DeleteAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.DeleteAccountInviteResponse\"S\x8a\xb5\x18\x0e\x64\x65lete:invites\x82\xd3\xe4\x93\x02;*9/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xce\x01\n\x13\x41\x63\x63\x65ptAccountInvite\x12\x33.qdrant.cloud.account.v1.AcceptAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.AcceptAccountInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/accept\x12\xdd\x01\n\x18RejectOrganizationInvite\x12\x38.qdrant.cloud.account.v1.RejectOrganizationInviteRequest\x1a\x39.qdrant.cloud.account.v1.RejectOrganizationInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/rejectB\xfe\x01\n\x1b\x63om.qdrant.cloud.account.v1B\x0c\x41\x63\x63ountProtoP\x01ZRgithub.com/qdrant/qdrant-cloud-public-api/gen/go/qdrant/cloud/account/v1;accountv1\xa2\x02\x03QCA\xaa\x02\x17Qdrant.Cloud.Account.V1\xca\x02\x17Qdrant\\Cloud\\Account\\V1\xe2\x02#Qdrant\\Cloud\\Account\\V1\\GPBMetadata\xea\x02\x1aQdrant::Cloud::Account::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -95,7 +95,7 @@ _globals['_ACCOUNTSERVICE'].methods_by_name['ListMyAccountInvites']._loaded_options = None _globals['_ACCOUNTSERVICE'].methods_by_name['ListMyAccountInvites']._serialized_options = b'\212\265\030\000\222\265\030\000\202\323\344\223\002\036\022\034/api/account/v1/self/invites' _globals['_ACCOUNTSERVICE'].methods_by_name['GetAccountInvite']._loaded_options = None - _globals['_ACCOUNTSERVICE'].methods_by_name['GetAccountInvite']._serialized_options = b'\212\265\030\014read:invites\222\265\030\naccount_id\202\323\344\223\002;\0229/api/account/v1/accounts/{account_id}/invites/{invite_id}' + _globals['_ACCOUNTSERVICE'].methods_by_name['GetAccountInvite']._serialized_options = b'\212\265\030\014read:invites\202\323\344\223\002;\0229/api/account/v1/accounts/{account_id}/invites/{invite_id}' _globals['_ACCOUNTSERVICE'].methods_by_name['CreateAccountInvite']._loaded_options = None _globals['_ACCOUNTSERVICE'].methods_by_name['CreateAccountInvite']._serialized_options = b'\212\265\030\rwrite:invites\222\265\030\021invite.account_id\202\323\344\223\0029\"4/api/account/v1/accounts/{invite.account_id}/invites:\001*' _globals['_ACCOUNTSERVICE'].methods_by_name['DeleteAccountInvite']._loaded_options = None @@ -159,5 +159,5 @@ _globals['_ACCOUNTINVITE']._serialized_start=2718 _globals['_ACCOUNTINVITE']._serialized_end=3317 _globals['_ACCOUNTSERVICE']._serialized_start=3561 - _globals['_ACCOUNTSERVICE']._serialized_end=5907 + _globals['_ACCOUNTSERVICE']._serialized_end=5893 # @@protoc_insertion_point(module_scope) diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.js b/gen/typescript/qdrant/cloud/account/v1/account_pb.js index 078a8f08..0b19b98a 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.js +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.js @@ -12,7 +12,7 @@ import { file_qdrant_cloud_common_v1_common } from "../../common/v1/common_pb.js * Describes the file qdrant/cloud/account/v1/account.proto. */ export const file_qdrant_cloud_account_v1_account = /*@__PURE__*/ - fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UiOQoZTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJTChpMaXN0QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUieQobTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0EkgKDXN0YXR1c19maWx0ZXIYASABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzSACIAQFCEAoOX3N0YXR1c19maWx0ZXIiVQocTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVAoXR2V0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJSChhHZXRBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSJUChpDcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlUKG0NyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZRI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlcKGkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlcKGkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiVQobQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiXAofUmVqZWN0T3JnYW5pemF0aW9uSW52aXRlUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARIbCglpbnZpdGVfaWQYAiABKAlCCLpIBXIDsAEBIloKIFJlamVjdE9yZ2FuaXphdGlvbkludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUirwMKB0FjY291bnQSCgoCaWQYASABKAkSLgoKY3JlYXRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQbGFzdF9tb2RpZmllZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKQoEbmFtZRgFIAEoCUIbukgYchYQBBhAMhBeW2EtekEtWjAtOS1fXSskEhoKCG93bmVyX2lkGAYgASgJQgi6SAVyA7ABARIcCgtvd25lcl9lbWFpbBgHIAEoCUIHukgEcgJgARIgCgpwcml2aWxlZ2VzGAggAygJQgy6SAmSAQYiBHICEAE6qgG6SKYBGqMBCgphY2NvdW50LmlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp5dGhpcy5pZC5tYXRjaGVzKCdeWzAtOWEtZkEtRl17OH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17MTJ9JCcpIHx8ICFoYXModGhpcy5jcmVhdGVkX2F0KSLVAwoNQWNjb3VudEludml0ZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESHAoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQESFAoMYWNjb3VudF9uYW1lGAMgASgJEhgKBWVtYWlsGAQgASgJQgm6SAZyBBABYAESIQoIcm9sZV9pZHMYBSADKAlCD7pIDJIBCQgBIgVyA7ABARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIkChJjcmVhdGVkX2J5X3VzZXJfaWQYByABKAlCCLpIBXIDsAEBEhcKD2NyZWF0ZWRfYnlfbmFtZRgIIAEoCRIuCgpleHBpcmVzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBsYXN0X21vZGlmaWVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeCgd1c2VyX2lkGAsgASgJQgi6SAVyA7ABAUgAiAEBEjwKBnN0YXR1cxgMIAEoDjIsLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGVTdGF0dXNCCgoIX3VzZXJfaWQq7gEKE0FjY291bnRJbnZpdGVTdGF0dXMSJQohQUNDT1VOVF9JTlZJVEVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodQUNDT1VOVF9JTlZJVEVfU1RBVFVTX1BFTkRJTkcQARIiCh5BQ0NPVU5UX0lOVklURV9TVEFUVVNfQUNDRVBURUQQAhIiCh5BQ0NPVU5UX0lOVklURV9TVEFUVVNfUkVKRUNURUQQAxIhCh1BQ0NPVU5UX0lOVklURV9TVEFUVVNfRVhQSVJFRBAEEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19DQU5DRUxFRBAFMqoSCg5BY2NvdW50U2VydmljZRKVAQoMTGlzdEFjY291bnRzEiwucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRzUmVxdWVzdBotLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50c1Jlc3BvbnNlIiiKtRgAkrUYAILT5JMCGhIYL2FwaS9hY2NvdW50L3YxL2FjY291bnRzEqQBCgpHZXRBY2NvdW50EioucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudFJlcXVlc3QaKy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50UmVzcG9uc2UiPYq1GAxyZWFkOmFjY291bnSC0+STAicSJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0SmwEKDUNyZWF0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRSZXNwb25zZSIrirUYAJK1GACC0+STAh06ASoiGC9hcGkvYWNjb3VudC92MS9hY2NvdW50cxK/AQoNVXBkYXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuVXBkYXRlQWNjb3VudFJlc3BvbnNlIk+KtRgNd3JpdGU6YWNjb3VudJK1GAphY2NvdW50LmlkgtPkkwIqOgEqGiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnQuaWR9Eq8BCg1EZWxldGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50UmVzcG9uc2UiP4q1GA5kZWxldGU6YWNjb3VudILT5JMCJyolL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfRLEAQoSTGlzdEFjY291bnRJbnZpdGVzEjIucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBozLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50SW52aXRlc1Jlc3BvbnNlIkWKtRgMcmVhZDppbnZpdGVzgtPkkwIvEi0vYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMSsQEKFExpc3RNeUFjY291bnRJbnZpdGVzEjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0GjUucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZSIsirUYAJK1GACC0+STAh4SHC9hcGkvYWNjb3VudC92MS9zZWxmL2ludml0ZXMS2AEKEEdldEFjY291bnRJbnZpdGUSMC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50SW52aXRlUmVxdWVzdBoxLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRJbnZpdGVSZXNwb25zZSJfirUYDHJlYWQ6aW52aXRlc5K1GAphY2NvdW50X2lkgtPkkwI7EjkvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0S5wEKE0NyZWF0ZUFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZSJlirUYDXdyaXRlOmludml0ZXOStRgRaW52aXRlLmFjY291bnRfaWSC0+STAjk6ASoiNC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97aW52aXRlLmFjY291bnRfaWR9L2ludml0ZXMS1QEKE0RlbGV0ZUFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRJbnZpdGVSZXNwb25zZSJTirUYDmRlbGV0ZTppbnZpdGVzgtPkkwI7KjkvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0SzgEKE0FjY2VwdEFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NlcHRBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY2VwdEFjY291bnRJbnZpdGVSZXNwb25zZSJMirUYAILT5JMCQiJAL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9L2FjY2VwdBLdAQoYUmVqZWN0T3JnYW5pemF0aW9uSW52aXRlEjgucWRyYW50LmNsb3VkLmFjY291bnQudjEuUmVqZWN0T3JnYW5pemF0aW9uSW52aXRlUmVxdWVzdBo5LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlJlamVjdE9yZ2FuaXphdGlvbkludml0ZVJlc3BvbnNlIkyKtRgAgtPkkwJCIkAvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0vcmVqZWN0Qv4BChtjb20ucWRyYW50LmNsb3VkLmFjY291bnQudjFCDEFjY291bnRQcm90b1ABWlJnaXRodWIuY29tL3FkcmFudC9xZHJhbnQtY2xvdWQtcHVibGljLWFwaS9nZW4vZ28vcWRyYW50L2Nsb3VkL2FjY291bnQvdjE7YWNjb3VudHYxogIDUUNBqgIXUWRyYW50LkNsb3VkLkFjY291bnQuVjHKAhdRZHJhbnRcQ2xvdWRcQWNjb3VudFxWMeICI1FkcmFudFxDbG91ZFxBY2NvdW50XFYxXEdQQk1ldGFkYXRh6gIaUWRyYW50OjpDbG91ZDo6QWNjb3VudDo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); + fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UiOQoZTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJTChpMaXN0QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUieQobTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0EkgKDXN0YXR1c19maWx0ZXIYASABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzSACIAQFCEAoOX3N0YXR1c19maWx0ZXIiVQocTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVAoXR2V0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJSChhHZXRBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSJUChpDcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlUKG0NyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZRI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlcKGkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlcKGkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiVQobQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiXAofUmVqZWN0T3JnYW5pemF0aW9uSW52aXRlUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARIbCglpbnZpdGVfaWQYAiABKAlCCLpIBXIDsAEBIloKIFJlamVjdE9yZ2FuaXphdGlvbkludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUirwMKB0FjY291bnQSCgoCaWQYASABKAkSLgoKY3JlYXRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQbGFzdF9tb2RpZmllZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKQoEbmFtZRgFIAEoCUIbukgYchYQBBhAMhBeW2EtekEtWjAtOS1fXSskEhoKCG93bmVyX2lkGAYgASgJQgi6SAVyA7ABARIcCgtvd25lcl9lbWFpbBgHIAEoCUIHukgEcgJgARIgCgpwcml2aWxlZ2VzGAggAygJQgy6SAmSAQYiBHICEAE6qgG6SKYBGqMBCgphY2NvdW50LmlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp5dGhpcy5pZC5tYXRjaGVzKCdeWzAtOWEtZkEtRl17OH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17MTJ9JCcpIHx8ICFoYXModGhpcy5jcmVhdGVkX2F0KSLVAwoNQWNjb3VudEludml0ZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESHAoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQESFAoMYWNjb3VudF9uYW1lGAMgASgJEhgKBWVtYWlsGAQgASgJQgm6SAZyBBABYAESIQoIcm9sZV9pZHMYBSADKAlCD7pIDJIBCQgBIgVyA7ABARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIkChJjcmVhdGVkX2J5X3VzZXJfaWQYByABKAlCCLpIBXIDsAEBEhcKD2NyZWF0ZWRfYnlfbmFtZRgIIAEoCRIuCgpleHBpcmVzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBsYXN0X21vZGlmaWVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeCgd1c2VyX2lkGAsgASgJQgi6SAVyA7ABAUgAiAEBEjwKBnN0YXR1cxgMIAEoDjIsLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGVTdGF0dXNCCgoIX3VzZXJfaWQq7gEKE0FjY291bnRJbnZpdGVTdGF0dXMSJQohQUNDT1VOVF9JTlZJVEVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodQUNDT1VOVF9JTlZJVEVfU1RBVFVTX1BFTkRJTkcQARIiCh5BQ0NPVU5UX0lOVklURV9TVEFUVVNfQUNDRVBURUQQAhIiCh5BQ0NPVU5UX0lOVklURV9TVEFUVVNfUkVKRUNURUQQAxIhCh1BQ0NPVU5UX0lOVklURV9TVEFUVVNfRVhQSVJFRBAEEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19DQU5DRUxFRBAFMpwSCg5BY2NvdW50U2VydmljZRKVAQoMTGlzdEFjY291bnRzEiwucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRzUmVxdWVzdBotLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50c1Jlc3BvbnNlIiiKtRgAkrUYAILT5JMCGhIYL2FwaS9hY2NvdW50L3YxL2FjY291bnRzEqQBCgpHZXRBY2NvdW50EioucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudFJlcXVlc3QaKy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50UmVzcG9uc2UiPYq1GAxyZWFkOmFjY291bnSC0+STAicSJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0SmwEKDUNyZWF0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRSZXNwb25zZSIrirUYAJK1GACC0+STAh06ASoiGC9hcGkvYWNjb3VudC92MS9hY2NvdW50cxK/AQoNVXBkYXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuVXBkYXRlQWNjb3VudFJlc3BvbnNlIk+KtRgNd3JpdGU6YWNjb3VudJK1GAphY2NvdW50LmlkgtPkkwIqOgEqGiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnQuaWR9Eq8BCg1EZWxldGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50UmVzcG9uc2UiP4q1GA5kZWxldGU6YWNjb3VudILT5JMCJyolL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfRLEAQoSTGlzdEFjY291bnRJbnZpdGVzEjIucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBozLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50SW52aXRlc1Jlc3BvbnNlIkWKtRgMcmVhZDppbnZpdGVzgtPkkwIvEi0vYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMSsQEKFExpc3RNeUFjY291bnRJbnZpdGVzEjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0GjUucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZSIsirUYAJK1GACC0+STAh4SHC9hcGkvYWNjb3VudC92MS9zZWxmL2ludml0ZXMSygEKEEdldEFjY291bnRJbnZpdGUSMC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50SW52aXRlUmVxdWVzdBoxLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRJbnZpdGVSZXNwb25zZSJRirUYDHJlYWQ6aW52aXRlc4LT5JMCOxI5L2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9EucBChNDcmVhdGVBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuQ3JlYXRlQWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50SW52aXRlUmVzcG9uc2UiZYq1GA13cml0ZTppbnZpdGVzkrUYEWludml0ZS5hY2NvdW50X2lkgtPkkwI5OgEqIjQvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2ludml0ZS5hY2NvdW50X2lkfS9pbnZpdGVzEtUBChNEZWxldGVBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50SW52aXRlUmVzcG9uc2UiU4q1GA5kZWxldGU6aW52aXRlc4LT5JMCOyo5L2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9Es4BChNBY2NlcHRBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjZXB0QWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NlcHRBY2NvdW50SW52aXRlUmVzcG9uc2UiTIq1GACC0+STAkIiQC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcy97aW52aXRlX2lkfS9hY2NlcHQS3QEKGFJlamVjdE9yZ2FuaXphdGlvbkludml0ZRI4LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlJlamVjdE9yZ2FuaXphdGlvbkludml0ZVJlcXVlc3QaOS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5SZWplY3RPcmdhbml6YXRpb25JbnZpdGVSZXNwb25zZSJMirUYAILT5JMCQiJAL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9L3JlamVjdEL+AQobY29tLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxQgxBY2NvdW50UHJvdG9QAVpSZ2l0aHViLmNvbS9xZHJhbnQvcWRyYW50LWNsb3VkLXB1YmxpYy1hcGkvZ2VuL2dvL3FkcmFudC9jbG91ZC9hY2NvdW50L3YxO2FjY291bnR2MaICA1FDQaoCF1FkcmFudC5DbG91ZC5BY2NvdW50LlYxygIXUWRyYW50XENsb3VkXEFjY291bnRcVjHiAiNRZHJhbnRcQ2xvdWRcQWNjb3VudFxWMVxHUEJNZXRhZGF0YeoCGlFkcmFudDo6Q2xvdWQ6OkFjY291bnQ6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); /** * Describes the message qdrant.cloud.account.v1.ListAccountsRequest. diff --git a/proto/qdrant/cloud/account/v1/account.proto b/proto/qdrant/cloud/account/v1/account.proto index 332eedc5..4512cbd0 100644 --- a/proto/qdrant/cloud/account/v1/account.proto +++ b/proto/qdrant/cloud/account/v1/account.proto @@ -94,8 +94,6 @@ service AccountService { rpc GetAccountInvite(GetAccountInviteRequest) returns (GetAccountInviteResponse) { // permissions option (common.v1.permissions) = "read:invites"; - // custom account-id expression - option (qdrant.cloud.common.v1.account_id_expression) = "account_id"; // TODO: Remove? // gRPC Gateway REST call option (google.api.http) = {get: "/api/account/v1/accounts/{account_id}/invites/{invite_id}"}; } From 912e088b8a1266d1f4a9f39e1f40f6dd46099dca Mon Sep 17 00:00:00 2001 From: Robert-Stam Date: Fri, 6 Jun 2025 18:05:18 +0200 Subject: [PATCH 3/6] organization --> account. --- gen/go/qdrant/cloud/account/v1/account.pb.go | 597 +++++++++--------- .../cloud/account/v1/account_grpc.pb.go | 52 +- .../cloud/account/v1/account.swagger.json | 8 +- .../qdrant/cloud/account/v1/account_pb2.py | 38 +- .../qdrant/cloud/account/v1/account_pb2.pyi | 4 +- .../cloud/account/v1/account_pb2_grpc.py | 26 +- .../qdrant/cloud/account/v1/account_pb.d.ts | 32 +- .../qdrant/cloud/account/v1/account_pb.js | 14 +- proto/qdrant/cloud/account/v1/account.proto | 10 +- 9 files changed, 390 insertions(+), 391 deletions(-) diff --git a/gen/go/qdrant/cloud/account/v1/account.pb.go b/gen/go/qdrant/cloud/account/v1/account.pb.go index c42aa9e1..aeb05c5e 100644 --- a/gen/go/qdrant/cloud/account/v1/account.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account.pb.go @@ -1113,9 +1113,9 @@ func (x *AcceptAccountInviteResponse) GetInvite() *AccountInvite { return nil } -// RejectOrganizationInviteRequest is the request for the RejectOrganizationInvite function. +// RejectAccountInviteRequest is the request for the RejectAccountInvite function. // Note: This RPC, despite its name, is used to reject an *Account Invite*. -type RejectOrganizationInviteRequest struct { +type RejectAccountInviteRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The identifier of the account (in GUID format) the invite is for. // This is a required field. @@ -1127,20 +1127,20 @@ type RejectOrganizationInviteRequest struct { sizeCache protoimpl.SizeCache } -func (x *RejectOrganizationInviteRequest) Reset() { - *x = RejectOrganizationInviteRequest{} +func (x *RejectAccountInviteRequest) Reset() { + *x = RejectAccountInviteRequest{} mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *RejectOrganizationInviteRequest) String() string { +func (x *RejectAccountInviteRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RejectOrganizationInviteRequest) ProtoMessage() {} +func (*RejectAccountInviteRequest) ProtoMessage() {} -func (x *RejectOrganizationInviteRequest) ProtoReflect() protoreflect.Message { +func (x *RejectAccountInviteRequest) ProtoReflect() protoreflect.Message { mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1152,27 +1152,27 @@ func (x *RejectOrganizationInviteRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RejectOrganizationInviteRequest.ProtoReflect.Descriptor instead. -func (*RejectOrganizationInviteRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use RejectAccountInviteRequest.ProtoReflect.Descriptor instead. +func (*RejectAccountInviteRequest) Descriptor() ([]byte, []int) { return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{22} } -func (x *RejectOrganizationInviteRequest) GetAccountId() string { +func (x *RejectAccountInviteRequest) GetAccountId() string { if x != nil { return x.AccountId } return "" } -func (x *RejectOrganizationInviteRequest) GetInviteId() string { +func (x *RejectAccountInviteRequest) GetInviteId() string { if x != nil { return x.InviteId } return "" } -// RejectOrganizationInviteResponse is the response from the RejectOrganizationInvite function. -type RejectOrganizationInviteResponse struct { +// RejectAccountInviteResponse is the response from the RejectAccountInvite function. +type RejectAccountInviteResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The invite that was rejected, with its status updated. Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` @@ -1180,20 +1180,20 @@ type RejectOrganizationInviteResponse struct { sizeCache protoimpl.SizeCache } -func (x *RejectOrganizationInviteResponse) Reset() { - *x = RejectOrganizationInviteResponse{} +func (x *RejectAccountInviteResponse) Reset() { + *x = RejectAccountInviteResponse{} mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *RejectOrganizationInviteResponse) String() string { +func (x *RejectAccountInviteResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RejectOrganizationInviteResponse) ProtoMessage() {} +func (*RejectAccountInviteResponse) ProtoMessage() {} -func (x *RejectOrganizationInviteResponse) ProtoReflect() protoreflect.Message { +func (x *RejectAccountInviteResponse) ProtoReflect() protoreflect.Message { mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1205,12 +1205,12 @@ func (x *RejectOrganizationInviteResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RejectOrganizationInviteResponse.ProtoReflect.Descriptor instead. -func (*RejectOrganizationInviteResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use RejectAccountInviteResponse.ProtoReflect.Descriptor instead. +func (*RejectAccountInviteResponse) Descriptor() ([]byte, []int) { return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{23} } -func (x *RejectOrganizationInviteResponse) GetInvite() *AccountInvite { +func (x *RejectAccountInviteResponse) GetInvite() *AccountInvite { if x != nil { return x.Invite } @@ -1609,267 +1609,266 @@ var file_qdrant_cloud_account_v1_account_proto_rawDesc = string([]byte{ 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x71, 0x0a, 0x1f, - 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, - 0x62, 0x0a, 0x20, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, - 0xba, 0x48, 0x18, 0x72, 0x16, 0x10, 0x04, 0x18, 0x40, 0x32, 0x10, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, - 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x23, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x07, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, - 0x72, 0x02, 0x60, 0x01, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, 0x01, 0x06, 0x22, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x3a, 0xaa, - 0x01, 0xba, 0x48, 0xa6, 0x01, 0x1a, 0xa3, 0x01, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x69, 0x64, 0x12, 0x1a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, - 0x1a, 0x79, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x64, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, - 0x38, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, - 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, - 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, - 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x31, 0x32, 0x7d, 0x24, - 0x27, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x29, 0x22, 0xd7, 0x04, 0x0a, 0x0d, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x09, 0xba, 0x48, 0x06, 0x72, 0x04, 0x10, 0x01, 0x60, 0x01, 0x52, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x92, 0x01, 0x09, 0x08, 0x01, - 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x73, - 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, + 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x1a, + 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, + 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, + 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x1b, 0x52, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x07, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xba, 0x48, 0x18, 0x72, 0x16, 0x10, 0x04, 0x18, 0x40, 0x32, + 0x10, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, + 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, + 0x01, 0x06, 0x22, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x73, 0x3a, 0xaa, 0x01, 0xba, 0x48, 0xa6, 0x01, 0x1a, 0xa3, 0x01, 0x0a, 0x0a, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x12, 0x1a, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, 0x1a, 0x79, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x64, 0x2e, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, + 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x38, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, + 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, + 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, + 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, + 0x5d, 0x7b, 0x31, 0x32, 0x7d, 0x24, 0x27, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x29, 0x22, 0xd7, 0x04, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xba, 0x48, 0x06, 0x72, 0x04, 0x10, + 0x01, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x6f, + 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0f, 0xba, 0x48, + 0x0c, 0x92, 0x01, 0x09, 0x08, 0x01, 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x07, 0x72, + 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x35, 0x0a, 0x12, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, - 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, - 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2a, 0xee, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, - 0x21, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, - 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, - 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, - 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, - 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, - 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, - 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, - 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, - 0x45, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x32, 0x9c, 0x12, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, - 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x71, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x8a, 0xb5, 0x18, 0x0c, 0x72, - 0x65, 0x61, 0x64, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x26, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x8a, 0xb5, 0x18, 0x00, 0x92, - 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2a, 0xee, 0x01, 0x0a, 0x13, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, + 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x43, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, + 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, + 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, + 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, + 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, + 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, + 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x32, 0x8d, 0x12, 0x0a, + 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x95, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x12, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, + 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x8a, + 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3d, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9b, + 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2b, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, + 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xbf, 0x01, 0x0a, + 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, + 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x8a, + 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x1a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0xaf, + 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3f, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, - 0x2a, 0x1a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, - 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x8a, 0xb5, 0x18, 0x0e, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x73, 0x12, 0x32, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x8a, 0xb5, 0x18, 0x0c, - 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x71, 0x64, + 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x45, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, + 0x12, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, - 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x6c, 0x66, 0x2f, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xca, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x51, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, - 0x64, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x8a, + 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, + 0x65, 0x6c, 0x66, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xca, 0x01, 0x0a, 0x10, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x12, 0x30, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x8a, 0xb5, 0x18, + 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x92, 0xb5, + 0x18, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x92, 0xb5, 0x18, 0x11, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, - 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, - 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x53, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, + 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x13, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, + 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, + 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, - 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0xdd, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x12, 0x38, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, - 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x71, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, - 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0xfe, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, - 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, - 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, - 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, - 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x23, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, - 0x6e, 0x74, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0xce, 0x01, 0x0a, 0x13, + 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, + 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0xfe, 0x01, 0x0a, + 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, + 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x31, + 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x23, 0x51, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( @@ -1887,34 +1886,34 @@ func file_qdrant_cloud_account_v1_account_proto_rawDescGZIP() []byte { var file_qdrant_cloud_account_v1_account_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_qdrant_cloud_account_v1_account_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_qdrant_cloud_account_v1_account_proto_goTypes = []any{ - (AccountInviteStatus)(0), // 0: qdrant.cloud.account.v1.AccountInviteStatus - (*ListAccountsRequest)(nil), // 1: qdrant.cloud.account.v1.ListAccountsRequest - (*ListAccountsResponse)(nil), // 2: qdrant.cloud.account.v1.ListAccountsResponse - (*GetAccountRequest)(nil), // 3: qdrant.cloud.account.v1.GetAccountRequest - (*GetAccountResponse)(nil), // 4: qdrant.cloud.account.v1.GetAccountResponse - (*CreateAccountRequest)(nil), // 5: qdrant.cloud.account.v1.CreateAccountRequest - (*CreateAccountResponse)(nil), // 6: qdrant.cloud.account.v1.CreateAccountResponse - (*UpdateAccountRequest)(nil), // 7: qdrant.cloud.account.v1.UpdateAccountRequest - (*UpdateAccountResponse)(nil), // 8: qdrant.cloud.account.v1.UpdateAccountResponse - (*DeleteAccountRequest)(nil), // 9: qdrant.cloud.account.v1.DeleteAccountRequest - (*DeleteAccountResponse)(nil), // 10: qdrant.cloud.account.v1.DeleteAccountResponse - (*ListAccountInvitesRequest)(nil), // 11: qdrant.cloud.account.v1.ListAccountInvitesRequest - (*ListAccountInvitesResponse)(nil), // 12: qdrant.cloud.account.v1.ListAccountInvitesResponse - (*ListMyAccountInvitesRequest)(nil), // 13: qdrant.cloud.account.v1.ListMyAccountInvitesRequest - (*ListMyAccountInvitesResponse)(nil), // 14: qdrant.cloud.account.v1.ListMyAccountInvitesResponse - (*GetAccountInviteRequest)(nil), // 15: qdrant.cloud.account.v1.GetAccountInviteRequest - (*GetAccountInviteResponse)(nil), // 16: qdrant.cloud.account.v1.GetAccountInviteResponse - (*CreateAccountInviteRequest)(nil), // 17: qdrant.cloud.account.v1.CreateAccountInviteRequest - (*CreateAccountInviteResponse)(nil), // 18: qdrant.cloud.account.v1.CreateAccountInviteResponse - (*DeleteAccountInviteRequest)(nil), // 19: qdrant.cloud.account.v1.DeleteAccountInviteRequest - (*DeleteAccountInviteResponse)(nil), // 20: qdrant.cloud.account.v1.DeleteAccountInviteResponse - (*AcceptAccountInviteRequest)(nil), // 21: qdrant.cloud.account.v1.AcceptAccountInviteRequest - (*AcceptAccountInviteResponse)(nil), // 22: qdrant.cloud.account.v1.AcceptAccountInviteResponse - (*RejectOrganizationInviteRequest)(nil), // 23: qdrant.cloud.account.v1.RejectOrganizationInviteRequest - (*RejectOrganizationInviteResponse)(nil), // 24: qdrant.cloud.account.v1.RejectOrganizationInviteResponse - (*Account)(nil), // 25: qdrant.cloud.account.v1.Account - (*AccountInvite)(nil), // 26: qdrant.cloud.account.v1.AccountInvite - (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp + (AccountInviteStatus)(0), // 0: qdrant.cloud.account.v1.AccountInviteStatus + (*ListAccountsRequest)(nil), // 1: qdrant.cloud.account.v1.ListAccountsRequest + (*ListAccountsResponse)(nil), // 2: qdrant.cloud.account.v1.ListAccountsResponse + (*GetAccountRequest)(nil), // 3: qdrant.cloud.account.v1.GetAccountRequest + (*GetAccountResponse)(nil), // 4: qdrant.cloud.account.v1.GetAccountResponse + (*CreateAccountRequest)(nil), // 5: qdrant.cloud.account.v1.CreateAccountRequest + (*CreateAccountResponse)(nil), // 6: qdrant.cloud.account.v1.CreateAccountResponse + (*UpdateAccountRequest)(nil), // 7: qdrant.cloud.account.v1.UpdateAccountRequest + (*UpdateAccountResponse)(nil), // 8: qdrant.cloud.account.v1.UpdateAccountResponse + (*DeleteAccountRequest)(nil), // 9: qdrant.cloud.account.v1.DeleteAccountRequest + (*DeleteAccountResponse)(nil), // 10: qdrant.cloud.account.v1.DeleteAccountResponse + (*ListAccountInvitesRequest)(nil), // 11: qdrant.cloud.account.v1.ListAccountInvitesRequest + (*ListAccountInvitesResponse)(nil), // 12: qdrant.cloud.account.v1.ListAccountInvitesResponse + (*ListMyAccountInvitesRequest)(nil), // 13: qdrant.cloud.account.v1.ListMyAccountInvitesRequest + (*ListMyAccountInvitesResponse)(nil), // 14: qdrant.cloud.account.v1.ListMyAccountInvitesResponse + (*GetAccountInviteRequest)(nil), // 15: qdrant.cloud.account.v1.GetAccountInviteRequest + (*GetAccountInviteResponse)(nil), // 16: qdrant.cloud.account.v1.GetAccountInviteResponse + (*CreateAccountInviteRequest)(nil), // 17: qdrant.cloud.account.v1.CreateAccountInviteRequest + (*CreateAccountInviteResponse)(nil), // 18: qdrant.cloud.account.v1.CreateAccountInviteResponse + (*DeleteAccountInviteRequest)(nil), // 19: qdrant.cloud.account.v1.DeleteAccountInviteRequest + (*DeleteAccountInviteResponse)(nil), // 20: qdrant.cloud.account.v1.DeleteAccountInviteResponse + (*AcceptAccountInviteRequest)(nil), // 21: qdrant.cloud.account.v1.AcceptAccountInviteRequest + (*AcceptAccountInviteResponse)(nil), // 22: qdrant.cloud.account.v1.AcceptAccountInviteResponse + (*RejectAccountInviteRequest)(nil), // 23: qdrant.cloud.account.v1.RejectAccountInviteRequest + (*RejectAccountInviteResponse)(nil), // 24: qdrant.cloud.account.v1.RejectAccountInviteResponse + (*Account)(nil), // 25: qdrant.cloud.account.v1.Account + (*AccountInvite)(nil), // 26: qdrant.cloud.account.v1.AccountInvite + (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp } var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ 25, // 0: qdrant.cloud.account.v1.ListAccountsResponse.items:type_name -> qdrant.cloud.account.v1.Account @@ -1930,7 +1929,7 @@ var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ 26, // 10: qdrant.cloud.account.v1.CreateAccountInviteRequest.invite:type_name -> qdrant.cloud.account.v1.AccountInvite 26, // 11: qdrant.cloud.account.v1.CreateAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite 26, // 12: qdrant.cloud.account.v1.AcceptAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite - 26, // 13: qdrant.cloud.account.v1.RejectOrganizationInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite + 26, // 13: qdrant.cloud.account.v1.RejectAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite 27, // 14: qdrant.cloud.account.v1.Account.created_at:type_name -> google.protobuf.Timestamp 27, // 15: qdrant.cloud.account.v1.Account.last_modified_at:type_name -> google.protobuf.Timestamp 27, // 16: qdrant.cloud.account.v1.AccountInvite.created_at:type_name -> google.protobuf.Timestamp @@ -1948,7 +1947,7 @@ var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ 17, // 28: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:input_type -> qdrant.cloud.account.v1.CreateAccountInviteRequest 19, // 29: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:input_type -> qdrant.cloud.account.v1.DeleteAccountInviteRequest 21, // 30: qdrant.cloud.account.v1.AccountService.AcceptAccountInvite:input_type -> qdrant.cloud.account.v1.AcceptAccountInviteRequest - 23, // 31: qdrant.cloud.account.v1.AccountService.RejectOrganizationInvite:input_type -> qdrant.cloud.account.v1.RejectOrganizationInviteRequest + 23, // 31: qdrant.cloud.account.v1.AccountService.RejectAccountInvite:input_type -> qdrant.cloud.account.v1.RejectAccountInviteRequest 2, // 32: qdrant.cloud.account.v1.AccountService.ListAccounts:output_type -> qdrant.cloud.account.v1.ListAccountsResponse 4, // 33: qdrant.cloud.account.v1.AccountService.GetAccount:output_type -> qdrant.cloud.account.v1.GetAccountResponse 6, // 34: qdrant.cloud.account.v1.AccountService.CreateAccount:output_type -> qdrant.cloud.account.v1.CreateAccountResponse @@ -1960,7 +1959,7 @@ var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ 18, // 40: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:output_type -> qdrant.cloud.account.v1.CreateAccountInviteResponse 20, // 41: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:output_type -> qdrant.cloud.account.v1.DeleteAccountInviteResponse 22, // 42: qdrant.cloud.account.v1.AccountService.AcceptAccountInvite:output_type -> qdrant.cloud.account.v1.AcceptAccountInviteResponse - 24, // 43: qdrant.cloud.account.v1.AccountService.RejectOrganizationInvite:output_type -> qdrant.cloud.account.v1.RejectOrganizationInviteResponse + 24, // 43: qdrant.cloud.account.v1.AccountService.RejectAccountInvite:output_type -> qdrant.cloud.account.v1.RejectAccountInviteResponse 32, // [32:44] is the sub-list for method output_type 20, // [20:32] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name diff --git a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go index 2aa24885..8455ef0b 100644 --- a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go @@ -19,18 +19,18 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - AccountService_ListAccounts_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccounts" - AccountService_GetAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccount" - AccountService_CreateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccount" - AccountService_UpdateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/UpdateAccount" - AccountService_DeleteAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccount" - AccountService_ListAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccountInvites" - AccountService_ListMyAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListMyAccountInvites" - AccountService_GetAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccountInvite" - AccountService_CreateAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccountInvite" - AccountService_DeleteAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccountInvite" - AccountService_AcceptAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/AcceptAccountInvite" - AccountService_RejectOrganizationInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/RejectOrganizationInvite" + AccountService_ListAccounts_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccounts" + AccountService_GetAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccount" + AccountService_CreateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccount" + AccountService_UpdateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/UpdateAccount" + AccountService_DeleteAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccount" + AccountService_ListAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccountInvites" + AccountService_ListMyAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListMyAccountInvites" + AccountService_GetAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccountInvite" + AccountService_CreateAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccountInvite" + AccountService_DeleteAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccountInvite" + AccountService_AcceptAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/AcceptAccountInvite" + AccountService_RejectAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/RejectAccountInvite" ) // AccountServiceClient is the client API for AccountService service. @@ -94,7 +94,7 @@ type AccountServiceClient interface { // the invite. // Required permissions: // - None (authenticated only) - RejectOrganizationInvite(ctx context.Context, in *RejectOrganizationInviteRequest, opts ...grpc.CallOption) (*RejectOrganizationInviteResponse, error) + RejectAccountInvite(ctx context.Context, in *RejectAccountInviteRequest, opts ...grpc.CallOption) (*RejectAccountInviteResponse, error) } type accountServiceClient struct { @@ -215,10 +215,10 @@ func (c *accountServiceClient) AcceptAccountInvite(ctx context.Context, in *Acce return out, nil } -func (c *accountServiceClient) RejectOrganizationInvite(ctx context.Context, in *RejectOrganizationInviteRequest, opts ...grpc.CallOption) (*RejectOrganizationInviteResponse, error) { +func (c *accountServiceClient) RejectAccountInvite(ctx context.Context, in *RejectAccountInviteRequest, opts ...grpc.CallOption) (*RejectAccountInviteResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(RejectOrganizationInviteResponse) - err := c.cc.Invoke(ctx, AccountService_RejectOrganizationInvite_FullMethodName, in, out, cOpts...) + out := new(RejectAccountInviteResponse) + err := c.cc.Invoke(ctx, AccountService_RejectAccountInvite_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -286,7 +286,7 @@ type AccountServiceServer interface { // the invite. // Required permissions: // - None (authenticated only) - RejectOrganizationInvite(context.Context, *RejectOrganizationInviteRequest) (*RejectOrganizationInviteResponse, error) + RejectAccountInvite(context.Context, *RejectAccountInviteRequest) (*RejectAccountInviteResponse, error) mustEmbedUnimplementedAccountServiceServer() } @@ -330,8 +330,8 @@ func (UnimplementedAccountServiceServer) DeleteAccountInvite(context.Context, *D func (UnimplementedAccountServiceServer) AcceptAccountInvite(context.Context, *AcceptAccountInviteRequest) (*AcceptAccountInviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AcceptAccountInvite not implemented") } -func (UnimplementedAccountServiceServer) RejectOrganizationInvite(context.Context, *RejectOrganizationInviteRequest) (*RejectOrganizationInviteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RejectOrganizationInvite not implemented") +func (UnimplementedAccountServiceServer) RejectAccountInvite(context.Context, *RejectAccountInviteRequest) (*RejectAccountInviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RejectAccountInvite not implemented") } func (UnimplementedAccountServiceServer) mustEmbedUnimplementedAccountServiceServer() {} func (UnimplementedAccountServiceServer) testEmbeddedByValue() {} @@ -552,20 +552,20 @@ func _AccountService_AcceptAccountInvite_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _AccountService_RejectOrganizationInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RejectOrganizationInviteRequest) +func _AccountService_RejectAccountInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RejectAccountInviteRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(AccountServiceServer).RejectOrganizationInvite(ctx, in) + return srv.(AccountServiceServer).RejectAccountInvite(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccountService_RejectOrganizationInvite_FullMethodName, + FullMethod: AccountService_RejectAccountInvite_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AccountServiceServer).RejectOrganizationInvite(ctx, req.(*RejectOrganizationInviteRequest)) + return srv.(AccountServiceServer).RejectAccountInvite(ctx, req.(*RejectAccountInviteRequest)) } return interceptor(ctx, in, info, handler) } @@ -622,8 +622,8 @@ var AccountService_ServiceDesc = grpc.ServiceDesc{ Handler: _AccountService_AcceptAccountInvite_Handler, }, { - MethodName: "RejectOrganizationInvite", - Handler: _AccountService_RejectOrganizationInvite_Handler, + MethodName: "RejectAccountInvite", + Handler: _AccountService_RejectAccountInvite_Handler, }, }, Streams: []grpc.StreamDesc{}, diff --git a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json index fc551f52..7b1d6709 100644 --- a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json +++ b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json @@ -323,12 +323,12 @@ "/api/account/v1/accounts/{accountId}/invites/{inviteId}/reject": { "post": { "summary": "Reject an account invite\nThe authenticated user's email address must match the email address specified in\nthe invite.\nRequired permissions:\n- None (authenticated only)", - "operationId": "AccountService_RejectOrganizationInvite", + "operationId": "AccountService_RejectAccountInvite", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1RejectOrganizationInviteResponse" + "$ref": "#/definitions/v1RejectAccountInviteResponse" } }, "default": { @@ -797,7 +797,7 @@ }, "description": "ListMyAccountInvitesResponse is the response from the ListMyAccountInvites function." }, - "v1RejectOrganizationInviteResponse": { + "v1RejectAccountInviteResponse": { "type": "object", "properties": { "invite": { @@ -805,7 +805,7 @@ "description": "The invite that was rejected, with its status updated." } }, - "description": "RejectOrganizationInviteResponse is the response from the RejectOrganizationInvite function." + "description": "RejectAccountInviteResponse is the response from the RejectAccountInvite function." }, "v1UpdateAccountResponse": { "type": "object", diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2.py b/gen/python/qdrant/cloud/account/v1/account_pb2.py index 8b4c7e44..84fc3b55 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2.py @@ -28,7 +28,7 @@ from qdrant.cloud.common.v1 import common_pb2 as qdrant_dot_cloud_dot_common_dot_v1_dot_common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%qdrant/cloud/account/v1/account.proto\x12\x17qdrant.cloud.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#qdrant/cloud/common/v1/common.proto\"\x15\n\x13ListAccountsRequest\"N\n\x14ListAccountsResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x05items\"<\n\x11GetAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"P\n\x12GetAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14\x43reateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15\x43reateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14UpdateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15UpdateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"?\n\x14\x44\x65leteAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x17\n\x15\x44\x65leteAccountResponse\"D\n\x19ListAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Z\n\x1aListAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"\x87\x01\n\x1bListMyAccountInvitesRequest\x12V\n\rstatus_filter\x18\x01 \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusH\x00R\x0cstatusFilter\x88\x01\x01\x42\x10\n\x0e_status_filter\"\\\n\x1cListMyAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"i\n\x17GetAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"Z\n\x18GetAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\\\n\x1a\x43reateAccountInviteRequest\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"]\n\x1b\x43reateAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1a\x44\x65leteAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"\x1d\n\x1b\x44\x65leteAccountInviteResponse\"l\n\x1a\x41\x63\x63\x65ptAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1b\x41\x63\x63\x65ptAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"q\n\x1fRejectOrganizationInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"b\n RejectOrganizationInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)\"\xd7\x04\n\rAccountInvite\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\tR\x0b\x61\x63\x63ountName\x12\x1f\n\x05\x65mail\x18\x04 \x01(\tB\t\xbaH\x06r\x04\x10\x01`\x01R\x05\x65mail\x12*\n\x08role_ids\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\xb0\x01\x01R\x07roleIds\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x35\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12&\n\x0f\x63reated_by_name\x18\x08 \x01(\tR\rcreatedByName\x12\x39\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x44\n\x10last_modified_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12&\n\x07user_id\x18\x0b \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x06userId\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusR\x06statusB\n\n\x08_user_id*\xee\x01\n\x13\x41\x63\x63ountInviteStatus\x12%\n!ACCOUNT_INVITE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_PENDING\x10\x01\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_ACCEPTED\x10\x02\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_REJECTED\x10\x03\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_EXPIRED\x10\x04\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_CANCELED\x10\x05\x32\x9c\x12\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}\x12\xc4\x01\n\x12ListAccountInvites\x12\x32.qdrant.cloud.account.v1.ListAccountInvitesRequest\x1a\x33.qdrant.cloud.account.v1.ListAccountInvitesResponse\"E\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02/\x12-/api/account/v1/accounts/{account_id}/invites\x12\xb1\x01\n\x14ListMyAccountInvites\x12\x34.qdrant.cloud.account.v1.ListMyAccountInvitesRequest\x1a\x35.qdrant.cloud.account.v1.ListMyAccountInvitesResponse\",\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/account/v1/self/invites\x12\xca\x01\n\x10GetAccountInvite\x12\x30.qdrant.cloud.account.v1.GetAccountInviteRequest\x1a\x31.qdrant.cloud.account.v1.GetAccountInviteResponse\"Q\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02;\x12\x39/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xe7\x01\n\x13\x43reateAccountInvite\x12\x33.qdrant.cloud.account.v1.CreateAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.CreateAccountInviteResponse\"e\x8a\xb5\x18\rwrite:invites\x92\xb5\x18\x11invite.account_id\x82\xd3\xe4\x93\x02\x39\"4/api/account/v1/accounts/{invite.account_id}/invites:\x01*\x12\xd5\x01\n\x13\x44\x65leteAccountInvite\x12\x33.qdrant.cloud.account.v1.DeleteAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.DeleteAccountInviteResponse\"S\x8a\xb5\x18\x0e\x64\x65lete:invites\x82\xd3\xe4\x93\x02;*9/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xce\x01\n\x13\x41\x63\x63\x65ptAccountInvite\x12\x33.qdrant.cloud.account.v1.AcceptAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.AcceptAccountInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/accept\x12\xdd\x01\n\x18RejectOrganizationInvite\x12\x38.qdrant.cloud.account.v1.RejectOrganizationInviteRequest\x1a\x39.qdrant.cloud.account.v1.RejectOrganizationInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/rejectB\xfe\x01\n\x1b\x63om.qdrant.cloud.account.v1B\x0c\x41\x63\x63ountProtoP\x01ZRgithub.com/qdrant/qdrant-cloud-public-api/gen/go/qdrant/cloud/account/v1;accountv1\xa2\x02\x03QCA\xaa\x02\x17Qdrant.Cloud.Account.V1\xca\x02\x17Qdrant\\Cloud\\Account\\V1\xe2\x02#Qdrant\\Cloud\\Account\\V1\\GPBMetadata\xea\x02\x1aQdrant::Cloud::Account::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%qdrant/cloud/account/v1/account.proto\x12\x17qdrant.cloud.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#qdrant/cloud/common/v1/common.proto\"\x15\n\x13ListAccountsRequest\"N\n\x14ListAccountsResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x05items\"<\n\x11GetAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"P\n\x12GetAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14\x43reateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15\x43reateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14UpdateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15UpdateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"?\n\x14\x44\x65leteAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x17\n\x15\x44\x65leteAccountResponse\"D\n\x19ListAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Z\n\x1aListAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"\x87\x01\n\x1bListMyAccountInvitesRequest\x12V\n\rstatus_filter\x18\x01 \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusH\x00R\x0cstatusFilter\x88\x01\x01\x42\x10\n\x0e_status_filter\"\\\n\x1cListMyAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"i\n\x17GetAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"Z\n\x18GetAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\\\n\x1a\x43reateAccountInviteRequest\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"]\n\x1b\x43reateAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1a\x44\x65leteAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"\x1d\n\x1b\x44\x65leteAccountInviteResponse\"l\n\x1a\x41\x63\x63\x65ptAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1b\x41\x63\x63\x65ptAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1aRejectAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1bRejectAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)\"\xd7\x04\n\rAccountInvite\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\tR\x0b\x61\x63\x63ountName\x12\x1f\n\x05\x65mail\x18\x04 \x01(\tB\t\xbaH\x06r\x04\x10\x01`\x01R\x05\x65mail\x12*\n\x08role_ids\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\xb0\x01\x01R\x07roleIds\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x35\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12&\n\x0f\x63reated_by_name\x18\x08 \x01(\tR\rcreatedByName\x12\x39\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x44\n\x10last_modified_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12&\n\x07user_id\x18\x0b \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x06userId\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusR\x06statusB\n\n\x08_user_id*\xee\x01\n\x13\x41\x63\x63ountInviteStatus\x12%\n!ACCOUNT_INVITE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_PENDING\x10\x01\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_ACCEPTED\x10\x02\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_REJECTED\x10\x03\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_EXPIRED\x10\x04\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_CANCELED\x10\x05\x32\x8d\x12\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}\x12\xc4\x01\n\x12ListAccountInvites\x12\x32.qdrant.cloud.account.v1.ListAccountInvitesRequest\x1a\x33.qdrant.cloud.account.v1.ListAccountInvitesResponse\"E\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02/\x12-/api/account/v1/accounts/{account_id}/invites\x12\xb1\x01\n\x14ListMyAccountInvites\x12\x34.qdrant.cloud.account.v1.ListMyAccountInvitesRequest\x1a\x35.qdrant.cloud.account.v1.ListMyAccountInvitesResponse\",\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/account/v1/self/invites\x12\xca\x01\n\x10GetAccountInvite\x12\x30.qdrant.cloud.account.v1.GetAccountInviteRequest\x1a\x31.qdrant.cloud.account.v1.GetAccountInviteResponse\"Q\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02;\x12\x39/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xe7\x01\n\x13\x43reateAccountInvite\x12\x33.qdrant.cloud.account.v1.CreateAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.CreateAccountInviteResponse\"e\x8a\xb5\x18\rwrite:invites\x92\xb5\x18\x11invite.account_id\x82\xd3\xe4\x93\x02\x39\"4/api/account/v1/accounts/{invite.account_id}/invites:\x01*\x12\xd5\x01\n\x13\x44\x65leteAccountInvite\x12\x33.qdrant.cloud.account.v1.DeleteAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.DeleteAccountInviteResponse\"S\x8a\xb5\x18\x0e\x64\x65lete:invites\x82\xd3\xe4\x93\x02;*9/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xce\x01\n\x13\x41\x63\x63\x65ptAccountInvite\x12\x33.qdrant.cloud.account.v1.AcceptAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.AcceptAccountInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/accept\x12\xce\x01\n\x13RejectAccountInvite\x12\x33.qdrant.cloud.account.v1.RejectAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.RejectAccountInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/rejectB\xfe\x01\n\x1b\x63om.qdrant.cloud.account.v1B\x0c\x41\x63\x63ountProtoP\x01ZRgithub.com/qdrant/qdrant-cloud-public-api/gen/go/qdrant/cloud/account/v1;accountv1\xa2\x02\x03QCA\xaa\x02\x17Qdrant.Cloud.Account.V1\xca\x02\x17Qdrant\\Cloud\\Account\\V1\xe2\x02#Qdrant\\Cloud\\Account\\V1\\GPBMetadata\xea\x02\x1aQdrant::Cloud::Account::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -54,10 +54,10 @@ _globals['_ACCEPTACCOUNTINVITEREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_ACCEPTACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._loaded_options = None _globals['_ACCEPTACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_REJECTORGANIZATIONINVITEREQUEST'].fields_by_name['account_id']._loaded_options = None - _globals['_REJECTORGANIZATIONINVITEREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_REJECTORGANIZATIONINVITEREQUEST'].fields_by_name['invite_id']._loaded_options = None - _globals['_REJECTORGANIZATIONINVITEREQUEST'].fields_by_name['invite_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_REJECTACCOUNTINVITEREQUEST'].fields_by_name['account_id']._loaded_options = None + _globals['_REJECTACCOUNTINVITEREQUEST'].fields_by_name['account_id']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_REJECTACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._loaded_options = None + _globals['_REJECTACCOUNTINVITEREQUEST'].fields_by_name['invite_id']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_ACCOUNT'].fields_by_name['name']._loaded_options = None _globals['_ACCOUNT'].fields_by_name['name']._serialized_options = b'\272H\030r\026\020\004\030@2\020^[a-zA-Z0-9-_]+$' _globals['_ACCOUNT'].fields_by_name['owner_id']._loaded_options = None @@ -102,10 +102,10 @@ _globals['_ACCOUNTSERVICE'].methods_by_name['DeleteAccountInvite']._serialized_options = b'\212\265\030\016delete:invites\202\323\344\223\002;*9/api/account/v1/accounts/{account_id}/invites/{invite_id}' _globals['_ACCOUNTSERVICE'].methods_by_name['AcceptAccountInvite']._loaded_options = None _globals['_ACCOUNTSERVICE'].methods_by_name['AcceptAccountInvite']._serialized_options = b'\212\265\030\000\202\323\344\223\002B\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/accept' - _globals['_ACCOUNTSERVICE'].methods_by_name['RejectOrganizationInvite']._loaded_options = None - _globals['_ACCOUNTSERVICE'].methods_by_name['RejectOrganizationInvite']._serialized_options = b'\212\265\030\000\202\323\344\223\002B\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/reject' - _globals['_ACCOUNTINVITESTATUS']._serialized_start=3320 - _globals['_ACCOUNTINVITESTATUS']._serialized_end=3558 + _globals['_ACCOUNTSERVICE'].methods_by_name['RejectAccountInvite']._loaded_options = None + _globals['_ACCOUNTSERVICE'].methods_by_name['RejectAccountInvite']._serialized_options = b'\212\265\030\000\202\323\344\223\002B\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/reject' + _globals['_ACCOUNTINVITESTATUS']._serialized_start=3310 + _globals['_ACCOUNTINVITESTATUS']._serialized_end=3548 _globals['_LISTACCOUNTSREQUEST']._serialized_start=195 _globals['_LISTACCOUNTSREQUEST']._serialized_end=216 _globals['_LISTACCOUNTSRESPONSE']._serialized_start=218 @@ -150,14 +150,14 @@ _globals['_ACCEPTACCOUNTINVITEREQUEST']._serialized_end=1901 _globals['_ACCEPTACCOUNTINVITERESPONSE']._serialized_start=1903 _globals['_ACCEPTACCOUNTINVITERESPONSE']._serialized_end=1996 - _globals['_REJECTORGANIZATIONINVITEREQUEST']._serialized_start=1998 - _globals['_REJECTORGANIZATIONINVITEREQUEST']._serialized_end=2111 - _globals['_REJECTORGANIZATIONINVITERESPONSE']._serialized_start=2113 - _globals['_REJECTORGANIZATIONINVITERESPONSE']._serialized_end=2211 - _globals['_ACCOUNT']._serialized_start=2214 - _globals['_ACCOUNT']._serialized_end=2715 - _globals['_ACCOUNTINVITE']._serialized_start=2718 - _globals['_ACCOUNTINVITE']._serialized_end=3317 - _globals['_ACCOUNTSERVICE']._serialized_start=3561 - _globals['_ACCOUNTSERVICE']._serialized_end=5893 + _globals['_REJECTACCOUNTINVITEREQUEST']._serialized_start=1998 + _globals['_REJECTACCOUNTINVITEREQUEST']._serialized_end=2106 + _globals['_REJECTACCOUNTINVITERESPONSE']._serialized_start=2108 + _globals['_REJECTACCOUNTINVITERESPONSE']._serialized_end=2201 + _globals['_ACCOUNT']._serialized_start=2204 + _globals['_ACCOUNT']._serialized_end=2705 + _globals['_ACCOUNTINVITE']._serialized_start=2708 + _globals['_ACCOUNTINVITE']._serialized_end=3307 + _globals['_ACCOUNTSERVICE']._serialized_start=3551 + _globals['_ACCOUNTSERVICE']._serialized_end=5868 # @@protoc_insertion_point(module_scope) diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2.pyi b/gen/python/qdrant/cloud/account/v1/account_pb2.pyi index ee864686..d2579059 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2.pyi +++ b/gen/python/qdrant/cloud/account/v1/account_pb2.pyi @@ -157,7 +157,7 @@ class AcceptAccountInviteResponse(_message.Message): invite: AccountInvite def __init__(self, invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... -class RejectOrganizationInviteRequest(_message.Message): +class RejectAccountInviteRequest(_message.Message): __slots__ = ("account_id", "invite_id") ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] INVITE_ID_FIELD_NUMBER: _ClassVar[int] @@ -165,7 +165,7 @@ class RejectOrganizationInviteRequest(_message.Message): invite_id: str def __init__(self, account_id: _Optional[str] = ..., invite_id: _Optional[str] = ...) -> None: ... -class RejectOrganizationInviteResponse(_message.Message): +class RejectAccountInviteResponse(_message.Message): __slots__ = ("invite",) INVITE_FIELD_NUMBER: _ClassVar[int] invite: AccountInvite diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py index 8a6867d4..b852c530 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py @@ -70,10 +70,10 @@ def __init__(self, channel): request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteRequest.SerializeToString, response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteResponse.FromString, _registered_method=True) - self.RejectOrganizationInvite = channel.unary_unary( - '/qdrant.cloud.account.v1.AccountService/RejectOrganizationInvite', - request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteRequest.SerializeToString, - response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteResponse.FromString, + self.RejectAccountInvite = channel.unary_unary( + '/qdrant.cloud.account.v1.AccountService/RejectAccountInvite', + request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectAccountInviteRequest.SerializeToString, + response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectAccountInviteResponse.FromString, _registered_method=True) @@ -186,7 +186,7 @@ def AcceptAccountInvite(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def RejectOrganizationInvite(self, request, context): + def RejectAccountInvite(self, request, context): """Reject an account invite The authenticated user's email address must match the email address specified in the invite. @@ -255,10 +255,10 @@ def add_AccountServiceServicer_to_server(servicer, server): request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteRequest.FromString, response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.AcceptAccountInviteResponse.SerializeToString, ), - 'RejectOrganizationInvite': grpc.unary_unary_rpc_method_handler( - servicer.RejectOrganizationInvite, - request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteRequest.FromString, - response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteResponse.SerializeToString, + 'RejectAccountInvite': grpc.unary_unary_rpc_method_handler( + servicer.RejectAccountInvite, + request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectAccountInviteRequest.FromString, + response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectAccountInviteResponse.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -570,7 +570,7 @@ def AcceptAccountInvite(request, _registered_method=True) @staticmethod - def RejectOrganizationInvite(request, + def RejectAccountInvite(request, target, options=(), channel_credentials=None, @@ -583,9 +583,9 @@ def RejectOrganizationInvite(request, return grpc.experimental.unary_unary( request, target, - '/qdrant.cloud.account.v1.AccountService/RejectOrganizationInvite', - qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteRequest.SerializeToString, - qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectOrganizationInviteResponse.FromString, + '/qdrant.cloud.account.v1.AccountService/RejectAccountInvite', + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectAccountInviteRequest.SerializeToString, + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.RejectAccountInviteResponse.FromString, options, channel_credentials, insecure, diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts index 89141746..7c1b6be5 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts @@ -472,12 +472,12 @@ export declare type AcceptAccountInviteResponse = Message<"qdrant.cloud.account. export declare const AcceptAccountInviteResponseSchema: GenMessage; /** - * RejectOrganizationInviteRequest is the request for the RejectOrganizationInvite function. + * RejectAccountInviteRequest is the request for the RejectAccountInvite function. * Note: This RPC, despite its name, is used to reject an *Account Invite*. * - * @generated from message qdrant.cloud.account.v1.RejectOrganizationInviteRequest + * @generated from message qdrant.cloud.account.v1.RejectAccountInviteRequest */ -export declare type RejectOrganizationInviteRequest = Message<"qdrant.cloud.account.v1.RejectOrganizationInviteRequest"> & { +export declare type RejectAccountInviteRequest = Message<"qdrant.cloud.account.v1.RejectAccountInviteRequest"> & { /** * The identifier of the account (in GUID format) the invite is for. * This is a required field. @@ -496,17 +496,17 @@ export declare type RejectOrganizationInviteRequest = Message<"qdrant.cloud.acco }; /** - * Describes the message qdrant.cloud.account.v1.RejectOrganizationInviteRequest. - * Use `create(RejectOrganizationInviteRequestSchema)` to create a new message. + * Describes the message qdrant.cloud.account.v1.RejectAccountInviteRequest. + * Use `create(RejectAccountInviteRequestSchema)` to create a new message. */ -export declare const RejectOrganizationInviteRequestSchema: GenMessage; +export declare const RejectAccountInviteRequestSchema: GenMessage; /** - * RejectOrganizationInviteResponse is the response from the RejectOrganizationInvite function. + * RejectAccountInviteResponse is the response from the RejectAccountInvite function. * - * @generated from message qdrant.cloud.account.v1.RejectOrganizationInviteResponse + * @generated from message qdrant.cloud.account.v1.RejectAccountInviteResponse */ -export declare type RejectOrganizationInviteResponse = Message<"qdrant.cloud.account.v1.RejectOrganizationInviteResponse"> & { +export declare type RejectAccountInviteResponse = Message<"qdrant.cloud.account.v1.RejectAccountInviteResponse"> & { /** * The invite that was rejected, with its status updated. * @@ -516,10 +516,10 @@ export declare type RejectOrganizationInviteResponse = Message<"qdrant.cloud.acc }; /** - * Describes the message qdrant.cloud.account.v1.RejectOrganizationInviteResponse. - * Use `create(RejectOrganizationInviteResponseSchema)` to create a new message. + * Describes the message qdrant.cloud.account.v1.RejectAccountInviteResponse. + * Use `create(RejectAccountInviteResponseSchema)` to create a new message. */ -export declare const RejectOrganizationInviteResponseSchema: GenMessage; +export declare const RejectAccountInviteResponseSchema: GenMessage; /** * An Account represents an account in the Qdrant cloud. @@ -911,12 +911,12 @@ export declare const AccountService: GenService<{ * Required permissions: * - None (authenticated only) * - * @generated from rpc qdrant.cloud.account.v1.AccountService.RejectOrganizationInvite + * @generated from rpc qdrant.cloud.account.v1.AccountService.RejectAccountInvite */ - rejectOrganizationInvite: { + rejectAccountInvite: { methodKind: "unary"; - input: typeof RejectOrganizationInviteRequestSchema; - output: typeof RejectOrganizationInviteResponseSchema; + input: typeof RejectAccountInviteRequestSchema; + output: typeof RejectAccountInviteResponseSchema; }, }>; diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.js b/gen/typescript/qdrant/cloud/account/v1/account_pb.js index 0b19b98a..e744a512 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.js +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.js @@ -12,7 +12,7 @@ import { file_qdrant_cloud_common_v1_common } from "../../common/v1/common_pb.js * Describes the file qdrant/cloud/account/v1/account.proto. */ export const file_qdrant_cloud_account_v1_account = /*@__PURE__*/ - fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UiOQoZTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJTChpMaXN0QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUieQobTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0EkgKDXN0YXR1c19maWx0ZXIYASABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzSACIAQFCEAoOX3N0YXR1c19maWx0ZXIiVQocTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVAoXR2V0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJSChhHZXRBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSJUChpDcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlUKG0NyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZRI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlcKGkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlcKGkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiVQobQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiXAofUmVqZWN0T3JnYW5pemF0aW9uSW52aXRlUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABARIbCglpbnZpdGVfaWQYAiABKAlCCLpIBXIDsAEBIloKIFJlamVjdE9yZ2FuaXphdGlvbkludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUirwMKB0FjY291bnQSCgoCaWQYASABKAkSLgoKY3JlYXRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQbGFzdF9tb2RpZmllZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKQoEbmFtZRgFIAEoCUIbukgYchYQBBhAMhBeW2EtekEtWjAtOS1fXSskEhoKCG93bmVyX2lkGAYgASgJQgi6SAVyA7ABARIcCgtvd25lcl9lbWFpbBgHIAEoCUIHukgEcgJgARIgCgpwcml2aWxlZ2VzGAggAygJQgy6SAmSAQYiBHICEAE6qgG6SKYBGqMBCgphY2NvdW50LmlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp5dGhpcy5pZC5tYXRjaGVzKCdeWzAtOWEtZkEtRl17OH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17MTJ9JCcpIHx8ICFoYXModGhpcy5jcmVhdGVkX2F0KSLVAwoNQWNjb3VudEludml0ZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESHAoKYWNjb3VudF9pZBgCIAEoCUIIukgFcgOwAQESFAoMYWNjb3VudF9uYW1lGAMgASgJEhgKBWVtYWlsGAQgASgJQgm6SAZyBBABYAESIQoIcm9sZV9pZHMYBSADKAlCD7pIDJIBCQgBIgVyA7ABARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIkChJjcmVhdGVkX2J5X3VzZXJfaWQYByABKAlCCLpIBXIDsAEBEhcKD2NyZWF0ZWRfYnlfbmFtZRgIIAEoCRIuCgpleHBpcmVzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBsYXN0X21vZGlmaWVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeCgd1c2VyX2lkGAsgASgJQgi6SAVyA7ABAUgAiAEBEjwKBnN0YXR1cxgMIAEoDjIsLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGVTdGF0dXNCCgoIX3VzZXJfaWQq7gEKE0FjY291bnRJbnZpdGVTdGF0dXMSJQohQUNDT1VOVF9JTlZJVEVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodQUNDT1VOVF9JTlZJVEVfU1RBVFVTX1BFTkRJTkcQARIiCh5BQ0NPVU5UX0lOVklURV9TVEFUVVNfQUNDRVBURUQQAhIiCh5BQ0NPVU5UX0lOVklURV9TVEFUVVNfUkVKRUNURUQQAxIhCh1BQ0NPVU5UX0lOVklURV9TVEFUVVNfRVhQSVJFRBAEEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19DQU5DRUxFRBAFMpwSCg5BY2NvdW50U2VydmljZRKVAQoMTGlzdEFjY291bnRzEiwucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRzUmVxdWVzdBotLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50c1Jlc3BvbnNlIiiKtRgAkrUYAILT5JMCGhIYL2FwaS9hY2NvdW50L3YxL2FjY291bnRzEqQBCgpHZXRBY2NvdW50EioucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudFJlcXVlc3QaKy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50UmVzcG9uc2UiPYq1GAxyZWFkOmFjY291bnSC0+STAicSJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0SmwEKDUNyZWF0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRSZXNwb25zZSIrirUYAJK1GACC0+STAh06ASoiGC9hcGkvYWNjb3VudC92MS9hY2NvdW50cxK/AQoNVXBkYXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuVXBkYXRlQWNjb3VudFJlc3BvbnNlIk+KtRgNd3JpdGU6YWNjb3VudJK1GAphY2NvdW50LmlkgtPkkwIqOgEqGiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnQuaWR9Eq8BCg1EZWxldGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50UmVzcG9uc2UiP4q1GA5kZWxldGU6YWNjb3VudILT5JMCJyolL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfRLEAQoSTGlzdEFjY291bnRJbnZpdGVzEjIucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBozLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50SW52aXRlc1Jlc3BvbnNlIkWKtRgMcmVhZDppbnZpdGVzgtPkkwIvEi0vYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMSsQEKFExpc3RNeUFjY291bnRJbnZpdGVzEjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0GjUucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZSIsirUYAJK1GACC0+STAh4SHC9hcGkvYWNjb3VudC92MS9zZWxmL2ludml0ZXMSygEKEEdldEFjY291bnRJbnZpdGUSMC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50SW52aXRlUmVxdWVzdBoxLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRJbnZpdGVSZXNwb25zZSJRirUYDHJlYWQ6aW52aXRlc4LT5JMCOxI5L2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9EucBChNDcmVhdGVBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuQ3JlYXRlQWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50SW52aXRlUmVzcG9uc2UiZYq1GA13cml0ZTppbnZpdGVzkrUYEWludml0ZS5hY2NvdW50X2lkgtPkkwI5OgEqIjQvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2ludml0ZS5hY2NvdW50X2lkfS9pbnZpdGVzEtUBChNEZWxldGVBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50SW52aXRlUmVzcG9uc2UiU4q1GA5kZWxldGU6aW52aXRlc4LT5JMCOyo5L2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9Es4BChNBY2NlcHRBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjZXB0QWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NlcHRBY2NvdW50SW52aXRlUmVzcG9uc2UiTIq1GACC0+STAkIiQC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcy97aW52aXRlX2lkfS9hY2NlcHQS3QEKGFJlamVjdE9yZ2FuaXphdGlvbkludml0ZRI4LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlJlamVjdE9yZ2FuaXphdGlvbkludml0ZVJlcXVlc3QaOS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5SZWplY3RPcmdhbml6YXRpb25JbnZpdGVSZXNwb25zZSJMirUYAILT5JMCQiJAL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9L3JlamVjdEL+AQobY29tLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxQgxBY2NvdW50UHJvdG9QAVpSZ2l0aHViLmNvbS9xZHJhbnQvcWRyYW50LWNsb3VkLXB1YmxpYy1hcGkvZ2VuL2dvL3FkcmFudC9jbG91ZC9hY2NvdW50L3YxO2FjY291bnR2MaICA1FDQaoCF1FkcmFudC5DbG91ZC5BY2NvdW50LlYxygIXUWRyYW50XENsb3VkXEFjY291bnRcVjHiAiNRZHJhbnRcQ2xvdWRcQWNjb3VudFxWMVxHUEJNZXRhZGF0YeoCGlFkcmFudDo6Q2xvdWQ6OkFjY291bnQ6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); + fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UiOQoZTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJTChpMaXN0QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUieQobTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0EkgKDXN0YXR1c19maWx0ZXIYASABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzSACIAQFCEAoOX3N0YXR1c19maWx0ZXIiVQocTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVAoXR2V0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJSChhHZXRBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSJUChpDcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlUKG0NyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZRI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlcKGkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlcKGkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiVQobQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVwoaUmVqZWN0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJVChtSZWplY3RBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSKvAwoHQWNjb3VudBIKCgJpZBgBIAEoCRIuCgpjcmVhdGVkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBsYXN0X21vZGlmaWVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgRuYW1lGAUgASgJQhu6SBhyFhAEGEAyEF5bYS16QS1aMC05LV9dKyQSGgoIb3duZXJfaWQYBiABKAlCCLpIBXIDsAEBEhwKC293bmVyX2VtYWlsGAcgASgJQge6SARyAmABEiAKCnByaXZpbGVnZXMYCCADKAlCDLpICZIBBiIEcgIQATqqAbpIpgEaowEKCmFjY291bnQuaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGnl0aGlzLmlkLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykgfHwgIWhhcyh0aGlzLmNyZWF0ZWRfYXQpItUDCg1BY2NvdW50SW52aXRlEhQKAmlkGAEgASgJQgi6SAVyA7ABARIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABARIUCgxhY2NvdW50X25hbWUYAyABKAkSGAoFZW1haWwYBCABKAlCCbpIBnIEEAFgARIhCghyb2xlX2lkcxgFIAMoCUIPukgMkgEJCAEiBXIDsAEBEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKEmNyZWF0ZWRfYnlfdXNlcl9pZBgHIAEoCUIIukgFcgOwAQESFwoPY3JlYXRlZF9ieV9uYW1lGAggASgJEi4KCmV4cGlyZXNfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKEGxhc3RfbW9kaWZpZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEh4KB3VzZXJfaWQYCyABKAlCCLpIBXIDsAEBSACIAQESPAoGc3RhdHVzGAwgASgOMiwucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZVN0YXR1c0IKCghfdXNlcl9pZCruAQoTQWNjb3VudEludml0ZVN0YXR1cxIlCiFBQ0NPVU5UX0lOVklURV9TVEFUVVNfVU5TUEVDSUZJRUQQABIhCh1BQ0NPVU5UX0lOVklURV9TVEFUVVNfUEVORElORxABEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19BQ0NFUFRFRBACEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19SRUpFQ1RFRBADEiEKHUFDQ09VTlRfSU5WSVRFX1NUQVRVU19FWFBJUkVEEAQSIgoeQUNDT1VOVF9JTlZJVEVfU1RBVFVTX0NBTkNFTEVEEAUyjRIKDkFjY291bnRTZXJ2aWNlEpUBCgxMaXN0QWNjb3VudHMSLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5MaXN0QWNjb3VudHNSZXF1ZXN0Gi0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRzUmVzcG9uc2UiKIq1GACStRgAgtPkkwIaEhgvYXBpL2FjY291bnQvdjEvYWNjb3VudHMSpAEKCkdldEFjY291bnQSKi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50UmVxdWVzdBorLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRSZXNwb25zZSI9irUYDHJlYWQ6YWNjb3VudILT5JMCJxIlL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfRKbAQoNQ3JlYXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuQ3JlYXRlQWNjb3VudFJlc3BvbnNlIiuKtRgAkrUYAILT5JMCHToBKiIYL2FwaS9hY2NvdW50L3YxL2FjY291bnRzEr8BCg1VcGRhdGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuVXBkYXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5VcGRhdGVBY2NvdW50UmVzcG9uc2UiT4q1GA13cml0ZTphY2NvdW50krUYCmFjY291bnQuaWSC0+STAio6ASoaJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudC5pZH0SrwEKDURlbGV0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRSZXNwb25zZSI/irUYDmRlbGV0ZTphY2NvdW50gtPkkwInKiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9EsQBChJMaXN0QWNjb3VudEludml0ZXMSMi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5MaXN0QWNjb3VudEludml0ZXNSZXF1ZXN0GjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRJbnZpdGVzUmVzcG9uc2UiRYq1GAxyZWFkOmludml0ZXOC0+STAi8SLS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcxKxAQoUTGlzdE15QWNjb3VudEludml0ZXMSNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5MaXN0TXlBY2NvdW50SW52aXRlc1JlcXVlc3QaNS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5MaXN0TXlBY2NvdW50SW52aXRlc1Jlc3BvbnNlIiyKtRgAkrUYAILT5JMCHhIcL2FwaS9hY2NvdW50L3YxL3NlbGYvaW52aXRlcxLKAQoQR2V0QWNjb3VudEludml0ZRIwLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRJbnZpdGVSZXF1ZXN0GjEucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudEludml0ZVJlc3BvbnNlIlGKtRgMcmVhZDppbnZpdGVzgtPkkwI7EjkvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0S5wEKE0NyZWF0ZUFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZSJlirUYDXdyaXRlOmludml0ZXOStRgRaW52aXRlLmFjY291bnRfaWSC0+STAjk6ASoiNC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97aW52aXRlLmFjY291bnRfaWR9L2ludml0ZXMS1QEKE0RlbGV0ZUFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRJbnZpdGVSZXNwb25zZSJTirUYDmRlbGV0ZTppbnZpdGVzgtPkkwI7KjkvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0SzgEKE0FjY2VwdEFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NlcHRBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY2VwdEFjY291bnRJbnZpdGVSZXNwb25zZSJMirUYAILT5JMCQiJAL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9L2FjY2VwdBLOAQoTUmVqZWN0QWNjb3VudEludml0ZRIzLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlJlamVjdEFjY291bnRJbnZpdGVSZXF1ZXN0GjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuUmVqZWN0QWNjb3VudEludml0ZVJlc3BvbnNlIkyKtRgAgtPkkwJCIkAvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0vcmVqZWN0Qv4BChtjb20ucWRyYW50LmNsb3VkLmFjY291bnQudjFCDEFjY291bnRQcm90b1ABWlJnaXRodWIuY29tL3FkcmFudC9xZHJhbnQtY2xvdWQtcHVibGljLWFwaS9nZW4vZ28vcWRyYW50L2Nsb3VkL2FjY291bnQvdjE7YWNjb3VudHYxogIDUUNBqgIXUWRyYW50LkNsb3VkLkFjY291bnQuVjHKAhdRZHJhbnRcQ2xvdWRcQWNjb3VudFxWMeICI1FkcmFudFxDbG91ZFxBY2NvdW50XFYxXEdQQk1ldGFkYXRh6gIaUWRyYW50OjpDbG91ZDo6QWNjb3VudDo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); /** * Describes the message qdrant.cloud.account.v1.ListAccountsRequest. @@ -169,17 +169,17 @@ export const AcceptAccountInviteResponseSchema = /*@__PURE__*/ messageDesc(file_qdrant_cloud_account_v1_account, 21); /** - * Describes the message qdrant.cloud.account.v1.RejectOrganizationInviteRequest. - * Use `create(RejectOrganizationInviteRequestSchema)` to create a new message. + * Describes the message qdrant.cloud.account.v1.RejectAccountInviteRequest. + * Use `create(RejectAccountInviteRequestSchema)` to create a new message. */ -export const RejectOrganizationInviteRequestSchema = /*@__PURE__*/ +export const RejectAccountInviteRequestSchema = /*@__PURE__*/ messageDesc(file_qdrant_cloud_account_v1_account, 22); /** - * Describes the message qdrant.cloud.account.v1.RejectOrganizationInviteResponse. - * Use `create(RejectOrganizationInviteResponseSchema)` to create a new message. + * Describes the message qdrant.cloud.account.v1.RejectAccountInviteResponse. + * Use `create(RejectAccountInviteResponseSchema)` to create a new message. */ -export const RejectOrganizationInviteResponseSchema = /*@__PURE__*/ +export const RejectAccountInviteResponseSchema = /*@__PURE__*/ messageDesc(file_qdrant_cloud_account_v1_account, 23); /** diff --git a/proto/qdrant/cloud/account/v1/account.proto b/proto/qdrant/cloud/account/v1/account.proto index 4512cbd0..17848fc7 100644 --- a/proto/qdrant/cloud/account/v1/account.proto +++ b/proto/qdrant/cloud/account/v1/account.proto @@ -138,7 +138,7 @@ service AccountService { // the invite. // Required permissions: // - None (authenticated only) - rpc RejectOrganizationInvite(RejectOrganizationInviteRequest) returns (RejectOrganizationInviteResponse) { + rpc RejectAccountInvite(RejectAccountInviteRequest) returns (RejectAccountInviteResponse) { // permissions option (common.v1.permissions) = ""; // gRPC Gateway REST call @@ -294,9 +294,9 @@ message AcceptAccountInviteResponse { AccountInvite invite = 1; } -// RejectOrganizationInviteRequest is the request for the RejectOrganizationInvite function. +// RejectAccountInviteRequest is the request for the RejectAccountInvite function. // Note: This RPC, despite its name, is used to reject an *Account Invite*. -message RejectOrganizationInviteRequest { +message RejectAccountInviteRequest { // The identifier of the account (in GUID format) the invite is for. // This is a required field. string account_id = 1 [(buf.validate.field).string = {uuid: true}]; @@ -305,8 +305,8 @@ message RejectOrganizationInviteRequest { string invite_id = 2 [(buf.validate.field).string = {uuid: true}]; } -// RejectOrganizationInviteResponse is the response from the RejectOrganizationInvite function. -message RejectOrganizationInviteResponse { +// RejectAccountInviteResponse is the response from the RejectAccountInvite function. +message RejectAccountInviteResponse { // The invite that was rejected, with its status updated. AccountInvite invite = 1; } From 9452a986a646ab07b696062972188a4252729613 Mon Sep 17 00:00:00 2001 From: Robert-Stam Date: Fri, 6 Jun 2025 18:07:56 +0200 Subject: [PATCH 4/6] dropped: The authenticated user must be a member of the account identifier by the given account ID. --- gen/go/qdrant/cloud/account/v1/account_grpc.pb.go | 8 -------- .../qdrant/cloud/account/v1/account.swagger.json | 8 ++++---- gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py | 4 ---- gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts | 4 ---- proto/qdrant/cloud/account/v1/account.proto | 4 ---- 5 files changed, 4 insertions(+), 24 deletions(-) diff --git a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go index 8455ef0b..1cccd7a6 100644 --- a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go @@ -60,7 +60,6 @@ type AccountServiceClient interface { // - delete:account DeleteAccount(ctx context.Context, in *DeleteAccountRequest, opts ...grpc.CallOption) (*DeleteAccountResponse, error) // Fetch all account invites in the account identified by the given account ID. - // The authenticated user must be a member of the account identifier by the given account ID. // Required permissions: // - read:invites ListAccountInvites(ctx context.Context, in *ListAccountInvitesRequest, opts ...grpc.CallOption) (*ListAccountInvitesResponse, error) @@ -69,17 +68,14 @@ type AccountServiceClient interface { // - None (authenticated only) ListMyAccountInvites(ctx context.Context, in *ListMyAccountInvitesRequest, opts ...grpc.CallOption) (*ListMyAccountInvitesResponse, error) // Fetch an account invite by its id. - // The authenticated user must be a member of the account that the invite is for. // Required permissions: // - read:invites GetAccountInvite(ctx context.Context, in *GetAccountInviteRequest, opts ...grpc.CallOption) (*GetAccountInviteResponse, error) // Create a new account invite. - // The authenticated user must be a member of the account that the invite is for. // Required permissions: // - write:invites CreateAccountInvite(ctx context.Context, in *CreateAccountInviteRequest, opts ...grpc.CallOption) (*CreateAccountInviteResponse, error) // Delete an account invite - // The authenticated user must be a member of the account that the invite is for. // Required permissions: // - delete:invites DeleteAccountInvite(ctx context.Context, in *DeleteAccountInviteRequest, opts ...grpc.CallOption) (*DeleteAccountInviteResponse, error) @@ -252,7 +248,6 @@ type AccountServiceServer interface { // - delete:account DeleteAccount(context.Context, *DeleteAccountRequest) (*DeleteAccountResponse, error) // Fetch all account invites in the account identified by the given account ID. - // The authenticated user must be a member of the account identifier by the given account ID. // Required permissions: // - read:invites ListAccountInvites(context.Context, *ListAccountInvitesRequest) (*ListAccountInvitesResponse, error) @@ -261,17 +256,14 @@ type AccountServiceServer interface { // - None (authenticated only) ListMyAccountInvites(context.Context, *ListMyAccountInvitesRequest) (*ListMyAccountInvitesResponse, error) // Fetch an account invite by its id. - // The authenticated user must be a member of the account that the invite is for. // Required permissions: // - read:invites GetAccountInvite(context.Context, *GetAccountInviteRequest) (*GetAccountInviteResponse, error) // Create a new account invite. - // The authenticated user must be a member of the account that the invite is for. // Required permissions: // - write:invites CreateAccountInvite(context.Context, *CreateAccountInviteRequest) (*CreateAccountInviteResponse, error) // Delete an account invite - // The authenticated user must be a member of the account that the invite is for. // Required permissions: // - delete:invites DeleteAccountInvite(context.Context, *DeleteAccountInviteRequest) (*DeleteAccountInviteResponse, error) diff --git a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json index 7b1d6709..e257f2fb 100644 --- a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json +++ b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json @@ -175,7 +175,7 @@ }, "/api/account/v1/accounts/{accountId}/invites": { "get": { - "summary": "Fetch all account invites in the account identified by the given account ID.\nThe authenticated user must be a member of the account identifier by the given account ID.\nRequired permissions:\n- read:invites", + "summary": "Fetch all account invites in the account identified by the given account ID.\nRequired permissions:\n- read:invites", "operationId": "AccountService_ListAccountInvites", "responses": { "200": { @@ -207,7 +207,7 @@ }, "/api/account/v1/accounts/{accountId}/invites/{inviteId}": { "get": { - "summary": "Fetch an account invite by its id.\nThe authenticated user must be a member of the account that the invite is for.\nRequired permissions:\n- read:invites", + "summary": "Fetch an account invite by its id.\nRequired permissions:\n- read:invites", "operationId": "AccountService_GetAccountInvite", "responses": { "200": { @@ -244,7 +244,7 @@ ] }, "delete": { - "summary": "Delete an account invite\nThe authenticated user must be a member of the account that the invite is for.\nRequired permissions:\n- delete:invites", + "summary": "Delete an account invite\nRequired permissions:\n- delete:invites", "operationId": "AccountService_DeleteAccountInvite", "responses": { "200": { @@ -361,7 +361,7 @@ }, "/api/account/v1/accounts/{invite.accountId}/invites": { "post": { - "summary": "Create a new account invite.\nThe authenticated user must be a member of the account that the invite is for.\nRequired permissions:\n- write:invites", + "summary": "Create a new account invite.\nRequired permissions:\n- write:invites", "operationId": "AccountService_CreateAccountInvite", "responses": { "200": { diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py index b852c530..72e0cdd5 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py @@ -128,7 +128,6 @@ def DeleteAccount(self, request, context): def ListAccountInvites(self, request, context): """Fetch all account invites in the account identified by the given account ID. - The authenticated user must be a member of the account identifier by the given account ID. Required permissions: - read:invites """ @@ -147,7 +146,6 @@ def ListMyAccountInvites(self, request, context): def GetAccountInvite(self, request, context): """Fetch an account invite by its id. - The authenticated user must be a member of the account that the invite is for. Required permissions: - read:invites """ @@ -157,7 +155,6 @@ def GetAccountInvite(self, request, context): def CreateAccountInvite(self, request, context): """Create a new account invite. - The authenticated user must be a member of the account that the invite is for. Required permissions: - write:invites """ @@ -167,7 +164,6 @@ def CreateAccountInvite(self, request, context): def DeleteAccountInvite(self, request, context): """Delete an account invite - The authenticated user must be a member of the account that the invite is for. Required permissions: - delete:invites """ diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts index 7c1b6be5..04505e39 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts @@ -828,7 +828,6 @@ export declare const AccountService: GenService<{ }, /** * Fetch all account invites in the account identified by the given account ID. - * The authenticated user must be a member of the account identifier by the given account ID. * Required permissions: * - read:invites * @@ -853,7 +852,6 @@ export declare const AccountService: GenService<{ }, /** * Fetch an account invite by its id. - * The authenticated user must be a member of the account that the invite is for. * Required permissions: * - read:invites * @@ -866,7 +864,6 @@ export declare const AccountService: GenService<{ }, /** * Create a new account invite. - * The authenticated user must be a member of the account that the invite is for. * Required permissions: * - write:invites * @@ -879,7 +876,6 @@ export declare const AccountService: GenService<{ }, /** * Delete an account invite - * The authenticated user must be a member of the account that the invite is for. * Required permissions: * - delete:invites * diff --git a/proto/qdrant/cloud/account/v1/account.proto b/proto/qdrant/cloud/account/v1/account.proto index 17848fc7..f366fb66 100644 --- a/proto/qdrant/cloud/account/v1/account.proto +++ b/proto/qdrant/cloud/account/v1/account.proto @@ -67,7 +67,6 @@ service AccountService { option (google.api.http) = {delete: "/api/account/v1/accounts/{account_id}"}; } // Fetch all account invites in the account identified by the given account ID. - // The authenticated user must be a member of the account identifier by the given account ID. // Required permissions: // - read:invites rpc ListAccountInvites(ListAccountInvitesRequest) returns (ListAccountInvitesResponse) { @@ -88,7 +87,6 @@ service AccountService { option (google.api.http) = {get: "/api/account/v1/self/invites"}; } // Fetch an account invite by its id. - // The authenticated user must be a member of the account that the invite is for. // Required permissions: // - read:invites rpc GetAccountInvite(GetAccountInviteRequest) returns (GetAccountInviteResponse) { @@ -98,7 +96,6 @@ service AccountService { option (google.api.http) = {get: "/api/account/v1/accounts/{account_id}/invites/{invite_id}"}; } // Create a new account invite. - // The authenticated user must be a member of the account that the invite is for. // Required permissions: // - write:invites rpc CreateAccountInvite(CreateAccountInviteRequest) returns (CreateAccountInviteResponse) { @@ -113,7 +110,6 @@ service AccountService { }; } // Delete an account invite - // The authenticated user must be a member of the account that the invite is for. // Required permissions: // - delete:invites rpc DeleteAccountInvite(DeleteAccountInviteRequest) returns (DeleteAccountInviteResponse) { From 3a104a859bb5f01ba3f87f7e76a2bddd4605beef Mon Sep 17 00:00:00 2001 From: Robert-Stam Date: Fri, 6 Jun 2025 19:16:21 +0200 Subject: [PATCH 5/6] Review remarks addressed --- gen/go/qdrant/cloud/account/v1/account.pb.go | 674 +++++++++--------- .../cloud/account/v1/account_grpc.pb.go | 10 +- .../cloud/account/v1/account.swagger.json | 49 +- .../qdrant/cloud/account/v1/account_pb2.py | 62 +- .../qdrant/cloud/account/v1/account_pb2.pyi | 40 +- .../cloud/account/v1/account_pb2_grpc.py | 6 +- .../qdrant/cloud/account/v1/account_pb.d.ts | 65 +- .../qdrant/cloud/account/v1/account_pb.js | 2 +- proto/qdrant/cloud/account/v1/account.proto | 39 +- 9 files changed, 452 insertions(+), 495 deletions(-) diff --git a/gen/go/qdrant/cloud/account/v1/account.pb.go b/gen/go/qdrant/cloud/account/v1/account.pb.go index aeb05c5e..c3f441d5 100644 --- a/gen/go/qdrant/cloud/account/v1/account.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account.pb.go @@ -37,8 +37,6 @@ const ( AccountInviteStatus_ACCOUNT_INVITE_STATUS_ACCEPTED AccountInviteStatus = 2 // The invite has been rejected by the user. AccountInviteStatus_ACCOUNT_INVITE_STATUS_REJECTED AccountInviteStatus = 3 - // The invite has expired. - AccountInviteStatus_ACCOUNT_INVITE_STATUS_EXPIRED AccountInviteStatus = 4 // TODO: Do we want to add this? // The invite has been canceled (e.g., by an account admin). AccountInviteStatus_ACCOUNT_INVITE_STATUS_CANCELED AccountInviteStatus = 5 ) @@ -50,7 +48,6 @@ var ( 1: "ACCOUNT_INVITE_STATUS_PENDING", 2: "ACCOUNT_INVITE_STATUS_ACCEPTED", 3: "ACCOUNT_INVITE_STATUS_REJECTED", - 4: "ACCOUNT_INVITE_STATUS_EXPIRED", 5: "ACCOUNT_INVITE_STATUS_CANCELED", } AccountInviteStatus_value = map[string]int32{ @@ -58,7 +55,6 @@ var ( "ACCOUNT_INVITE_STATUS_PENDING": 1, "ACCOUNT_INVITE_STATUS_ACCEPTED": 2, "ACCOUNT_INVITE_STATUS_REJECTED": 3, - "ACCOUNT_INVITE_STATUS_EXPIRED": 4, "ACCOUNT_INVITE_STATUS_CANCELED": 5, } ) @@ -780,8 +776,8 @@ func (x *GetAccountInviteRequest) GetInviteId() string { // GetAccountInviteResponse is the response from the GetAccountInvite function. type GetAccountInviteResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - // The retrieved account invite. - Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + // The account invite. + AccountInvite *AccountInvite `protobuf:"bytes,1,opt,name=account_invite,json=accountInvite,proto3" json:"account_invite,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -816,9 +812,9 @@ func (*GetAccountInviteResponse) Descriptor() ([]byte, []int) { return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{15} } -func (x *GetAccountInviteResponse) GetInvite() *AccountInvite { +func (x *GetAccountInviteResponse) GetAccountInvite() *AccountInvite { if x != nil { - return x.Invite + return x.AccountInvite } return nil } @@ -828,7 +824,7 @@ type CreateAccountInviteRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The details of the invite to create. // This is a required field. - Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + AccountInvite *AccountInvite `protobuf:"bytes,1,opt,name=account_invite,json=accountInvite,proto3" json:"account_invite,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -863,9 +859,9 @@ func (*CreateAccountInviteRequest) Descriptor() ([]byte, []int) { return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{16} } -func (x *CreateAccountInviteRequest) GetInvite() *AccountInvite { +func (x *CreateAccountInviteRequest) GetAccountInvite() *AccountInvite { if x != nil { - return x.Invite + return x.AccountInvite } return nil } @@ -874,7 +870,7 @@ func (x *CreateAccountInviteRequest) GetInvite() *AccountInvite { type CreateAccountInviteResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The created account invite. - Invite *AccountInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + AccountInvite *AccountInvite `protobuf:"bytes,1,opt,name=account_invite,json=accountInvite,proto3" json:"account_invite,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -909,9 +905,9 @@ func (*CreateAccountInviteResponse) Descriptor() ([]byte, []int) { return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{17} } -func (x *CreateAccountInviteResponse) GetInvite() *AccountInvite { +func (x *CreateAccountInviteResponse) GetAccountInvite() *AccountInvite { if x != nil { - return x.Invite + return x.AccountInvite } return nil } @@ -1338,32 +1334,30 @@ type AccountInvite struct { AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` // The email address of the user being invited. // This field is required when creating an invite. - Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` + UserEmail string `protobuf:"bytes,4,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` // The identifiers of the roles to be assigned to the user upon accepting the invite. // This field is required when creating an invite, and the list must not be empty. // Each string in the list must be a valid UUID, to be resolved in the provided account. - RoleIds []string `protobuf:"bytes,5,rep,name=role_ids,json=roleIds,proto3" json:"role_ids,omitempty"` + // Please use IAMService.ListRoles to get the possible roles to assign. + UserRoleIds []string `protobuf:"bytes,5,rep,name=user_role_ids,json=userRoleIds,proto3" json:"user_role_ids,omitempty"` // The timestamp when the invite was created. // This is a read-only field. CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // The identifier of the user who created the invite (in GUID format). // This is a read-only field, populated by the server based on the authenticated user. - CreatedByUserId string `protobuf:"bytes,7,opt,name=created_by_user_id,json=createdByUserId,proto3" json:"created_by_user_id,omitempty"` // TODO: Optional (for system generated invites)? + CreatedByUserId *string `protobuf:"bytes,7,opt,name=created_by_user_id,json=createdByUserId,proto3,oneof" json:"created_by_user_id,omitempty"` // Name of the user that created this invite. // This is a read-only value, populated by the server based on the created_by_user_id field. - CreatedByName string `protobuf:"bytes,8,opt,name=created_by_name,json=createdByName,proto3" json:"created_by_name,omitempty"` - // The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire. - // This is a read-only field, potentially set at creation or managed by the server. - ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` // TODO: Do we want to add this? + CreatedByName *string `protobuf:"bytes,8,opt,name=created_by_name,json=createdByName,proto3,oneof" json:"created_by_name,omitempty"` // The timestamp when the invite was last updated (e.g., status change). // This is a read-only field. - LastModifiedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=last_modified_at,json=lastModifiedAt,proto3" json:"last_modified_at,omitempty"` + LastModifiedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_modified_at,json=lastModifiedAt,proto3" json:"last_modified_at,omitempty"` // Identifier of the user that accepted or rejected this invite. // This is a read-only value. - UserId *string `protobuf:"bytes,11,opt,name=user_id,json=userId,proto3,oneof" json:"user_id,omitempty"` + UserId *string `protobuf:"bytes,10,opt,name=user_id,json=userId,proto3,oneof" json:"user_id,omitempty"` // The status of the invite. // This is a read-only field. - Status AccountInviteStatus `protobuf:"varint,12,opt,name=status,proto3,enum=qdrant.cloud.account.v1.AccountInviteStatus" json:"status,omitempty"` + Status AccountInviteStatus `protobuf:"varint,11,opt,name=status,proto3,enum=qdrant.cloud.account.v1.AccountInviteStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1419,16 +1413,16 @@ func (x *AccountInvite) GetAccountName() string { return "" } -func (x *AccountInvite) GetEmail() string { +func (x *AccountInvite) GetUserEmail() string { if x != nil { - return x.Email + return x.UserEmail } return "" } -func (x *AccountInvite) GetRoleIds() []string { +func (x *AccountInvite) GetUserRoleIds() []string { if x != nil { - return x.RoleIds + return x.UserRoleIds } return nil } @@ -1441,26 +1435,19 @@ func (x *AccountInvite) GetCreatedAt() *timestamppb.Timestamp { } func (x *AccountInvite) GetCreatedByUserId() string { - if x != nil { - return x.CreatedByUserId + if x != nil && x.CreatedByUserId != nil { + return *x.CreatedByUserId } return "" } func (x *AccountInvite) GetCreatedByName() string { - if x != nil { - return x.CreatedByName + if x != nil && x.CreatedByName != nil { + return *x.CreatedByName } return "" } -func (x *AccountInvite) GetExpiresAt() *timestamppb.Timestamp { - if x != nil { - return x.ExpiresAt - } - return nil -} - func (x *AccountInvite) GetLastModifiedAt() *timestamppb.Timestamp { if x != nil { return x.LastModifiedAt @@ -1570,305 +1557,307 @@ var file_qdrant_cloud_account_v1_account_proto_rawDesc = string([]byte{ 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x18, 0x47, 0x65, 0x74, + 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x5c, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x22, 0x5d, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, - 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x6c, 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x22, 0x6b, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x22, 0x6c, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, + 0x6c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, - 0x1b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x1a, - 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x1d, 0x0a, + 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x0a, 0x1a, + 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x1b, 0x52, 0x65, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x1b, 0x41, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x07, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x1a, 0x52, 0x65, 0x6a, + 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x1b, 0x52, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x44, 0x0a, + 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1b, 0xba, 0x48, 0x18, 0x72, 0x16, 0x10, 0x04, 0x18, 0x40, 0x32, 0x10, 0x5e, 0x5b, + 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, + 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xba, 0x48, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6d, + 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, 0x01, 0x06, 0x22, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x73, 0x3a, 0xaa, 0x01, 0xba, 0x48, 0xa6, 0x01, 0x1a, 0xa3, 0x01, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x12, 0x1a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, + 0x55, 0x49, 0x44, 0x1a, 0x79, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x64, 0x2e, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, + 0x46, 0x5d, 0x7b, 0x38, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, + 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, + 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, + 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x31, + 0x32, 0x7d, 0x24, 0x27, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x29, 0x22, 0xe3, + 0x04, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, + 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xba, 0x48, 0x06, 0x72, + 0x04, 0x10, 0x01, 0x60, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x33, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x92, 0x01, 0x09, 0x08, + 0x01, 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x52, 0x6f, + 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xba, 0x48, 0x18, 0x72, 0x16, 0x10, 0x04, 0x18, 0x40, 0x32, - 0x10, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, - 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, - 0x01, 0x06, 0x22, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x73, 0x3a, 0xaa, 0x01, 0xba, 0x48, 0xa6, 0x01, 0x1a, 0xa3, 0x01, 0x0a, 0x0a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x12, 0x1a, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, 0x1a, 0x79, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x64, 0x2e, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, - 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x38, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, - 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, - 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, - 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, - 0x5d, 0x7b, 0x31, 0x32, 0x7d, 0x24, 0x27, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x21, 0x68, 0x61, 0x73, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x29, 0x22, 0xd7, 0x04, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xba, 0x48, 0x06, 0x72, 0x04, 0x10, - 0x01, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x6f, - 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0f, 0xba, 0x48, - 0x0c, 0x92, 0x01, 0x09, 0x08, 0x01, 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x07, 0x72, - 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x26, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, - 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2a, 0xee, 0x01, 0x0a, 0x13, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, - 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x43, + 0x12, 0x3a, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x26, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x02, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x2a, 0xcb, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, + 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, + 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, - 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, - 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, - 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, - 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, - 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x32, 0x8d, 0x12, 0x0a, - 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x95, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x12, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, - 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x8a, - 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, + 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x22, + 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, + 0x10, 0x05, 0x32, 0x9d, 0x12, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x28, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xa4, 0x01, + 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3d, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9b, - 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2b, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, - 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xbf, 0x01, 0x0a, - 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, - 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, - 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x8a, - 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x1a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0xaf, - 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3f, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x71, 0x64, - 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x45, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, - 0x12, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x8a, - 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, - 0x65, 0x6c, 0x66, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xca, 0x01, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x12, 0x30, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, + 0x74, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x1a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x2e, 0x69, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, + 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x32, 0x2e, + 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, + 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xb1, 0x01, + 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x6c, 0x66, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x73, 0x12, 0xca, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x8a, 0xb5, 0x18, + 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xf7, + 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, + 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x75, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x73, 0x92, 0xb5, 0x18, 0x19, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x8a, 0xb5, 0x18, - 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x92, 0xb5, - 0x18, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, - 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x8a, 0xb5, 0x18, + 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xce, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, + 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, + 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x13, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, - 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0xce, 0x01, 0x0a, 0x13, - 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x70, + 0x74, 0x12, 0xce, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, + 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, + 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, + 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x42, 0xfe, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, - 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0xfe, 0x01, 0x0a, - 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, - 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x71, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x31, - 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x31, - 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x23, 0x51, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, 0x02, 0x17, 0x51, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, + 0xe2, 0x02, 0x23, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x3a, + 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( @@ -1925,46 +1914,45 @@ var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ 26, // 6: qdrant.cloud.account.v1.ListAccountInvitesResponse.items:type_name -> qdrant.cloud.account.v1.AccountInvite 0, // 7: qdrant.cloud.account.v1.ListMyAccountInvitesRequest.status_filter:type_name -> qdrant.cloud.account.v1.AccountInviteStatus 26, // 8: qdrant.cloud.account.v1.ListMyAccountInvitesResponse.items:type_name -> qdrant.cloud.account.v1.AccountInvite - 26, // 9: qdrant.cloud.account.v1.GetAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite - 26, // 10: qdrant.cloud.account.v1.CreateAccountInviteRequest.invite:type_name -> qdrant.cloud.account.v1.AccountInvite - 26, // 11: qdrant.cloud.account.v1.CreateAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite + 26, // 9: qdrant.cloud.account.v1.GetAccountInviteResponse.account_invite:type_name -> qdrant.cloud.account.v1.AccountInvite + 26, // 10: qdrant.cloud.account.v1.CreateAccountInviteRequest.account_invite:type_name -> qdrant.cloud.account.v1.AccountInvite + 26, // 11: qdrant.cloud.account.v1.CreateAccountInviteResponse.account_invite:type_name -> qdrant.cloud.account.v1.AccountInvite 26, // 12: qdrant.cloud.account.v1.AcceptAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite 26, // 13: qdrant.cloud.account.v1.RejectAccountInviteResponse.invite:type_name -> qdrant.cloud.account.v1.AccountInvite 27, // 14: qdrant.cloud.account.v1.Account.created_at:type_name -> google.protobuf.Timestamp 27, // 15: qdrant.cloud.account.v1.Account.last_modified_at:type_name -> google.protobuf.Timestamp 27, // 16: qdrant.cloud.account.v1.AccountInvite.created_at:type_name -> google.protobuf.Timestamp - 27, // 17: qdrant.cloud.account.v1.AccountInvite.expires_at:type_name -> google.protobuf.Timestamp - 27, // 18: qdrant.cloud.account.v1.AccountInvite.last_modified_at:type_name -> google.protobuf.Timestamp - 0, // 19: qdrant.cloud.account.v1.AccountInvite.status:type_name -> qdrant.cloud.account.v1.AccountInviteStatus - 1, // 20: qdrant.cloud.account.v1.AccountService.ListAccounts:input_type -> qdrant.cloud.account.v1.ListAccountsRequest - 3, // 21: qdrant.cloud.account.v1.AccountService.GetAccount:input_type -> qdrant.cloud.account.v1.GetAccountRequest - 5, // 22: qdrant.cloud.account.v1.AccountService.CreateAccount:input_type -> qdrant.cloud.account.v1.CreateAccountRequest - 7, // 23: qdrant.cloud.account.v1.AccountService.UpdateAccount:input_type -> qdrant.cloud.account.v1.UpdateAccountRequest - 9, // 24: qdrant.cloud.account.v1.AccountService.DeleteAccount:input_type -> qdrant.cloud.account.v1.DeleteAccountRequest - 11, // 25: qdrant.cloud.account.v1.AccountService.ListAccountInvites:input_type -> qdrant.cloud.account.v1.ListAccountInvitesRequest - 13, // 26: qdrant.cloud.account.v1.AccountService.ListMyAccountInvites:input_type -> qdrant.cloud.account.v1.ListMyAccountInvitesRequest - 15, // 27: qdrant.cloud.account.v1.AccountService.GetAccountInvite:input_type -> qdrant.cloud.account.v1.GetAccountInviteRequest - 17, // 28: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:input_type -> qdrant.cloud.account.v1.CreateAccountInviteRequest - 19, // 29: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:input_type -> qdrant.cloud.account.v1.DeleteAccountInviteRequest - 21, // 30: qdrant.cloud.account.v1.AccountService.AcceptAccountInvite:input_type -> qdrant.cloud.account.v1.AcceptAccountInviteRequest - 23, // 31: qdrant.cloud.account.v1.AccountService.RejectAccountInvite:input_type -> qdrant.cloud.account.v1.RejectAccountInviteRequest - 2, // 32: qdrant.cloud.account.v1.AccountService.ListAccounts:output_type -> qdrant.cloud.account.v1.ListAccountsResponse - 4, // 33: qdrant.cloud.account.v1.AccountService.GetAccount:output_type -> qdrant.cloud.account.v1.GetAccountResponse - 6, // 34: qdrant.cloud.account.v1.AccountService.CreateAccount:output_type -> qdrant.cloud.account.v1.CreateAccountResponse - 8, // 35: qdrant.cloud.account.v1.AccountService.UpdateAccount:output_type -> qdrant.cloud.account.v1.UpdateAccountResponse - 10, // 36: qdrant.cloud.account.v1.AccountService.DeleteAccount:output_type -> qdrant.cloud.account.v1.DeleteAccountResponse - 12, // 37: qdrant.cloud.account.v1.AccountService.ListAccountInvites:output_type -> qdrant.cloud.account.v1.ListAccountInvitesResponse - 14, // 38: qdrant.cloud.account.v1.AccountService.ListMyAccountInvites:output_type -> qdrant.cloud.account.v1.ListMyAccountInvitesResponse - 16, // 39: qdrant.cloud.account.v1.AccountService.GetAccountInvite:output_type -> qdrant.cloud.account.v1.GetAccountInviteResponse - 18, // 40: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:output_type -> qdrant.cloud.account.v1.CreateAccountInviteResponse - 20, // 41: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:output_type -> qdrant.cloud.account.v1.DeleteAccountInviteResponse - 22, // 42: qdrant.cloud.account.v1.AccountService.AcceptAccountInvite:output_type -> qdrant.cloud.account.v1.AcceptAccountInviteResponse - 24, // 43: qdrant.cloud.account.v1.AccountService.RejectAccountInvite:output_type -> qdrant.cloud.account.v1.RejectAccountInviteResponse - 32, // [32:44] is the sub-list for method output_type - 20, // [20:32] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 27, // 17: qdrant.cloud.account.v1.AccountInvite.last_modified_at:type_name -> google.protobuf.Timestamp + 0, // 18: qdrant.cloud.account.v1.AccountInvite.status:type_name -> qdrant.cloud.account.v1.AccountInviteStatus + 1, // 19: qdrant.cloud.account.v1.AccountService.ListAccounts:input_type -> qdrant.cloud.account.v1.ListAccountsRequest + 3, // 20: qdrant.cloud.account.v1.AccountService.GetAccount:input_type -> qdrant.cloud.account.v1.GetAccountRequest + 5, // 21: qdrant.cloud.account.v1.AccountService.CreateAccount:input_type -> qdrant.cloud.account.v1.CreateAccountRequest + 7, // 22: qdrant.cloud.account.v1.AccountService.UpdateAccount:input_type -> qdrant.cloud.account.v1.UpdateAccountRequest + 9, // 23: qdrant.cloud.account.v1.AccountService.DeleteAccount:input_type -> qdrant.cloud.account.v1.DeleteAccountRequest + 11, // 24: qdrant.cloud.account.v1.AccountService.ListAccountInvites:input_type -> qdrant.cloud.account.v1.ListAccountInvitesRequest + 13, // 25: qdrant.cloud.account.v1.AccountService.ListMyAccountInvites:input_type -> qdrant.cloud.account.v1.ListMyAccountInvitesRequest + 15, // 26: qdrant.cloud.account.v1.AccountService.GetAccountInvite:input_type -> qdrant.cloud.account.v1.GetAccountInviteRequest + 17, // 27: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:input_type -> qdrant.cloud.account.v1.CreateAccountInviteRequest + 19, // 28: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:input_type -> qdrant.cloud.account.v1.DeleteAccountInviteRequest + 21, // 29: qdrant.cloud.account.v1.AccountService.AcceptAccountInvite:input_type -> qdrant.cloud.account.v1.AcceptAccountInviteRequest + 23, // 30: qdrant.cloud.account.v1.AccountService.RejectAccountInvite:input_type -> qdrant.cloud.account.v1.RejectAccountInviteRequest + 2, // 31: qdrant.cloud.account.v1.AccountService.ListAccounts:output_type -> qdrant.cloud.account.v1.ListAccountsResponse + 4, // 32: qdrant.cloud.account.v1.AccountService.GetAccount:output_type -> qdrant.cloud.account.v1.GetAccountResponse + 6, // 33: qdrant.cloud.account.v1.AccountService.CreateAccount:output_type -> qdrant.cloud.account.v1.CreateAccountResponse + 8, // 34: qdrant.cloud.account.v1.AccountService.UpdateAccount:output_type -> qdrant.cloud.account.v1.UpdateAccountResponse + 10, // 35: qdrant.cloud.account.v1.AccountService.DeleteAccount:output_type -> qdrant.cloud.account.v1.DeleteAccountResponse + 12, // 36: qdrant.cloud.account.v1.AccountService.ListAccountInvites:output_type -> qdrant.cloud.account.v1.ListAccountInvitesResponse + 14, // 37: qdrant.cloud.account.v1.AccountService.ListMyAccountInvites:output_type -> qdrant.cloud.account.v1.ListMyAccountInvitesResponse + 16, // 38: qdrant.cloud.account.v1.AccountService.GetAccountInvite:output_type -> qdrant.cloud.account.v1.GetAccountInviteResponse + 18, // 39: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:output_type -> qdrant.cloud.account.v1.CreateAccountInviteResponse + 20, // 40: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:output_type -> qdrant.cloud.account.v1.DeleteAccountInviteResponse + 22, // 41: qdrant.cloud.account.v1.AccountService.AcceptAccountInvite:output_type -> qdrant.cloud.account.v1.AcceptAccountInviteResponse + 24, // 42: qdrant.cloud.account.v1.AccountService.RejectAccountInvite:output_type -> qdrant.cloud.account.v1.RejectAccountInviteResponse + 31, // [31:43] is the sub-list for method output_type + 19, // [19:31] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_qdrant_cloud_account_v1_account_proto_init() } diff --git a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go index 1cccd7a6..a108232b 100644 --- a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go @@ -63,11 +63,12 @@ type AccountServiceClient interface { // Required permissions: // - read:invites ListAccountInvites(ctx context.Context, in *ListAccountInvitesRequest, opts ...grpc.CallOption) (*ListAccountInvitesResponse, error) - // Fetch all account invites for the authenticated user. + // Fetch all account invites for the authenticated user (across all accounts). + // These are the invites you are invited to join, not the ones you have sent. // Required permissions: // - None (authenticated only) ListMyAccountInvites(ctx context.Context, in *ListMyAccountInvitesRequest, opts ...grpc.CallOption) (*ListMyAccountInvitesResponse, error) - // Fetch an account invite by its id. + // Fetch an account invite identified by the given account ID and invite ID. // Required permissions: // - read:invites GetAccountInvite(ctx context.Context, in *GetAccountInviteRequest, opts ...grpc.CallOption) (*GetAccountInviteResponse, error) @@ -251,11 +252,12 @@ type AccountServiceServer interface { // Required permissions: // - read:invites ListAccountInvites(context.Context, *ListAccountInvitesRequest) (*ListAccountInvitesResponse, error) - // Fetch all account invites for the authenticated user. + // Fetch all account invites for the authenticated user (across all accounts). + // These are the invites you are invited to join, not the ones you have sent. // Required permissions: // - None (authenticated only) ListMyAccountInvites(context.Context, *ListMyAccountInvitesRequest) (*ListMyAccountInvitesResponse, error) - // Fetch an account invite by its id. + // Fetch an account invite identified by the given account ID and invite ID. // Required permissions: // - read:invites GetAccountInvite(context.Context, *GetAccountInviteRequest) (*GetAccountInviteResponse, error) diff --git a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json index e257f2fb..bc602ce7 100644 --- a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json +++ b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json @@ -207,7 +207,7 @@ }, "/api/account/v1/accounts/{accountId}/invites/{inviteId}": { "get": { - "summary": "Fetch an account invite by its id.\nRequired permissions:\n- read:invites", + "summary": "Fetch an account invite identified by the given account ID and invite ID.\nRequired permissions:\n- read:invites", "operationId": "AccountService_GetAccountInvite", "responses": { "200": { @@ -359,7 +359,7 @@ ] } }, - "/api/account/v1/accounts/{invite.accountId}/invites": { + "/api/account/v1/accounts/{accountInvite.accountId}/invites": { "post": { "summary": "Create a new account invite.\nRequired permissions:\n- write:invites", "operationId": "AccountService_CreateAccountInvite", @@ -379,7 +379,7 @@ }, "parameters": [ { - "name": "invite.accountId", + "name": "accountInvite.accountId", "description": "The identifier of the account this invite is for (in GUID format).\nThis field is required when creating an invite.", "in": "path", "required": true, @@ -401,7 +401,8 @@ }, "/api/account/v1/self/invites": { "get": { - "summary": "Fetch all account invites for the authenticated user.\nRequired permissions:\n- None (authenticated only)", + "summary": "Fetch all account invites for the authenticated user (across all accounts).\nThese are the invites you are invited to join, not the ones you have sent.\nRequired permissions:\n- None (authenticated only)", + "description": "TODO: Rename to ListReceivedAccountInvites ?", "operationId": "AccountService_ListMyAccountInvites", "responses": { "200": { @@ -420,7 +421,7 @@ "parameters": [ { "name": "statusFilter", - "description": "Optional: Filter invites by status (e.g. pending only).\n\n - ACCOUNT_INVITE_STATUS_UNSPECIFIED: Default, unspecified status.\n - ACCOUNT_INVITE_STATUS_PENDING: The invite is pending and waiting for the user to accept or reject.\n - ACCOUNT_INVITE_STATUS_ACCEPTED: The invite has been accepted by the user.\n - ACCOUNT_INVITE_STATUS_REJECTED: The invite has been rejected by the user.\n - ACCOUNT_INVITE_STATUS_EXPIRED: The invite has expired.\n\nTODO: Do we want to add this?\n - ACCOUNT_INVITE_STATUS_CANCELED: The invite has been canceled (e.g., by an account admin).", + "description": "Optional: Filter invites by status (e.g. pending only).\n\n - ACCOUNT_INVITE_STATUS_UNSPECIFIED: Default, unspecified status.\n - ACCOUNT_INVITE_STATUS_PENDING: The invite is pending and waiting for the user to accept or reject.\n - ACCOUNT_INVITE_STATUS_ACCEPTED: The invite has been accepted by the user.\n - ACCOUNT_INVITE_STATUS_REJECTED: The invite has been rejected by the user.\n - ACCOUNT_INVITE_STATUS_CANCELED: The invite has been canceled (e.g., by an account admin).", "in": "query", "required": false, "type": "string", @@ -429,7 +430,6 @@ "ACCOUNT_INVITE_STATUS_PENDING", "ACCOUNT_INVITE_STATUS_ACCEPTED", "ACCOUNT_INVITE_STATUS_REJECTED", - "ACCOUNT_INVITE_STATUS_EXPIRED", "ACCOUNT_INVITE_STATUS_CANCELED" ], "default": "ACCOUNT_INVITE_STATUS_UNSPECIFIED" @@ -445,7 +445,7 @@ "AccountServiceCreateAccountInviteBody": { "type": "object", "properties": { - "invite": { + "accountInvite": { "type": "object", "properties": { "id": { @@ -456,16 +456,16 @@ "type": "string", "description": "Human readable name of the account that the human is invited to join.\nThis is a read-only value." }, - "email": { + "userEmail": { "type": "string", "description": "The email address of the user being invited.\nThis field is required when creating an invite." }, - "roleIds": { + "userRoleIds": { "type": "array", "items": { "type": "string" }, - "description": "The identifiers of the roles to be assigned to the user upon accepting the invite.\nThis field is required when creating an invite, and the list must not be empty.\nEach string in the list must be a valid UUID, to be resolved in the provided account." + "description": "The identifiers of the roles to be assigned to the user upon accepting the invite.\nThis field is required when creating an invite, and the list must not be empty.\nEach string in the list must be a valid UUID, to be resolved in the provided account.\nPlease use IAMService.ListRoles to get the possible roles to assign." }, "createdAt": { "type": "string", @@ -474,17 +474,12 @@ }, "createdByUserId": { "type": "string", - "description": "The identifier of the user who created the invite (in GUID format).\nThis is a read-only field, populated by the server based on the authenticated user.\n\nTODO: Optional (for system generated invites)?" + "description": "The identifier of the user who created the invite (in GUID format).\nThis is a read-only field, populated by the server based on the authenticated user." }, "createdByName": { "type": "string", "description": "Name of the user that created this invite.\nThis is a read-only value, populated by the server based on the created_by_user_id field." }, - "expiresAt": { - "type": "string", - "format": "date-time", - "description": "The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire.\nThis is a read-only field, potentially set at creation or managed by the server.\n\nTODO: Do we want to add this?" - }, "lastModifiedAt": { "type": "string", "format": "date-time", @@ -639,16 +634,16 @@ "type": "string", "description": "Human readable name of the account that the human is invited to join.\nThis is a read-only value." }, - "email": { + "userEmail": { "type": "string", "description": "The email address of the user being invited.\nThis field is required when creating an invite." }, - "roleIds": { + "userRoleIds": { "type": "array", "items": { "type": "string" }, - "description": "The identifiers of the roles to be assigned to the user upon accepting the invite.\nThis field is required when creating an invite, and the list must not be empty.\nEach string in the list must be a valid UUID, to be resolved in the provided account." + "description": "The identifiers of the roles to be assigned to the user upon accepting the invite.\nThis field is required when creating an invite, and the list must not be empty.\nEach string in the list must be a valid UUID, to be resolved in the provided account.\nPlease use IAMService.ListRoles to get the possible roles to assign." }, "createdAt": { "type": "string", @@ -657,17 +652,12 @@ }, "createdByUserId": { "type": "string", - "description": "The identifier of the user who created the invite (in GUID format).\nThis is a read-only field, populated by the server based on the authenticated user.\n\nTODO: Optional (for system generated invites)?" + "description": "The identifier of the user who created the invite (in GUID format).\nThis is a read-only field, populated by the server based on the authenticated user." }, "createdByName": { "type": "string", "description": "Name of the user that created this invite.\nThis is a read-only value, populated by the server based on the created_by_user_id field." }, - "expiresAt": { - "type": "string", - "format": "date-time", - "description": "The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire.\nThis is a read-only field, potentially set at creation or managed by the server.\n\nTODO: Do we want to add this?" - }, "lastModifiedAt": { "type": "string", "format": "date-time", @@ -691,16 +681,15 @@ "ACCOUNT_INVITE_STATUS_PENDING", "ACCOUNT_INVITE_STATUS_ACCEPTED", "ACCOUNT_INVITE_STATUS_REJECTED", - "ACCOUNT_INVITE_STATUS_EXPIRED", "ACCOUNT_INVITE_STATUS_CANCELED" ], "default": "ACCOUNT_INVITE_STATUS_UNSPECIFIED", - "description": "AccountInviteStatus defines the possible statuses of an account invitation.\n\n - ACCOUNT_INVITE_STATUS_UNSPECIFIED: Default, unspecified status.\n - ACCOUNT_INVITE_STATUS_PENDING: The invite is pending and waiting for the user to accept or reject.\n - ACCOUNT_INVITE_STATUS_ACCEPTED: The invite has been accepted by the user.\n - ACCOUNT_INVITE_STATUS_REJECTED: The invite has been rejected by the user.\n - ACCOUNT_INVITE_STATUS_EXPIRED: The invite has expired.\n\nTODO: Do we want to add this?\n - ACCOUNT_INVITE_STATUS_CANCELED: The invite has been canceled (e.g., by an account admin)." + "description": "AccountInviteStatus defines the possible statuses of an account invitation.\n\n - ACCOUNT_INVITE_STATUS_UNSPECIFIED: Default, unspecified status.\n - ACCOUNT_INVITE_STATUS_PENDING: The invite is pending and waiting for the user to accept or reject.\n - ACCOUNT_INVITE_STATUS_ACCEPTED: The invite has been accepted by the user.\n - ACCOUNT_INVITE_STATUS_REJECTED: The invite has been rejected by the user.\n - ACCOUNT_INVITE_STATUS_CANCELED: The invite has been canceled (e.g., by an account admin)." }, "v1CreateAccountInviteResponse": { "type": "object", "properties": { - "invite": { + "accountInvite": { "$ref": "#/definitions/v1AccountInvite", "description": "The created account invite." } @@ -738,9 +727,9 @@ "v1GetAccountInviteResponse": { "type": "object", "properties": { - "invite": { + "accountInvite": { "$ref": "#/definitions/v1AccountInvite", - "description": "The retrieved account invite." + "description": "The account invite." } }, "description": "GetAccountInviteResponse is the response from the GetAccountInvite function." diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2.py b/gen/python/qdrant/cloud/account/v1/account_pb2.py index 84fc3b55..36846dae 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2.py @@ -28,7 +28,7 @@ from qdrant.cloud.common.v1 import common_pb2 as qdrant_dot_cloud_dot_common_dot_v1_dot_common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%qdrant/cloud/account/v1/account.proto\x12\x17qdrant.cloud.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#qdrant/cloud/common/v1/common.proto\"\x15\n\x13ListAccountsRequest\"N\n\x14ListAccountsResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x05items\"<\n\x11GetAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"P\n\x12GetAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14\x43reateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15\x43reateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14UpdateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15UpdateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"?\n\x14\x44\x65leteAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x17\n\x15\x44\x65leteAccountResponse\"D\n\x19ListAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Z\n\x1aListAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"\x87\x01\n\x1bListMyAccountInvitesRequest\x12V\n\rstatus_filter\x18\x01 \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusH\x00R\x0cstatusFilter\x88\x01\x01\x42\x10\n\x0e_status_filter\"\\\n\x1cListMyAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"i\n\x17GetAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"Z\n\x18GetAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\\\n\x1a\x43reateAccountInviteRequest\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"]\n\x1b\x43reateAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1a\x44\x65leteAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"\x1d\n\x1b\x44\x65leteAccountInviteResponse\"l\n\x1a\x41\x63\x63\x65ptAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1b\x41\x63\x63\x65ptAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1aRejectAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1bRejectAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)\"\xd7\x04\n\rAccountInvite\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\tR\x0b\x61\x63\x63ountName\x12\x1f\n\x05\x65mail\x18\x04 \x01(\tB\t\xbaH\x06r\x04\x10\x01`\x01R\x05\x65mail\x12*\n\x08role_ids\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\xb0\x01\x01R\x07roleIds\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x35\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12&\n\x0f\x63reated_by_name\x18\x08 \x01(\tR\rcreatedByName\x12\x39\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x44\n\x10last_modified_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12&\n\x07user_id\x18\x0b \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x06userId\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusR\x06statusB\n\n\x08_user_id*\xee\x01\n\x13\x41\x63\x63ountInviteStatus\x12%\n!ACCOUNT_INVITE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_PENDING\x10\x01\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_ACCEPTED\x10\x02\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_REJECTED\x10\x03\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_EXPIRED\x10\x04\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_CANCELED\x10\x05\x32\x8d\x12\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}\x12\xc4\x01\n\x12ListAccountInvites\x12\x32.qdrant.cloud.account.v1.ListAccountInvitesRequest\x1a\x33.qdrant.cloud.account.v1.ListAccountInvitesResponse\"E\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02/\x12-/api/account/v1/accounts/{account_id}/invites\x12\xb1\x01\n\x14ListMyAccountInvites\x12\x34.qdrant.cloud.account.v1.ListMyAccountInvitesRequest\x1a\x35.qdrant.cloud.account.v1.ListMyAccountInvitesResponse\",\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/account/v1/self/invites\x12\xca\x01\n\x10GetAccountInvite\x12\x30.qdrant.cloud.account.v1.GetAccountInviteRequest\x1a\x31.qdrant.cloud.account.v1.GetAccountInviteResponse\"Q\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02;\x12\x39/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xe7\x01\n\x13\x43reateAccountInvite\x12\x33.qdrant.cloud.account.v1.CreateAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.CreateAccountInviteResponse\"e\x8a\xb5\x18\rwrite:invites\x92\xb5\x18\x11invite.account_id\x82\xd3\xe4\x93\x02\x39\"4/api/account/v1/accounts/{invite.account_id}/invites:\x01*\x12\xd5\x01\n\x13\x44\x65leteAccountInvite\x12\x33.qdrant.cloud.account.v1.DeleteAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.DeleteAccountInviteResponse\"S\x8a\xb5\x18\x0e\x64\x65lete:invites\x82\xd3\xe4\x93\x02;*9/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xce\x01\n\x13\x41\x63\x63\x65ptAccountInvite\x12\x33.qdrant.cloud.account.v1.AcceptAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.AcceptAccountInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/accept\x12\xce\x01\n\x13RejectAccountInvite\x12\x33.qdrant.cloud.account.v1.RejectAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.RejectAccountInviteResponse\"L\x8a\xb5\x18\x00\x82\xd3\xe4\x93\x02\x42\"@/api/account/v1/accounts/{account_id}/invites/{invite_id}/rejectB\xfe\x01\n\x1b\x63om.qdrant.cloud.account.v1B\x0c\x41\x63\x63ountProtoP\x01ZRgithub.com/qdrant/qdrant-cloud-public-api/gen/go/qdrant/cloud/account/v1;accountv1\xa2\x02\x03QCA\xaa\x02\x17Qdrant.Cloud.Account.V1\xca\x02\x17Qdrant\\Cloud\\Account\\V1\xe2\x02#Qdrant\\Cloud\\Account\\V1\\GPBMetadata\xea\x02\x1aQdrant::Cloud::Account::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%qdrant/cloud/account/v1/account.proto\x12\x17qdrant.cloud.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#qdrant/cloud/common/v1/common.proto\"\x15\n\x13ListAccountsRequest\"N\n\x14ListAccountsResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x05items\"<\n\x11GetAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"P\n\x12GetAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14\x43reateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15\x43reateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14UpdateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15UpdateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"?\n\x14\x44\x65leteAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x17\n\x15\x44\x65leteAccountResponse\"D\n\x19ListAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Z\n\x1aListAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"\x87\x01\n\x1bListMyAccountInvitesRequest\x12V\n\rstatus_filter\x18\x01 \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusH\x00R\x0cstatusFilter\x88\x01\x01\x42\x10\n\x0e_status_filter\"\\\n\x1cListMyAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"i\n\x17GetAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"i\n\x18GetAccountInviteResponse\x12M\n\x0e\x61\x63\x63ount_invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\raccountInvite\"k\n\x1a\x43reateAccountInviteRequest\x12M\n\x0e\x61\x63\x63ount_invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\raccountInvite\"l\n\x1b\x43reateAccountInviteResponse\x12M\n\x0e\x61\x63\x63ount_invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\raccountInvite\"l\n\x1a\x44\x65leteAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"\x1d\n\x1b\x44\x65leteAccountInviteResponse\"l\n\x1a\x41\x63\x63\x65ptAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1b\x41\x63\x63\x65ptAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1aRejectAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1bRejectAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)\"\xe3\x04\n\rAccountInvite\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\tR\x0b\x61\x63\x63ountName\x12(\n\nuser_email\x18\x04 \x01(\tB\t\xbaH\x06r\x04\x10\x01`\x01R\tuserEmail\x12\x33\n\ruser_role_ids\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\xb0\x01\x01R\x0buserRoleIds\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12:\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x0f\x63reatedByUserId\x88\x01\x01\x12+\n\x0f\x63reated_by_name\x18\x08 \x01(\tH\x01R\rcreatedByName\x88\x01\x01\x12\x44\n\x10last_modified_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12&\n\x07user_id\x18\n \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x06userId\x88\x01\x01\x12\x44\n\x06status\x18\x0b \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusR\x06statusB\x15\n\x13_created_by_user_idB\x12\n\x10_created_by_nameB\n\n\x08_user_id*\xcb\x01\n\x13\x41\x63\x63ountInviteStatus\x12%\n!ACCOUNT_INVITE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_PENDING\x10\x01\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_ACCEPTED\x10\x02\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_REJECTED\x10\x03\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_CANCELED\x10\x05\x32\x9d\x12\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}\x12\xc4\x01\n\x12ListAccountInvites\x12\x32.qdrant.cloud.account.v1.ListAccountInvitesRequest\x1a\x33.qdrant.cloud.account.v1.ListAccountInvitesResponse\"E\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02/\x12-/api/account/v1/accounts/{account_id}/invites\x12\xb1\x01\n\x14ListMyAccountInvites\x12\x34.qdrant.cloud.account.v1.ListMyAccountInvitesRequest\x1a\x35.qdrant.cloud.account.v1.ListMyAccountInvitesResponse\",\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/account/v1/self/invites\x12\xca\x01\n\x10GetAccountInvite\x12\x30.qdrant.cloud.account.v1.GetAccountInviteRequest\x1a\x31.qdrant.cloud.account.v1.GetAccountInviteResponse\"Q\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02;\x12\x39/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xf7\x01\n\x13\x43reateAccountInvite\x12\x33.qdrant.cloud.account.v1.CreateAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.CreateAccountInviteResponse\"u\x8a\xb5\x18\rwrite:invites\x92\xb5\x18\x19\x61\x63\x63ount_invite.account_id\x82\xd3\xe4\x93\x02\x41\" None: ... class GetAccountInviteResponse(_message.Message): - __slots__ = ("invite",) - INVITE_FIELD_NUMBER: _ClassVar[int] - invite: AccountInvite - def __init__(self, invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... + __slots__ = ("account_invite",) + ACCOUNT_INVITE_FIELD_NUMBER: _ClassVar[int] + account_invite: AccountInvite + def __init__(self, account_invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... class CreateAccountInviteRequest(_message.Message): - __slots__ = ("invite",) - INVITE_FIELD_NUMBER: _ClassVar[int] - invite: AccountInvite - def __init__(self, invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... + __slots__ = ("account_invite",) + ACCOUNT_INVITE_FIELD_NUMBER: _ClassVar[int] + account_invite: AccountInvite + def __init__(self, account_invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... class CreateAccountInviteResponse(_message.Message): - __slots__ = ("invite",) - INVITE_FIELD_NUMBER: _ClassVar[int] - invite: AccountInvite - def __init__(self, invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... + __slots__ = ("account_invite",) + ACCOUNT_INVITE_FIELD_NUMBER: _ClassVar[int] + account_invite: AccountInvite + def __init__(self, account_invite: _Optional[_Union[AccountInvite, _Mapping]] = ...) -> None: ... class DeleteAccountInviteRequest(_message.Message): __slots__ = ("account_id", "invite_id") @@ -190,29 +188,27 @@ class Account(_message.Message): def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_modified_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., owner_id: _Optional[str] = ..., owner_email: _Optional[str] = ..., privileges: _Optional[_Iterable[str]] = ...) -> None: ... class AccountInvite(_message.Message): - __slots__ = ("id", "account_id", "account_name", "email", "role_ids", "created_at", "created_by_user_id", "created_by_name", "expires_at", "last_modified_at", "user_id", "status") + __slots__ = ("id", "account_id", "account_name", "user_email", "user_role_ids", "created_at", "created_by_user_id", "created_by_name", "last_modified_at", "user_id", "status") ID_FIELD_NUMBER: _ClassVar[int] ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] ACCOUNT_NAME_FIELD_NUMBER: _ClassVar[int] - EMAIL_FIELD_NUMBER: _ClassVar[int] - ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + USER_EMAIL_FIELD_NUMBER: _ClassVar[int] + USER_ROLE_IDS_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int] CREATED_BY_USER_ID_FIELD_NUMBER: _ClassVar[int] CREATED_BY_NAME_FIELD_NUMBER: _ClassVar[int] - EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] LAST_MODIFIED_AT_FIELD_NUMBER: _ClassVar[int] USER_ID_FIELD_NUMBER: _ClassVar[int] STATUS_FIELD_NUMBER: _ClassVar[int] id: str account_id: str account_name: str - email: str - role_ids: _containers.RepeatedScalarFieldContainer[str] + user_email: str + user_role_ids: _containers.RepeatedScalarFieldContainer[str] created_at: _timestamp_pb2.Timestamp created_by_user_id: str created_by_name: str - expires_at: _timestamp_pb2.Timestamp last_modified_at: _timestamp_pb2.Timestamp user_id: str status: AccountInviteStatus - def __init__(self, id: _Optional[str] = ..., account_id: _Optional[str] = ..., account_name: _Optional[str] = ..., email: _Optional[str] = ..., role_ids: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_by_user_id: _Optional[str] = ..., created_by_name: _Optional[str] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_modified_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., user_id: _Optional[str] = ..., status: _Optional[_Union[AccountInviteStatus, str]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., account_id: _Optional[str] = ..., account_name: _Optional[str] = ..., user_email: _Optional[str] = ..., user_role_ids: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_by_user_id: _Optional[str] = ..., created_by_name: _Optional[str] = ..., last_modified_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., user_id: _Optional[str] = ..., status: _Optional[_Union[AccountInviteStatus, str]] = ...) -> None: ... diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py index 72e0cdd5..ee12f7ed 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py @@ -136,16 +136,18 @@ def ListAccountInvites(self, request, context): raise NotImplementedError('Method not implemented!') def ListMyAccountInvites(self, request, context): - """Fetch all account invites for the authenticated user. + """Fetch all account invites for the authenticated user (across all accounts). + These are the invites you are invited to join, not the ones you have sent. Required permissions: - None (authenticated only) + TODO: Rename to ListReceivedAccountInvites ? """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def GetAccountInvite(self, request, context): - """Fetch an account invite by its id. + """Fetch an account invite identified by the given account ID and invite ID. Required permissions: - read:invites """ diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts index 04505e39..e83ead48 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts @@ -323,11 +323,11 @@ export declare const GetAccountInviteRequestSchema: GenMessage & { /** - * The retrieved account invite. + * The account invite. * - * @generated from field: qdrant.cloud.account.v1.AccountInvite invite = 1; + * @generated from field: qdrant.cloud.account.v1.AccountInvite account_invite = 1; */ - invite?: AccountInvite; + accountInvite?: AccountInvite; }; /** @@ -346,9 +346,9 @@ export declare type CreateAccountInviteRequest = Message<"qdrant.cloud.account.v * The details of the invite to create. * This is a required field. * - * @generated from field: qdrant.cloud.account.v1.AccountInvite invite = 1; + * @generated from field: qdrant.cloud.account.v1.AccountInvite account_invite = 1; */ - invite?: AccountInvite; + accountInvite?: AccountInvite; }; /** @@ -366,9 +366,9 @@ export declare type CreateAccountInviteResponse = Message<"qdrant.cloud.account. /** * The created account invite. * - * @generated from field: qdrant.cloud.account.v1.AccountInvite invite = 1; + * @generated from field: qdrant.cloud.account.v1.AccountInvite account_invite = 1; */ - invite?: AccountInvite; + accountInvite?: AccountInvite; }; /** @@ -624,18 +624,19 @@ export declare type AccountInvite = Message<"qdrant.cloud.account.v1.AccountInvi * The email address of the user being invited. * This field is required when creating an invite. * - * @generated from field: string email = 4; + * @generated from field: string user_email = 4; */ - email: string; + userEmail: string; /** * The identifiers of the roles to be assigned to the user upon accepting the invite. * This field is required when creating an invite, and the list must not be empty. * Each string in the list must be a valid UUID, to be resolved in the provided account. + * Please use IAMService.ListRoles to get the possible roles to assign. * - * @generated from field: repeated string role_ids = 5; + * @generated from field: repeated string user_role_ids = 5; */ - roleIds: string[]; + userRoleIds: string[]; /** * The timestamp when the invite was created. @@ -649,35 +650,23 @@ export declare type AccountInvite = Message<"qdrant.cloud.account.v1.AccountInvi * The identifier of the user who created the invite (in GUID format). * This is a read-only field, populated by the server based on the authenticated user. * - * TODO: Optional (for system generated invites)? - * - * @generated from field: string created_by_user_id = 7; + * @generated from field: optional string created_by_user_id = 7; */ - createdByUserId: string; + createdByUserId?: string; /** * Name of the user that created this invite. * This is a read-only value, populated by the server based on the created_by_user_id field. * - * @generated from field: string created_by_name = 8; - */ - createdByName: string; - - /** - * The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire. - * This is a read-only field, potentially set at creation or managed by the server. - * - * TODO: Do we want to add this? - * - * @generated from field: google.protobuf.Timestamp expires_at = 9; + * @generated from field: optional string created_by_name = 8; */ - expiresAt?: Timestamp; + createdByName?: string; /** * The timestamp when the invite was last updated (e.g., status change). * This is a read-only field. * - * @generated from field: google.protobuf.Timestamp last_modified_at = 10; + * @generated from field: google.protobuf.Timestamp last_modified_at = 9; */ lastModifiedAt?: Timestamp; @@ -685,7 +674,7 @@ export declare type AccountInvite = Message<"qdrant.cloud.account.v1.AccountInvi * Identifier of the user that accepted or rejected this invite. * This is a read-only value. * - * @generated from field: optional string user_id = 11; + * @generated from field: optional string user_id = 10; */ userId?: string; @@ -693,7 +682,7 @@ export declare type AccountInvite = Message<"qdrant.cloud.account.v1.AccountInvi * The status of the invite. * This is a read-only field. * - * @generated from field: qdrant.cloud.account.v1.AccountInviteStatus status = 12; + * @generated from field: qdrant.cloud.account.v1.AccountInviteStatus status = 11; */ status: AccountInviteStatus; }; @@ -738,15 +727,6 @@ export enum AccountInviteStatus { */ REJECTED = 3, - /** - * The invite has expired. - * - * TODO: Do we want to add this? - * - * @generated from enum value: ACCOUNT_INVITE_STATUS_EXPIRED = 4; - */ - EXPIRED = 4, - /** * The invite has been canceled (e.g., by an account admin). * @@ -839,10 +819,13 @@ export declare const AccountService: GenService<{ output: typeof ListAccountInvitesResponseSchema; }, /** - * Fetch all account invites for the authenticated user. + * Fetch all account invites for the authenticated user (across all accounts). + * These are the invites you are invited to join, not the ones you have sent. * Required permissions: * - None (authenticated only) * + * TODO: Rename to ListReceivedAccountInvites ? + * * @generated from rpc qdrant.cloud.account.v1.AccountService.ListMyAccountInvites */ listMyAccountInvites: { @@ -851,7 +834,7 @@ export declare const AccountService: GenService<{ output: typeof ListMyAccountInvitesResponseSchema; }, /** - * Fetch an account invite by its id. + * Fetch an account invite identified by the given account ID and invite ID. * Required permissions: * - read:invites * diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.js b/gen/typescript/qdrant/cloud/account/v1/account_pb.js index e744a512..a9b666ad 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.js +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.js @@ -12,7 +12,7 @@ import { file_qdrant_cloud_common_v1_common } from "../../common/v1/common_pb.js * Describes the file qdrant/cloud/account/v1/account.proto. */ export const file_qdrant_cloud_account_v1_account = /*@__PURE__*/ - fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UiOQoZTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJTChpMaXN0QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUieQobTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0EkgKDXN0YXR1c19maWx0ZXIYASABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzSACIAQFCEAoOX3N0YXR1c19maWx0ZXIiVQocTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVAoXR2V0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJSChhHZXRBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSJUChpDcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlUKG0NyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZRI2CgZpbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlcKGkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlcKGkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiVQobQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVwoaUmVqZWN0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJVChtSZWplY3RBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSKvAwoHQWNjb3VudBIKCgJpZBgBIAEoCRIuCgpjcmVhdGVkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBsYXN0X21vZGlmaWVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgRuYW1lGAUgASgJQhu6SBhyFhAEGEAyEF5bYS16QS1aMC05LV9dKyQSGgoIb3duZXJfaWQYBiABKAlCCLpIBXIDsAEBEhwKC293bmVyX2VtYWlsGAcgASgJQge6SARyAmABEiAKCnByaXZpbGVnZXMYCCADKAlCDLpICZIBBiIEcgIQATqqAbpIpgEaowEKCmFjY291bnQuaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGnl0aGlzLmlkLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykgfHwgIWhhcyh0aGlzLmNyZWF0ZWRfYXQpItUDCg1BY2NvdW50SW52aXRlEhQKAmlkGAEgASgJQgi6SAVyA7ABARIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABARIUCgxhY2NvdW50X25hbWUYAyABKAkSGAoFZW1haWwYBCABKAlCCbpIBnIEEAFgARIhCghyb2xlX2lkcxgFIAMoCUIPukgMkgEJCAEiBXIDsAEBEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKEmNyZWF0ZWRfYnlfdXNlcl9pZBgHIAEoCUIIukgFcgOwAQESFwoPY3JlYXRlZF9ieV9uYW1lGAggASgJEi4KCmV4cGlyZXNfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKEGxhc3RfbW9kaWZpZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEh4KB3VzZXJfaWQYCyABKAlCCLpIBXIDsAEBSACIAQESPAoGc3RhdHVzGAwgASgOMiwucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZVN0YXR1c0IKCghfdXNlcl9pZCruAQoTQWNjb3VudEludml0ZVN0YXR1cxIlCiFBQ0NPVU5UX0lOVklURV9TVEFUVVNfVU5TUEVDSUZJRUQQABIhCh1BQ0NPVU5UX0lOVklURV9TVEFUVVNfUEVORElORxABEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19BQ0NFUFRFRBACEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19SRUpFQ1RFRBADEiEKHUFDQ09VTlRfSU5WSVRFX1NUQVRVU19FWFBJUkVEEAQSIgoeQUNDT1VOVF9JTlZJVEVfU1RBVFVTX0NBTkNFTEVEEAUyjRIKDkFjY291bnRTZXJ2aWNlEpUBCgxMaXN0QWNjb3VudHMSLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5MaXN0QWNjb3VudHNSZXF1ZXN0Gi0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRzUmVzcG9uc2UiKIq1GACStRgAgtPkkwIaEhgvYXBpL2FjY291bnQvdjEvYWNjb3VudHMSpAEKCkdldEFjY291bnQSKi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50UmVxdWVzdBorLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRSZXNwb25zZSI9irUYDHJlYWQ6YWNjb3VudILT5JMCJxIlL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfRKbAQoNQ3JlYXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuQ3JlYXRlQWNjb3VudFJlc3BvbnNlIiuKtRgAkrUYAILT5JMCHToBKiIYL2FwaS9hY2NvdW50L3YxL2FjY291bnRzEr8BCg1VcGRhdGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuVXBkYXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5VcGRhdGVBY2NvdW50UmVzcG9uc2UiT4q1GA13cml0ZTphY2NvdW50krUYCmFjY291bnQuaWSC0+STAio6ASoaJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudC5pZH0SrwEKDURlbGV0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRSZXNwb25zZSI/irUYDmRlbGV0ZTphY2NvdW50gtPkkwInKiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9EsQBChJMaXN0QWNjb3VudEludml0ZXMSMi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5MaXN0QWNjb3VudEludml0ZXNSZXF1ZXN0GjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRJbnZpdGVzUmVzcG9uc2UiRYq1GAxyZWFkOmludml0ZXOC0+STAi8SLS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcxKxAQoUTGlzdE15QWNjb3VudEludml0ZXMSNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5MaXN0TXlBY2NvdW50SW52aXRlc1JlcXVlc3QaNS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5MaXN0TXlBY2NvdW50SW52aXRlc1Jlc3BvbnNlIiyKtRgAkrUYAILT5JMCHhIcL2FwaS9hY2NvdW50L3YxL3NlbGYvaW52aXRlcxLKAQoQR2V0QWNjb3VudEludml0ZRIwLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRJbnZpdGVSZXF1ZXN0GjEucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudEludml0ZVJlc3BvbnNlIlGKtRgMcmVhZDppbnZpdGVzgtPkkwI7EjkvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0S5wEKE0NyZWF0ZUFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRJbnZpdGVSZXNwb25zZSJlirUYDXdyaXRlOmludml0ZXOStRgRaW52aXRlLmFjY291bnRfaWSC0+STAjk6ASoiNC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97aW52aXRlLmFjY291bnRfaWR9L2ludml0ZXMS1QEKE0RlbGV0ZUFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRJbnZpdGVSZXNwb25zZSJTirUYDmRlbGV0ZTppbnZpdGVzgtPkkwI7KjkvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0SzgEKE0FjY2VwdEFjY291bnRJbnZpdGUSMy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NlcHRBY2NvdW50SW52aXRlUmVxdWVzdBo0LnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY2VwdEFjY291bnRJbnZpdGVSZXNwb25zZSJMirUYAILT5JMCQiJAL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9L2FjY2VwdBLOAQoTUmVqZWN0QWNjb3VudEludml0ZRIzLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlJlamVjdEFjY291bnRJbnZpdGVSZXF1ZXN0GjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuUmVqZWN0QWNjb3VudEludml0ZVJlc3BvbnNlIkyKtRgAgtPkkwJCIkAvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0vcmVqZWN0Qv4BChtjb20ucWRyYW50LmNsb3VkLmFjY291bnQudjFCDEFjY291bnRQcm90b1ABWlJnaXRodWIuY29tL3FkcmFudC9xZHJhbnQtY2xvdWQtcHVibGljLWFwaS9nZW4vZ28vcWRyYW50L2Nsb3VkL2FjY291bnQvdjE7YWNjb3VudHYxogIDUUNBqgIXUWRyYW50LkNsb3VkLkFjY291bnQuVjHKAhdRZHJhbnRcQ2xvdWRcQWNjb3VudFxWMeICI1FkcmFudFxDbG91ZFxBY2NvdW50XFYxXEdQQk1ldGFkYXRh6gIaUWRyYW50OjpDbG91ZDo6QWNjb3VudDo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); + fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UiOQoZTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJTChpMaXN0QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUieQobTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0EkgKDXN0YXR1c19maWx0ZXIYASABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzSACIAQFCEAoOX3N0YXR1c19maWx0ZXIiVQocTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVAoXR2V0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJaChhHZXRBY2NvdW50SW52aXRlUmVzcG9uc2USPgoOYWNjb3VudF9pbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlwKGkNyZWF0ZUFjY291bnRJbnZpdGVSZXF1ZXN0Ej4KDmFjY291bnRfaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSJdChtDcmVhdGVBY2NvdW50SW52aXRlUmVzcG9uc2USPgoOYWNjb3VudF9pbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlcKGkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlcKGkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiVQobQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVwoaUmVqZWN0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJVChtSZWplY3RBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSKvAwoHQWNjb3VudBIKCgJpZBgBIAEoCRIuCgpjcmVhdGVkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBsYXN0X21vZGlmaWVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgRuYW1lGAUgASgJQhu6SBhyFhAEGEAyEF5bYS16QS1aMC05LV9dKyQSGgoIb3duZXJfaWQYBiABKAlCCLpIBXIDsAEBEhwKC293bmVyX2VtYWlsGAcgASgJQge6SARyAmABEiAKCnByaXZpbGVnZXMYCCADKAlCDLpICZIBBiIEcgIQATqqAbpIpgEaowEKCmFjY291bnQuaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGnl0aGlzLmlkLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykgfHwgIWhhcyh0aGlzLmNyZWF0ZWRfYXQpIuQDCg1BY2NvdW50SW52aXRlEhQKAmlkGAEgASgJQgi6SAVyA7ABARIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABARIUCgxhY2NvdW50X25hbWUYAyABKAkSHQoKdXNlcl9lbWFpbBgEIAEoCUIJukgGcgQQAWABEiYKDXVzZXJfcm9sZV9pZHMYBSADKAlCD7pIDJIBCQgBIgVyA7ABARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpChJjcmVhdGVkX2J5X3VzZXJfaWQYByABKAlCCLpIBXIDsAEBSACIAQESHAoPY3JlYXRlZF9ieV9uYW1lGAggASgJSAGIAQESNAoQbGFzdF9tb2RpZmllZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoHdXNlcl9pZBgKIAEoCUIIukgFcgOwAQFIAogBARI8CgZzdGF0dXMYCyABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzQhUKE19jcmVhdGVkX2J5X3VzZXJfaWRCEgoQX2NyZWF0ZWRfYnlfbmFtZUIKCghfdXNlcl9pZCrLAQoTQWNjb3VudEludml0ZVN0YXR1cxIlCiFBQ0NPVU5UX0lOVklURV9TVEFUVVNfVU5TUEVDSUZJRUQQABIhCh1BQ0NPVU5UX0lOVklURV9TVEFUVVNfUEVORElORxABEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19BQ0NFUFRFRBACEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19SRUpFQ1RFRBADEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19DQU5DRUxFRBAFMp0SCg5BY2NvdW50U2VydmljZRKVAQoMTGlzdEFjY291bnRzEiwucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRzUmVxdWVzdBotLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50c1Jlc3BvbnNlIiiKtRgAkrUYAILT5JMCGhIYL2FwaS9hY2NvdW50L3YxL2FjY291bnRzEqQBCgpHZXRBY2NvdW50EioucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudFJlcXVlc3QaKy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50UmVzcG9uc2UiPYq1GAxyZWFkOmFjY291bnSC0+STAicSJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0SmwEKDUNyZWF0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRSZXNwb25zZSIrirUYAJK1GACC0+STAh06ASoiGC9hcGkvYWNjb3VudC92MS9hY2NvdW50cxK/AQoNVXBkYXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuVXBkYXRlQWNjb3VudFJlc3BvbnNlIk+KtRgNd3JpdGU6YWNjb3VudJK1GAphY2NvdW50LmlkgtPkkwIqOgEqGiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnQuaWR9Eq8BCg1EZWxldGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50UmVzcG9uc2UiP4q1GA5kZWxldGU6YWNjb3VudILT5JMCJyolL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfRLEAQoSTGlzdEFjY291bnRJbnZpdGVzEjIucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBozLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50SW52aXRlc1Jlc3BvbnNlIkWKtRgMcmVhZDppbnZpdGVzgtPkkwIvEi0vYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMSsQEKFExpc3RNeUFjY291bnRJbnZpdGVzEjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0GjUucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZSIsirUYAJK1GACC0+STAh4SHC9hcGkvYWNjb3VudC92MS9zZWxmL2ludml0ZXMSygEKEEdldEFjY291bnRJbnZpdGUSMC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50SW52aXRlUmVxdWVzdBoxLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRJbnZpdGVSZXNwb25zZSJRirUYDHJlYWQ6aW52aXRlc4LT5JMCOxI5L2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9EvcBChNDcmVhdGVBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuQ3JlYXRlQWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50SW52aXRlUmVzcG9uc2UidYq1GA13cml0ZTppbnZpdGVzkrUYGWFjY291bnRfaW52aXRlLmFjY291bnRfaWSC0+STAkE6ASoiPC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pbnZpdGUuYWNjb3VudF9pZH0vaW52aXRlcxLVAQoTRGVsZXRlQWNjb3VudEludml0ZRIzLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0GjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlOKtRgOZGVsZXRlOmludml0ZXOC0+STAjsqOS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcy97aW52aXRlX2lkfRLOAQoTQWNjZXB0QWNjb3VudEludml0ZRIzLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0GjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlIkyKtRgAgtPkkwJCIkAvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0vYWNjZXB0Es4BChNSZWplY3RBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuUmVqZWN0QWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5SZWplY3RBY2NvdW50SW52aXRlUmVzcG9uc2UiTIq1GACC0+STAkIiQC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcy97aW52aXRlX2lkfS9yZWplY3RC/gEKG2NvbS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MUIMQWNjb3VudFByb3RvUAFaUmdpdGh1Yi5jb20vcWRyYW50L3FkcmFudC1jbG91ZC1wdWJsaWMtYXBpL2dlbi9nby9xZHJhbnQvY2xvdWQvYWNjb3VudC92MTthY2NvdW50djGiAgNRQ0GqAhdRZHJhbnQuQ2xvdWQuQWNjb3VudC5WMcoCF1FkcmFudFxDbG91ZFxBY2NvdW50XFYx4gIjUWRyYW50XENsb3VkXEFjY291bnRcVjFcR1BCTWV0YWRhdGHqAhpRZHJhbnQ6OkNsb3VkOjpBY2NvdW50OjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); /** * Describes the message qdrant.cloud.account.v1.ListAccountsRequest. diff --git a/proto/qdrant/cloud/account/v1/account.proto b/proto/qdrant/cloud/account/v1/account.proto index f366fb66..58e6f528 100644 --- a/proto/qdrant/cloud/account/v1/account.proto +++ b/proto/qdrant/cloud/account/v1/account.proto @@ -75,10 +75,11 @@ service AccountService { // gRPC Gateway REST call option (google.api.http) = {get: "/api/account/v1/accounts/{account_id}/invites"}; } - // Fetch all account invites for the authenticated user. + // Fetch all account invites for the authenticated user (across all accounts). + // These are the invites you are invited to join, not the ones you have sent. // Required permissions: // - None (authenticated only) - rpc ListMyAccountInvites(ListMyAccountInvitesRequest) returns (ListMyAccountInvitesResponse) { + rpc ListMyAccountInvites(ListMyAccountInvitesRequest) returns (ListMyAccountInvitesResponse) { // TODO: Rename to ListReceivedAccountInvites ? // permissions option (common.v1.permissions) = ""; // custom account-id expression @@ -86,7 +87,7 @@ service AccountService { // gRPC Gateway REST call option (google.api.http) = {get: "/api/account/v1/self/invites"}; } - // Fetch an account invite by its id. + // Fetch an account invite identified by the given account ID and invite ID. // Required permissions: // - read:invites rpc GetAccountInvite(GetAccountInviteRequest) returns (GetAccountInviteResponse) { @@ -102,10 +103,10 @@ service AccountService { // permissions option (common.v1.permissions) = "write:invites"; // custom account-id expression - option (qdrant.cloud.common.v1.account_id_expression) = "invite.account_id"; + option (qdrant.cloud.common.v1.account_id_expression) = "account_invite.account_id"; // gRPC Gateway REST call option (google.api.http) = { - post: "/api/account/v1/accounts/{invite.account_id}/invites" + post: "/api/account/v1/accounts/{account_invite.account_id}/invites" body: "*" }; } @@ -242,21 +243,21 @@ message GetAccountInviteRequest { // GetAccountInviteResponse is the response from the GetAccountInvite function. message GetAccountInviteResponse { - // The retrieved account invite. - AccountInvite invite = 1; + // The account invite. + AccountInvite account_invite = 1; } // CreateAccountInviteRequest is the request for the CreateAccountInvite function. message CreateAccountInviteRequest { // The details of the invite to create. // This is a required field. - AccountInvite invite = 1; + AccountInvite account_invite = 1; } // CreateAccountInviteResponse is the response from the CreateAccountInvite function. message CreateAccountInviteResponse { // The created account invite. - AccountInvite invite = 1; + AccountInvite account_invite = 1; } // DeleteAccountInviteRequest is the request for the DeleteAccountInvite function. @@ -356,14 +357,15 @@ message AccountInvite { string account_name = 3; // The email address of the user being invited. // This field is required when creating an invite. - string email = 4 [(buf.validate.field).string = { + string user_email = 4 [(buf.validate.field).string = { email: true min_len: 1 }]; // The identifiers of the roles to be assigned to the user upon accepting the invite. // This field is required when creating an invite, and the list must not be empty. // Each string in the list must be a valid UUID, to be resolved in the provided account. - repeated string role_ids = 5 [(buf.validate.field).repeated = { + // Please use IAMService.ListRoles to get the possible roles to assign. + repeated string user_role_ids = 5 [(buf.validate.field).repeated = { min_items: 1 // Ensure at least one role ID is provided items: { string: {uuid: true} @@ -374,22 +376,19 @@ message AccountInvite { google.protobuf.Timestamp created_at = 6; // The identifier of the user who created the invite (in GUID format). // This is a read-only field, populated by the server based on the authenticated user. - string created_by_user_id = 7 [(buf.validate.field).string = {uuid: true}]; // TODO: Optional (for system generated invites)? + optional string created_by_user_id = 7 [(buf.validate.field).string = {uuid: true}]; // Name of the user that created this invite. // This is a read-only value, populated by the server based on the created_by_user_id field. - string created_by_name = 8; - // The timestamp when the invite expires. If not set, the invite may use a default expiration period or not expire. - // This is a read-only field, potentially set at creation or managed by the server. - google.protobuf.Timestamp expires_at = 9; // TODO: Do we want to add this? + optional string created_by_name = 8; // The timestamp when the invite was last updated (e.g., status change). // This is a read-only field. - google.protobuf.Timestamp last_modified_at = 10; + google.protobuf.Timestamp last_modified_at = 9; // Identifier of the user that accepted or rejected this invite. // This is a read-only value. - optional string user_id = 11 [(buf.validate.field).string = {uuid: true}]; + optional string user_id = 10 [(buf.validate.field).string = {uuid: true}]; // The status of the invite. // This is a read-only field. - AccountInviteStatus status = 12; + AccountInviteStatus status = 11; } // AccountInviteStatus defines the possible statuses of an account invitation. @@ -402,8 +401,6 @@ enum AccountInviteStatus { ACCOUNT_INVITE_STATUS_ACCEPTED = 2; // The invite has been rejected by the user. ACCOUNT_INVITE_STATUS_REJECTED = 3; - // The invite has expired. - ACCOUNT_INVITE_STATUS_EXPIRED = 4; // TODO: Do we want to add this? // The invite has been canceled (e.g., by an account admin). ACCOUNT_INVITE_STATUS_CANCELED = 5; } From d27eb93ca9a1135804ecc30a51686eb5221aa92a Mon Sep 17 00:00:00 2001 From: Robert-Stam Date: Fri, 6 Jun 2025 19:21:34 +0200 Subject: [PATCH 6/6] renamed to My --> Received --- gen/go/qdrant/cloud/account/v1/account.pb.go | 704 +++++++++--------- .../cloud/account/v1/account_grpc.pb.go | 52 +- .../cloud/account/v1/account.swagger.json | 9 +- .../qdrant/cloud/account/v1/account_pb2.py | 70 +- .../qdrant/cloud/account/v1/account_pb2.pyi | 4 +- .../cloud/account/v1/account_pb2_grpc.py | 27 +- .../qdrant/cloud/account/v1/account_pb.d.ts | 34 +- .../qdrant/cloud/account/v1/account_pb.js | 14 +- proto/qdrant/cloud/account/v1/account.proto | 10 +- 9 files changed, 461 insertions(+), 463 deletions(-) diff --git a/gen/go/qdrant/cloud/account/v1/account.pb.go b/gen/go/qdrant/cloud/account/v1/account.pb.go index c3f441d5..caa85b98 100644 --- a/gen/go/qdrant/cloud/account/v1/account.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account.pb.go @@ -623,9 +623,9 @@ func (x *ListAccountInvitesResponse) GetItems() []*AccountInvite { return nil } -// ListMyAccountInvitesRequest is the request for the ListMyAccountInvites function. +// ListReceivedAccountInvitesRequest is the request for the ListReceivedAccountInvites function. // This lists invites for the authenticated user across all accounts. -type ListMyAccountInvitesRequest struct { +type ListReceivedAccountInvitesRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Optional: Filter invites by status (e.g. pending only). StatusFilter *AccountInviteStatus `protobuf:"varint,1,opt,name=status_filter,json=statusFilter,proto3,enum=qdrant.cloud.account.v1.AccountInviteStatus,oneof" json:"status_filter,omitempty"` @@ -633,20 +633,20 @@ type ListMyAccountInvitesRequest struct { sizeCache protoimpl.SizeCache } -func (x *ListMyAccountInvitesRequest) Reset() { - *x = ListMyAccountInvitesRequest{} +func (x *ListReceivedAccountInvitesRequest) Reset() { + *x = ListReceivedAccountInvitesRequest{} mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ListMyAccountInvitesRequest) String() string { +func (x *ListReceivedAccountInvitesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListMyAccountInvitesRequest) ProtoMessage() {} +func (*ListReceivedAccountInvitesRequest) ProtoMessage() {} -func (x *ListMyAccountInvitesRequest) ProtoReflect() protoreflect.Message { +func (x *ListReceivedAccountInvitesRequest) ProtoReflect() protoreflect.Message { mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -658,20 +658,20 @@ func (x *ListMyAccountInvitesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListMyAccountInvitesRequest.ProtoReflect.Descriptor instead. -func (*ListMyAccountInvitesRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListReceivedAccountInvitesRequest.ProtoReflect.Descriptor instead. +func (*ListReceivedAccountInvitesRequest) Descriptor() ([]byte, []int) { return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{12} } -func (x *ListMyAccountInvitesRequest) GetStatusFilter() AccountInviteStatus { +func (x *ListReceivedAccountInvitesRequest) GetStatusFilter() AccountInviteStatus { if x != nil && x.StatusFilter != nil { return *x.StatusFilter } return AccountInviteStatus_ACCOUNT_INVITE_STATUS_UNSPECIFIED } -// ListMyAccountInvitesResponse is the response from the ListMyAccountInvites function. -type ListMyAccountInvitesResponse struct { +// ListReceivedAccountInvitesResponse is the response from the ListReceivedAccountInvites function. +type ListReceivedAccountInvitesResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The list of account invites for the authenticated user. Items []*AccountInvite `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` @@ -679,20 +679,20 @@ type ListMyAccountInvitesResponse struct { sizeCache protoimpl.SizeCache } -func (x *ListMyAccountInvitesResponse) Reset() { - *x = ListMyAccountInvitesResponse{} +func (x *ListReceivedAccountInvitesResponse) Reset() { + *x = ListReceivedAccountInvitesResponse{} mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ListMyAccountInvitesResponse) String() string { +func (x *ListReceivedAccountInvitesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListMyAccountInvitesResponse) ProtoMessage() {} +func (*ListReceivedAccountInvitesResponse) ProtoMessage() {} -func (x *ListMyAccountInvitesResponse) ProtoReflect() protoreflect.Message { +func (x *ListReceivedAccountInvitesResponse) ProtoReflect() protoreflect.Message { mi := &file_qdrant_cloud_account_v1_account_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -704,12 +704,12 @@ func (x *ListMyAccountInvitesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListMyAccountInvitesResponse.ProtoReflect.Descriptor instead. -func (*ListMyAccountInvitesResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListReceivedAccountInvitesResponse.ProtoReflect.Descriptor instead. +func (*ListReceivedAccountInvitesResponse) Descriptor() ([]byte, []int) { return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{13} } -func (x *ListMyAccountInvitesResponse) GetItems() []*AccountInvite { +func (x *ListReceivedAccountInvitesResponse) GetItems() []*AccountInvite { if x != nil { return x.Items } @@ -1536,328 +1536,330 @@ var file_qdrant_cloud_account_v1_account_proto_rawDesc = string([]byte{ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, - 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x22, 0x5c, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x69, - 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0d, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x62, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, + 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x69, 0x0a, 0x17, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x22, 0x6b, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, + 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x0d, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x6c, 0x0a, + 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x0d, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x1a, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x18, 0x47, 0x65, 0x74, + 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x1b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x22, 0x6b, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, - 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x22, 0x6c, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, - 0x6c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x1d, 0x0a, - 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x0a, 0x1a, - 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x1b, 0x41, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, - 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x1a, 0x52, 0x65, 0x6a, - 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x1b, 0x52, 0x65, 0x6a, 0x65, 0x63, - 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x44, 0x0a, - 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x1b, 0xba, 0x48, 0x18, 0x72, 0x16, 0x10, 0x04, 0x18, 0x40, 0x32, 0x10, 0x5e, 0x5b, - 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xba, 0x48, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6d, - 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, 0x01, 0x06, 0x22, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x73, 0x3a, 0xaa, 0x01, 0xba, 0x48, 0xa6, 0x01, 0x1a, 0xa3, 0x01, 0x0a, 0x0a, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x12, 0x1a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, - 0x55, 0x49, 0x44, 0x1a, 0x79, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x64, 0x2e, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, - 0x46, 0x5d, 0x7b, 0x38, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, - 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, - 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, - 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x31, - 0x32, 0x7d, 0x24, 0x27, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x29, 0x22, 0xe3, - 0x04, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xba, 0x48, 0x06, 0x72, - 0x04, 0x10, 0x01, 0x60, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x12, 0x33, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x92, 0x01, 0x09, 0x08, - 0x01, 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x52, 0x6f, - 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x3a, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x1a, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, + 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x09, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x1b, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x26, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x02, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x2a, 0xcb, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, - 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, - 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, + 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xba, + 0x48, 0x18, 0x72, 0x16, 0x10, 0x04, 0x18, 0x40, 0x32, 0x10, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, + 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x23, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x07, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, + 0x02, 0x60, 0x01, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x2c, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x92, 0x01, 0x06, 0x22, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x3a, 0xaa, 0x01, + 0xba, 0x48, 0xa6, 0x01, 0x1a, 0xa3, 0x01, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x69, 0x64, 0x12, 0x1a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, 0x1a, + 0x79, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x64, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x38, + 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, + 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, + 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, + 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x31, 0x32, 0x7d, 0x24, 0x27, + 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x29, 0x22, 0xe3, 0x04, 0x0a, 0x0d, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, + 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xba, 0x48, 0x06, 0x72, 0x04, 0x10, 0x01, 0x60, + 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x33, 0x0a, 0x0d, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x92, 0x01, 0x09, 0x08, 0x01, 0x22, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, + 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3a, 0x0a, 0x12, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, + 0x01, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, + 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x02, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x2a, 0xcb, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x43, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, + 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, + 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, + 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x22, - 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, - 0x10, 0x05, 0x32, 0x9d, 0x12, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x28, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xa4, 0x01, - 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x71, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x32, 0xaf, + 0x12, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x28, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, + 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x1a, 0x25, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x69, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, - 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x32, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3d, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x2b, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xbf, + 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x4f, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x92, 0xb5, 0x18, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x1a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x7d, + 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3f, 0x8a, 0xb5, 0x18, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, - 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xb1, 0x01, - 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x71, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x6c, 0x66, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x73, 0x12, 0xca, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x45, 0x8a, 0xb5, 0x18, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x1a, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x2c, 0x8a, 0xb5, 0x18, 0x00, 0x92, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x65, 0x6c, 0x66, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, + 0xca, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x8a, 0xb5, 0x18, - 0x0c, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x8a, 0xb5, 0x18, 0x0c, 0x72, + 0x65, 0x61, 0x64, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3b, 0x12, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, + 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xf7, 0x01, 0x0a, + 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x75, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x73, 0x92, 0xb5, 0x18, 0x19, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, + 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x8a, 0xb5, 0x18, 0x0e, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xf7, - 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xce, + 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x75, 0x8a, 0xb5, 0x18, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x73, 0x92, 0xb5, 0x18, 0x19, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x8a, 0xb5, 0x18, - 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, - 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xce, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, - 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, - 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x70, - 0x74, 0x12, 0xce, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, - 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, - 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, - 0x22, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, - 0x7b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x42, 0xfe, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, 0x02, 0x17, 0x51, - 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, - 0xe2, 0x02, 0x23, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x3a, - 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x40, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, + 0xce, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, + 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x4c, 0x8a, 0xb5, 0x18, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x40, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, + 0x42, 0xfe, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x67, 0x6f, 0x2f, 0x71, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x51, 0x43, 0x41, 0xaa, 0x02, 0x17, 0x51, 0x64, 0x72, + 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, + 0x23, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x51, 0x64, 0x72, 0x61, 0x6e, 0x74, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( @@ -1875,34 +1877,34 @@ func file_qdrant_cloud_account_v1_account_proto_rawDescGZIP() []byte { var file_qdrant_cloud_account_v1_account_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_qdrant_cloud_account_v1_account_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_qdrant_cloud_account_v1_account_proto_goTypes = []any{ - (AccountInviteStatus)(0), // 0: qdrant.cloud.account.v1.AccountInviteStatus - (*ListAccountsRequest)(nil), // 1: qdrant.cloud.account.v1.ListAccountsRequest - (*ListAccountsResponse)(nil), // 2: qdrant.cloud.account.v1.ListAccountsResponse - (*GetAccountRequest)(nil), // 3: qdrant.cloud.account.v1.GetAccountRequest - (*GetAccountResponse)(nil), // 4: qdrant.cloud.account.v1.GetAccountResponse - (*CreateAccountRequest)(nil), // 5: qdrant.cloud.account.v1.CreateAccountRequest - (*CreateAccountResponse)(nil), // 6: qdrant.cloud.account.v1.CreateAccountResponse - (*UpdateAccountRequest)(nil), // 7: qdrant.cloud.account.v1.UpdateAccountRequest - (*UpdateAccountResponse)(nil), // 8: qdrant.cloud.account.v1.UpdateAccountResponse - (*DeleteAccountRequest)(nil), // 9: qdrant.cloud.account.v1.DeleteAccountRequest - (*DeleteAccountResponse)(nil), // 10: qdrant.cloud.account.v1.DeleteAccountResponse - (*ListAccountInvitesRequest)(nil), // 11: qdrant.cloud.account.v1.ListAccountInvitesRequest - (*ListAccountInvitesResponse)(nil), // 12: qdrant.cloud.account.v1.ListAccountInvitesResponse - (*ListMyAccountInvitesRequest)(nil), // 13: qdrant.cloud.account.v1.ListMyAccountInvitesRequest - (*ListMyAccountInvitesResponse)(nil), // 14: qdrant.cloud.account.v1.ListMyAccountInvitesResponse - (*GetAccountInviteRequest)(nil), // 15: qdrant.cloud.account.v1.GetAccountInviteRequest - (*GetAccountInviteResponse)(nil), // 16: qdrant.cloud.account.v1.GetAccountInviteResponse - (*CreateAccountInviteRequest)(nil), // 17: qdrant.cloud.account.v1.CreateAccountInviteRequest - (*CreateAccountInviteResponse)(nil), // 18: qdrant.cloud.account.v1.CreateAccountInviteResponse - (*DeleteAccountInviteRequest)(nil), // 19: qdrant.cloud.account.v1.DeleteAccountInviteRequest - (*DeleteAccountInviteResponse)(nil), // 20: qdrant.cloud.account.v1.DeleteAccountInviteResponse - (*AcceptAccountInviteRequest)(nil), // 21: qdrant.cloud.account.v1.AcceptAccountInviteRequest - (*AcceptAccountInviteResponse)(nil), // 22: qdrant.cloud.account.v1.AcceptAccountInviteResponse - (*RejectAccountInviteRequest)(nil), // 23: qdrant.cloud.account.v1.RejectAccountInviteRequest - (*RejectAccountInviteResponse)(nil), // 24: qdrant.cloud.account.v1.RejectAccountInviteResponse - (*Account)(nil), // 25: qdrant.cloud.account.v1.Account - (*AccountInvite)(nil), // 26: qdrant.cloud.account.v1.AccountInvite - (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp + (AccountInviteStatus)(0), // 0: qdrant.cloud.account.v1.AccountInviteStatus + (*ListAccountsRequest)(nil), // 1: qdrant.cloud.account.v1.ListAccountsRequest + (*ListAccountsResponse)(nil), // 2: qdrant.cloud.account.v1.ListAccountsResponse + (*GetAccountRequest)(nil), // 3: qdrant.cloud.account.v1.GetAccountRequest + (*GetAccountResponse)(nil), // 4: qdrant.cloud.account.v1.GetAccountResponse + (*CreateAccountRequest)(nil), // 5: qdrant.cloud.account.v1.CreateAccountRequest + (*CreateAccountResponse)(nil), // 6: qdrant.cloud.account.v1.CreateAccountResponse + (*UpdateAccountRequest)(nil), // 7: qdrant.cloud.account.v1.UpdateAccountRequest + (*UpdateAccountResponse)(nil), // 8: qdrant.cloud.account.v1.UpdateAccountResponse + (*DeleteAccountRequest)(nil), // 9: qdrant.cloud.account.v1.DeleteAccountRequest + (*DeleteAccountResponse)(nil), // 10: qdrant.cloud.account.v1.DeleteAccountResponse + (*ListAccountInvitesRequest)(nil), // 11: qdrant.cloud.account.v1.ListAccountInvitesRequest + (*ListAccountInvitesResponse)(nil), // 12: qdrant.cloud.account.v1.ListAccountInvitesResponse + (*ListReceivedAccountInvitesRequest)(nil), // 13: qdrant.cloud.account.v1.ListReceivedAccountInvitesRequest + (*ListReceivedAccountInvitesResponse)(nil), // 14: qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse + (*GetAccountInviteRequest)(nil), // 15: qdrant.cloud.account.v1.GetAccountInviteRequest + (*GetAccountInviteResponse)(nil), // 16: qdrant.cloud.account.v1.GetAccountInviteResponse + (*CreateAccountInviteRequest)(nil), // 17: qdrant.cloud.account.v1.CreateAccountInviteRequest + (*CreateAccountInviteResponse)(nil), // 18: qdrant.cloud.account.v1.CreateAccountInviteResponse + (*DeleteAccountInviteRequest)(nil), // 19: qdrant.cloud.account.v1.DeleteAccountInviteRequest + (*DeleteAccountInviteResponse)(nil), // 20: qdrant.cloud.account.v1.DeleteAccountInviteResponse + (*AcceptAccountInviteRequest)(nil), // 21: qdrant.cloud.account.v1.AcceptAccountInviteRequest + (*AcceptAccountInviteResponse)(nil), // 22: qdrant.cloud.account.v1.AcceptAccountInviteResponse + (*RejectAccountInviteRequest)(nil), // 23: qdrant.cloud.account.v1.RejectAccountInviteRequest + (*RejectAccountInviteResponse)(nil), // 24: qdrant.cloud.account.v1.RejectAccountInviteResponse + (*Account)(nil), // 25: qdrant.cloud.account.v1.Account + (*AccountInvite)(nil), // 26: qdrant.cloud.account.v1.AccountInvite + (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp } var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ 25, // 0: qdrant.cloud.account.v1.ListAccountsResponse.items:type_name -> qdrant.cloud.account.v1.Account @@ -1912,8 +1914,8 @@ var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ 25, // 4: qdrant.cloud.account.v1.UpdateAccountRequest.account:type_name -> qdrant.cloud.account.v1.Account 25, // 5: qdrant.cloud.account.v1.UpdateAccountResponse.account:type_name -> qdrant.cloud.account.v1.Account 26, // 6: qdrant.cloud.account.v1.ListAccountInvitesResponse.items:type_name -> qdrant.cloud.account.v1.AccountInvite - 0, // 7: qdrant.cloud.account.v1.ListMyAccountInvitesRequest.status_filter:type_name -> qdrant.cloud.account.v1.AccountInviteStatus - 26, // 8: qdrant.cloud.account.v1.ListMyAccountInvitesResponse.items:type_name -> qdrant.cloud.account.v1.AccountInvite + 0, // 7: qdrant.cloud.account.v1.ListReceivedAccountInvitesRequest.status_filter:type_name -> qdrant.cloud.account.v1.AccountInviteStatus + 26, // 8: qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse.items:type_name -> qdrant.cloud.account.v1.AccountInvite 26, // 9: qdrant.cloud.account.v1.GetAccountInviteResponse.account_invite:type_name -> qdrant.cloud.account.v1.AccountInvite 26, // 10: qdrant.cloud.account.v1.CreateAccountInviteRequest.account_invite:type_name -> qdrant.cloud.account.v1.AccountInvite 26, // 11: qdrant.cloud.account.v1.CreateAccountInviteResponse.account_invite:type_name -> qdrant.cloud.account.v1.AccountInvite @@ -1930,7 +1932,7 @@ var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ 7, // 22: qdrant.cloud.account.v1.AccountService.UpdateAccount:input_type -> qdrant.cloud.account.v1.UpdateAccountRequest 9, // 23: qdrant.cloud.account.v1.AccountService.DeleteAccount:input_type -> qdrant.cloud.account.v1.DeleteAccountRequest 11, // 24: qdrant.cloud.account.v1.AccountService.ListAccountInvites:input_type -> qdrant.cloud.account.v1.ListAccountInvitesRequest - 13, // 25: qdrant.cloud.account.v1.AccountService.ListMyAccountInvites:input_type -> qdrant.cloud.account.v1.ListMyAccountInvitesRequest + 13, // 25: qdrant.cloud.account.v1.AccountService.ListReceivedAccountInvites:input_type -> qdrant.cloud.account.v1.ListReceivedAccountInvitesRequest 15, // 26: qdrant.cloud.account.v1.AccountService.GetAccountInvite:input_type -> qdrant.cloud.account.v1.GetAccountInviteRequest 17, // 27: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:input_type -> qdrant.cloud.account.v1.CreateAccountInviteRequest 19, // 28: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:input_type -> qdrant.cloud.account.v1.DeleteAccountInviteRequest @@ -1942,7 +1944,7 @@ var file_qdrant_cloud_account_v1_account_proto_depIdxs = []int32{ 8, // 34: qdrant.cloud.account.v1.AccountService.UpdateAccount:output_type -> qdrant.cloud.account.v1.UpdateAccountResponse 10, // 35: qdrant.cloud.account.v1.AccountService.DeleteAccount:output_type -> qdrant.cloud.account.v1.DeleteAccountResponse 12, // 36: qdrant.cloud.account.v1.AccountService.ListAccountInvites:output_type -> qdrant.cloud.account.v1.ListAccountInvitesResponse - 14, // 37: qdrant.cloud.account.v1.AccountService.ListMyAccountInvites:output_type -> qdrant.cloud.account.v1.ListMyAccountInvitesResponse + 14, // 37: qdrant.cloud.account.v1.AccountService.ListReceivedAccountInvites:output_type -> qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse 16, // 38: qdrant.cloud.account.v1.AccountService.GetAccountInvite:output_type -> qdrant.cloud.account.v1.GetAccountInviteResponse 18, // 39: qdrant.cloud.account.v1.AccountService.CreateAccountInvite:output_type -> qdrant.cloud.account.v1.CreateAccountInviteResponse 20, // 40: qdrant.cloud.account.v1.AccountService.DeleteAccountInvite:output_type -> qdrant.cloud.account.v1.DeleteAccountInviteResponse diff --git a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go index a108232b..fb723372 100644 --- a/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account_grpc.pb.go @@ -19,18 +19,18 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - AccountService_ListAccounts_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccounts" - AccountService_GetAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccount" - AccountService_CreateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccount" - AccountService_UpdateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/UpdateAccount" - AccountService_DeleteAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccount" - AccountService_ListAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccountInvites" - AccountService_ListMyAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListMyAccountInvites" - AccountService_GetAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccountInvite" - AccountService_CreateAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccountInvite" - AccountService_DeleteAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccountInvite" - AccountService_AcceptAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/AcceptAccountInvite" - AccountService_RejectAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/RejectAccountInvite" + AccountService_ListAccounts_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccounts" + AccountService_GetAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccount" + AccountService_CreateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccount" + AccountService_UpdateAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/UpdateAccount" + AccountService_DeleteAccount_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccount" + AccountService_ListAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListAccountInvites" + AccountService_ListReceivedAccountInvites_FullMethodName = "/qdrant.cloud.account.v1.AccountService/ListReceivedAccountInvites" + AccountService_GetAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/GetAccountInvite" + AccountService_CreateAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/CreateAccountInvite" + AccountService_DeleteAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/DeleteAccountInvite" + AccountService_AcceptAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/AcceptAccountInvite" + AccountService_RejectAccountInvite_FullMethodName = "/qdrant.cloud.account.v1.AccountService/RejectAccountInvite" ) // AccountServiceClient is the client API for AccountService service. @@ -67,7 +67,7 @@ type AccountServiceClient interface { // These are the invites you are invited to join, not the ones you have sent. // Required permissions: // - None (authenticated only) - ListMyAccountInvites(ctx context.Context, in *ListMyAccountInvitesRequest, opts ...grpc.CallOption) (*ListMyAccountInvitesResponse, error) + ListReceivedAccountInvites(ctx context.Context, in *ListReceivedAccountInvitesRequest, opts ...grpc.CallOption) (*ListReceivedAccountInvitesResponse, error) // Fetch an account invite identified by the given account ID and invite ID. // Required permissions: // - read:invites @@ -162,10 +162,10 @@ func (c *accountServiceClient) ListAccountInvites(ctx context.Context, in *ListA return out, nil } -func (c *accountServiceClient) ListMyAccountInvites(ctx context.Context, in *ListMyAccountInvitesRequest, opts ...grpc.CallOption) (*ListMyAccountInvitesResponse, error) { +func (c *accountServiceClient) ListReceivedAccountInvites(ctx context.Context, in *ListReceivedAccountInvitesRequest, opts ...grpc.CallOption) (*ListReceivedAccountInvitesResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(ListMyAccountInvitesResponse) - err := c.cc.Invoke(ctx, AccountService_ListMyAccountInvites_FullMethodName, in, out, cOpts...) + out := new(ListReceivedAccountInvitesResponse) + err := c.cc.Invoke(ctx, AccountService_ListReceivedAccountInvites_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -256,7 +256,7 @@ type AccountServiceServer interface { // These are the invites you are invited to join, not the ones you have sent. // Required permissions: // - None (authenticated only) - ListMyAccountInvites(context.Context, *ListMyAccountInvitesRequest) (*ListMyAccountInvitesResponse, error) + ListReceivedAccountInvites(context.Context, *ListReceivedAccountInvitesRequest) (*ListReceivedAccountInvitesResponse, error) // Fetch an account invite identified by the given account ID and invite ID. // Required permissions: // - read:invites @@ -309,8 +309,8 @@ func (UnimplementedAccountServiceServer) DeleteAccount(context.Context, *DeleteA func (UnimplementedAccountServiceServer) ListAccountInvites(context.Context, *ListAccountInvitesRequest) (*ListAccountInvitesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListAccountInvites not implemented") } -func (UnimplementedAccountServiceServer) ListMyAccountInvites(context.Context, *ListMyAccountInvitesRequest) (*ListMyAccountInvitesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListMyAccountInvites not implemented") +func (UnimplementedAccountServiceServer) ListReceivedAccountInvites(context.Context, *ListReceivedAccountInvitesRequest) (*ListReceivedAccountInvitesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListReceivedAccountInvites not implemented") } func (UnimplementedAccountServiceServer) GetAccountInvite(context.Context, *GetAccountInviteRequest) (*GetAccountInviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountInvite not implemented") @@ -456,20 +456,20 @@ func _AccountService_ListAccountInvites_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } -func _AccountService_ListMyAccountInvites_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListMyAccountInvitesRequest) +func _AccountService_ListReceivedAccountInvites_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListReceivedAccountInvitesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(AccountServiceServer).ListMyAccountInvites(ctx, in) + return srv.(AccountServiceServer).ListReceivedAccountInvites(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccountService_ListMyAccountInvites_FullMethodName, + FullMethod: AccountService_ListReceivedAccountInvites_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AccountServiceServer).ListMyAccountInvites(ctx, req.(*ListMyAccountInvitesRequest)) + return srv.(AccountServiceServer).ListReceivedAccountInvites(ctx, req.(*ListReceivedAccountInvitesRequest)) } return interceptor(ctx, in, info, handler) } @@ -596,8 +596,8 @@ var AccountService_ServiceDesc = grpc.ServiceDesc{ Handler: _AccountService_ListAccountInvites_Handler, }, { - MethodName: "ListMyAccountInvites", - Handler: _AccountService_ListMyAccountInvites_Handler, + MethodName: "ListReceivedAccountInvites", + Handler: _AccountService_ListReceivedAccountInvites_Handler, }, { MethodName: "GetAccountInvite", diff --git a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json index bc602ce7..f1d53ace 100644 --- a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json +++ b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json @@ -402,13 +402,12 @@ "/api/account/v1/self/invites": { "get": { "summary": "Fetch all account invites for the authenticated user (across all accounts).\nThese are the invites you are invited to join, not the ones you have sent.\nRequired permissions:\n- None (authenticated only)", - "description": "TODO: Rename to ListReceivedAccountInvites ?", - "operationId": "AccountService_ListMyAccountInvites", + "operationId": "AccountService_ListReceivedAccountInvites", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1ListMyAccountInvitesResponse" + "$ref": "#/definitions/v1ListReceivedAccountInvitesResponse" } }, "default": { @@ -772,7 +771,7 @@ }, "title": "ListAccountsResponse is the response from the ListAccounts function" }, - "v1ListMyAccountInvitesResponse": { + "v1ListReceivedAccountInvitesResponse": { "type": "object", "properties": { "items": { @@ -784,7 +783,7 @@ "description": "The list of account invites for the authenticated user." } }, - "description": "ListMyAccountInvitesResponse is the response from the ListMyAccountInvites function." + "description": "ListReceivedAccountInvitesResponse is the response from the ListReceivedAccountInvites function." }, "v1RejectAccountInviteResponse": { "type": "object", diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2.py b/gen/python/qdrant/cloud/account/v1/account_pb2.py index 36846dae..b555654c 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2.py @@ -28,7 +28,7 @@ from qdrant.cloud.common.v1 import common_pb2 as qdrant_dot_cloud_dot_common_dot_v1_dot_common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%qdrant/cloud/account/v1/account.proto\x12\x17qdrant.cloud.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a#qdrant/cloud/common/v1/common.proto\"\x15\n\x13ListAccountsRequest\"N\n\x14ListAccountsResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x05items\"<\n\x11GetAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"P\n\x12GetAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14\x43reateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15\x43reateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"R\n\x14UpdateAccountRequest\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"S\n\x15UpdateAccountResponse\x12:\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .qdrant.cloud.account.v1.AccountR\x07\x61\x63\x63ount\"?\n\x14\x44\x65leteAccountRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"\x17\n\x15\x44\x65leteAccountResponse\"D\n\x19ListAccountInvitesRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\"Z\n\x1aListAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"\x87\x01\n\x1bListMyAccountInvitesRequest\x12V\n\rstatus_filter\x18\x01 \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusH\x00R\x0cstatusFilter\x88\x01\x01\x42\x10\n\x0e_status_filter\"\\\n\x1cListMyAccountInvitesResponse\x12<\n\x05items\x18\x01 \x03(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x05items\"i\n\x17GetAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"i\n\x18GetAccountInviteResponse\x12M\n\x0e\x61\x63\x63ount_invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\raccountInvite\"k\n\x1a\x43reateAccountInviteRequest\x12M\n\x0e\x61\x63\x63ount_invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\raccountInvite\"l\n\x1b\x43reateAccountInviteResponse\x12M\n\x0e\x61\x63\x63ount_invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\raccountInvite\"l\n\x1a\x44\x65leteAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"\x1d\n\x1b\x44\x65leteAccountInviteResponse\"l\n\x1a\x41\x63\x63\x65ptAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1b\x41\x63\x63\x65ptAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1aRejectAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1bRejectAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)\"\xe3\x04\n\rAccountInvite\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\tR\x0b\x61\x63\x63ountName\x12(\n\nuser_email\x18\x04 \x01(\tB\t\xbaH\x06r\x04\x10\x01`\x01R\tuserEmail\x12\x33\n\ruser_role_ids\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\xb0\x01\x01R\x0buserRoleIds\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12:\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x0f\x63reatedByUserId\x88\x01\x01\x12+\n\x0f\x63reated_by_name\x18\x08 \x01(\tH\x01R\rcreatedByName\x88\x01\x01\x12\x44\n\x10last_modified_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12&\n\x07user_id\x18\n \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x06userId\x88\x01\x01\x12\x44\n\x06status\x18\x0b \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusR\x06statusB\x15\n\x13_created_by_user_idB\x12\n\x10_created_by_nameB\n\n\x08_user_id*\xcb\x01\n\x13\x41\x63\x63ountInviteStatus\x12%\n!ACCOUNT_INVITE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_PENDING\x10\x01\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_ACCEPTED\x10\x02\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_REJECTED\x10\x03\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_CANCELED\x10\x05\x32\x9d\x12\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}\x12\xc4\x01\n\x12ListAccountInvites\x12\x32.qdrant.cloud.account.v1.ListAccountInvitesRequest\x1a\x33.qdrant.cloud.account.v1.ListAccountInvitesResponse\"E\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02/\x12-/api/account/v1/accounts/{account_id}/invites\x12\xb1\x01\n\x14ListMyAccountInvites\x12\x34.qdrant.cloud.account.v1.ListMyAccountInvitesRequest\x1a\x35.qdrant.cloud.account.v1.ListMyAccountInvitesResponse\",\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/account/v1/self/invites\x12\xca\x01\n\x10GetAccountInvite\x12\x30.qdrant.cloud.account.v1.GetAccountInviteRequest\x1a\x31.qdrant.cloud.account.v1.GetAccountInviteResponse\"Q\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02;\x12\x39/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xf7\x01\n\x13\x43reateAccountInvite\x12\x33.qdrant.cloud.account.v1.CreateAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.CreateAccountInviteResponse\"u\x8a\xb5\x18\rwrite:invites\x92\xb5\x18\x19\x61\x63\x63ount_invite.account_id\x82\xd3\xe4\x93\x02\x41\"\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"l\n\x1aRejectAccountInviteRequest\x12\'\n\naccount_id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12%\n\tinvite_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x08inviteId\"]\n\x1bRejectAccountInviteResponse\x12>\n\x06invite\x18\x01 \x01(\x0b\x32&.qdrant.cloud.account.v1.AccountInviteR\x06invite\"\xf5\x03\n\x07\x41\x63\x63ount\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x44\n\x10last_modified_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12/\n\x04name\x18\x05 \x01(\tB\x1b\xbaH\x18r\x16\x10\x04\x18@2\x10^[a-zA-Z0-9-_]+$R\x04name\x12#\n\x08owner_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07ownerId\x12(\n\x0bowner_email\x18\x07 \x01(\tB\x07\xbaH\x04r\x02`\x01R\nownerEmail\x12,\n\nprivileges\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\"\x04r\x02\x10\x01R\nprivileges:\xaa\x01\xbaH\xa6\x01\x1a\xa3\x01\n\naccount.id\x12\x1avalue must be a valid UUID\x1aythis.id.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') || !has(this.created_at)\"\xe3\x04\n\rAccountInvite\x12\x18\n\x02id\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12\'\n\naccount_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\taccountId\x12!\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\tR\x0b\x61\x63\x63ountName\x12(\n\nuser_email\x18\x04 \x01(\tB\t\xbaH\x06r\x04\x10\x01`\x01R\tuserEmail\x12\x33\n\ruser_role_ids\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\xb0\x01\x01R\x0buserRoleIds\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12:\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x0f\x63reatedByUserId\x88\x01\x01\x12+\n\x0f\x63reated_by_name\x18\x08 \x01(\tH\x01R\rcreatedByName\x88\x01\x01\x12\x44\n\x10last_modified_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0elastModifiedAt\x12&\n\x07user_id\x18\n \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x06userId\x88\x01\x01\x12\x44\n\x06status\x18\x0b \x01(\x0e\x32,.qdrant.cloud.account.v1.AccountInviteStatusR\x06statusB\x15\n\x13_created_by_user_idB\x12\n\x10_created_by_nameB\n\n\x08_user_id*\xcb\x01\n\x13\x41\x63\x63ountInviteStatus\x12%\n!ACCOUNT_INVITE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x41\x43\x43OUNT_INVITE_STATUS_PENDING\x10\x01\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_ACCEPTED\x10\x02\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_REJECTED\x10\x03\x12\"\n\x1e\x41\x43\x43OUNT_INVITE_STATUS_CANCELED\x10\x05\x32\xaf\x12\n\x0e\x41\x63\x63ountService\x12\x95\x01\n\x0cListAccounts\x12,.qdrant.cloud.account.v1.ListAccountsRequest\x1a-.qdrant.cloud.account.v1.ListAccountsResponse\"(\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/account/v1/accounts\x12\xa4\x01\n\nGetAccount\x12*.qdrant.cloud.account.v1.GetAccountRequest\x1a+.qdrant.cloud.account.v1.GetAccountResponse\"=\x8a\xb5\x18\x0cread:account\x82\xd3\xe4\x93\x02\'\x12%/api/account/v1/accounts/{account_id}\x12\x9b\x01\n\rCreateAccount\x12-.qdrant.cloud.account.v1.CreateAccountRequest\x1a..qdrant.cloud.account.v1.CreateAccountResponse\"+\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1d\"\x18/api/account/v1/accounts:\x01*\x12\xbf\x01\n\rUpdateAccount\x12-.qdrant.cloud.account.v1.UpdateAccountRequest\x1a..qdrant.cloud.account.v1.UpdateAccountResponse\"O\x8a\xb5\x18\rwrite:account\x92\xb5\x18\naccount.id\x82\xd3\xe4\x93\x02*\x1a%/api/account/v1/accounts/{account.id}:\x01*\x12\xaf\x01\n\rDeleteAccount\x12-.qdrant.cloud.account.v1.DeleteAccountRequest\x1a..qdrant.cloud.account.v1.DeleteAccountResponse\"?\x8a\xb5\x18\x0e\x64\x65lete:account\x82\xd3\xe4\x93\x02\'*%/api/account/v1/accounts/{account_id}\x12\xc4\x01\n\x12ListAccountInvites\x12\x32.qdrant.cloud.account.v1.ListAccountInvitesRequest\x1a\x33.qdrant.cloud.account.v1.ListAccountInvitesResponse\"E\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02/\x12-/api/account/v1/accounts/{account_id}/invites\x12\xc3\x01\n\x1aListReceivedAccountInvites\x12:.qdrant.cloud.account.v1.ListReceivedAccountInvitesRequest\x1a;.qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse\",\x8a\xb5\x18\x00\x92\xb5\x18\x00\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/account/v1/self/invites\x12\xca\x01\n\x10GetAccountInvite\x12\x30.qdrant.cloud.account.v1.GetAccountInviteRequest\x1a\x31.qdrant.cloud.account.v1.GetAccountInviteResponse\"Q\x8a\xb5\x18\x0cread:invites\x82\xd3\xe4\x93\x02;\x12\x39/api/account/v1/accounts/{account_id}/invites/{invite_id}\x12\xf7\x01\n\x13\x43reateAccountInvite\x12\x33.qdrant.cloud.account.v1.CreateAccountInviteRequest\x1a\x34.qdrant.cloud.account.v1.CreateAccountInviteResponse\"u\x8a\xb5\x18\rwrite:invites\x92\xb5\x18\x19\x61\x63\x63ount_invite.account_id\x82\xd3\xe4\x93\x02\x41\" None: ... -class ListMyAccountInvitesRequest(_message.Message): +class ListReceivedAccountInvitesRequest(_message.Message): __slots__ = ("status_filter",) STATUS_FILTER_FIELD_NUMBER: _ClassVar[int] status_filter: AccountInviteStatus def __init__(self, status_filter: _Optional[_Union[AccountInviteStatus, str]] = ...) -> None: ... -class ListMyAccountInvitesResponse(_message.Message): +class ListReceivedAccountInvitesResponse(_message.Message): __slots__ = ("items",) ITEMS_FIELD_NUMBER: _ClassVar[int] items: _containers.RepeatedCompositeFieldContainer[AccountInvite] diff --git a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py index ee12f7ed..c6b8958f 100644 --- a/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py +++ b/gen/python/qdrant/cloud/account/v1/account_pb2_grpc.py @@ -45,10 +45,10 @@ def __init__(self, channel): request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesRequest.SerializeToString, response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesResponse.FromString, _registered_method=True) - self.ListMyAccountInvites = channel.unary_unary( - '/qdrant.cloud.account.v1.AccountService/ListMyAccountInvites', - request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesRequest.SerializeToString, - response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesResponse.FromString, + self.ListReceivedAccountInvites = channel.unary_unary( + '/qdrant.cloud.account.v1.AccountService/ListReceivedAccountInvites', + request_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListReceivedAccountInvitesRequest.SerializeToString, + response_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListReceivedAccountInvitesResponse.FromString, _registered_method=True) self.GetAccountInvite = channel.unary_unary( '/qdrant.cloud.account.v1.AccountService/GetAccountInvite', @@ -135,12 +135,11 @@ def ListAccountInvites(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def ListMyAccountInvites(self, request, context): + def ListReceivedAccountInvites(self, request, context): """Fetch all account invites for the authenticated user (across all accounts). These are the invites you are invited to join, not the ones you have sent. Required permissions: - None (authenticated only) - TODO: Rename to ListReceivedAccountInvites ? """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -228,10 +227,10 @@ def add_AccountServiceServicer_to_server(servicer, server): request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesRequest.FromString, response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListAccountInvitesResponse.SerializeToString, ), - 'ListMyAccountInvites': grpc.unary_unary_rpc_method_handler( - servicer.ListMyAccountInvites, - request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesRequest.FromString, - response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesResponse.SerializeToString, + 'ListReceivedAccountInvites': grpc.unary_unary_rpc_method_handler( + servicer.ListReceivedAccountInvites, + request_deserializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListReceivedAccountInvitesRequest.FromString, + response_serializer=qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListReceivedAccountInvitesResponse.SerializeToString, ), 'GetAccountInvite': grpc.unary_unary_rpc_method_handler( servicer.GetAccountInvite, @@ -433,7 +432,7 @@ def ListAccountInvites(request, _registered_method=True) @staticmethod - def ListMyAccountInvites(request, + def ListReceivedAccountInvites(request, target, options=(), channel_credentials=None, @@ -446,9 +445,9 @@ def ListMyAccountInvites(request, return grpc.experimental.unary_unary( request, target, - '/qdrant.cloud.account.v1.AccountService/ListMyAccountInvites', - qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesRequest.SerializeToString, - qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListMyAccountInvitesResponse.FromString, + '/qdrant.cloud.account.v1.AccountService/ListReceivedAccountInvites', + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListReceivedAccountInvitesRequest.SerializeToString, + qdrant_dot_cloud_dot_account_dot_v1_dot_account__pb2.ListReceivedAccountInvitesResponse.FromString, options, channel_credentials, insecure, diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts index e83ead48..3302c6ec 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.d.ts @@ -247,12 +247,12 @@ export declare type ListAccountInvitesResponse = Message<"qdrant.cloud.account.v export declare const ListAccountInvitesResponseSchema: GenMessage; /** - * ListMyAccountInvitesRequest is the request for the ListMyAccountInvites function. + * ListReceivedAccountInvitesRequest is the request for the ListReceivedAccountInvites function. * This lists invites for the authenticated user across all accounts. * - * @generated from message qdrant.cloud.account.v1.ListMyAccountInvitesRequest + * @generated from message qdrant.cloud.account.v1.ListReceivedAccountInvitesRequest */ -export declare type ListMyAccountInvitesRequest = Message<"qdrant.cloud.account.v1.ListMyAccountInvitesRequest"> & { +export declare type ListReceivedAccountInvitesRequest = Message<"qdrant.cloud.account.v1.ListReceivedAccountInvitesRequest"> & { /** * Optional: Filter invites by status (e.g. pending only). * @@ -262,17 +262,17 @@ export declare type ListMyAccountInvitesRequest = Message<"qdrant.cloud.account. }; /** - * Describes the message qdrant.cloud.account.v1.ListMyAccountInvitesRequest. - * Use `create(ListMyAccountInvitesRequestSchema)` to create a new message. + * Describes the message qdrant.cloud.account.v1.ListReceivedAccountInvitesRequest. + * Use `create(ListReceivedAccountInvitesRequestSchema)` to create a new message. */ -export declare const ListMyAccountInvitesRequestSchema: GenMessage; +export declare const ListReceivedAccountInvitesRequestSchema: GenMessage; /** - * ListMyAccountInvitesResponse is the response from the ListMyAccountInvites function. + * ListReceivedAccountInvitesResponse is the response from the ListReceivedAccountInvites function. * - * @generated from message qdrant.cloud.account.v1.ListMyAccountInvitesResponse + * @generated from message qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse */ -export declare type ListMyAccountInvitesResponse = Message<"qdrant.cloud.account.v1.ListMyAccountInvitesResponse"> & { +export declare type ListReceivedAccountInvitesResponse = Message<"qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse"> & { /** * The list of account invites for the authenticated user. * @@ -282,10 +282,10 @@ export declare type ListMyAccountInvitesResponse = Message<"qdrant.cloud.account }; /** - * Describes the message qdrant.cloud.account.v1.ListMyAccountInvitesResponse. - * Use `create(ListMyAccountInvitesResponseSchema)` to create a new message. + * Describes the message qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse. + * Use `create(ListReceivedAccountInvitesResponseSchema)` to create a new message. */ -export declare const ListMyAccountInvitesResponseSchema: GenMessage; +export declare const ListReceivedAccountInvitesResponseSchema: GenMessage; /** * GetAccountInviteRequest is the request for the GetAccountInvite function. @@ -824,14 +824,12 @@ export declare const AccountService: GenService<{ * Required permissions: * - None (authenticated only) * - * TODO: Rename to ListReceivedAccountInvites ? - * - * @generated from rpc qdrant.cloud.account.v1.AccountService.ListMyAccountInvites + * @generated from rpc qdrant.cloud.account.v1.AccountService.ListReceivedAccountInvites */ - listMyAccountInvites: { + listReceivedAccountInvites: { methodKind: "unary"; - input: typeof ListMyAccountInvitesRequestSchema; - output: typeof ListMyAccountInvitesResponseSchema; + input: typeof ListReceivedAccountInvitesRequestSchema; + output: typeof ListReceivedAccountInvitesResponseSchema; }, /** * Fetch an account invite identified by the given account ID and invite ID. diff --git a/gen/typescript/qdrant/cloud/account/v1/account_pb.js b/gen/typescript/qdrant/cloud/account/v1/account_pb.js index a9b666ad..19828ebf 100644 --- a/gen/typescript/qdrant/cloud/account/v1/account_pb.js +++ b/gen/typescript/qdrant/cloud/account/v1/account_pb.js @@ -12,7 +12,7 @@ import { file_qdrant_cloud_common_v1_common } from "../../common/v1/common_pb.js * Describes the file qdrant/cloud/account/v1/account.proto. */ export const file_qdrant_cloud_account_v1_account = /*@__PURE__*/ - fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UiOQoZTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJTChpMaXN0QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUieQobTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0EkgKDXN0YXR1c19maWx0ZXIYASABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzSACIAQFCEAoOX3N0YXR1c19maWx0ZXIiVQocTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVAoXR2V0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJaChhHZXRBY2NvdW50SW52aXRlUmVzcG9uc2USPgoOYWNjb3VudF9pbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlwKGkNyZWF0ZUFjY291bnRJbnZpdGVSZXF1ZXN0Ej4KDmFjY291bnRfaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSJdChtDcmVhdGVBY2NvdW50SW52aXRlUmVzcG9uc2USPgoOYWNjb3VudF9pbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlcKGkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlcKGkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiVQobQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVwoaUmVqZWN0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJVChtSZWplY3RBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSKvAwoHQWNjb3VudBIKCgJpZBgBIAEoCRIuCgpjcmVhdGVkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBsYXN0X21vZGlmaWVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgRuYW1lGAUgASgJQhu6SBhyFhAEGEAyEF5bYS16QS1aMC05LV9dKyQSGgoIb3duZXJfaWQYBiABKAlCCLpIBXIDsAEBEhwKC293bmVyX2VtYWlsGAcgASgJQge6SARyAmABEiAKCnByaXZpbGVnZXMYCCADKAlCDLpICZIBBiIEcgIQATqqAbpIpgEaowEKCmFjY291bnQuaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGnl0aGlzLmlkLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykgfHwgIWhhcyh0aGlzLmNyZWF0ZWRfYXQpIuQDCg1BY2NvdW50SW52aXRlEhQKAmlkGAEgASgJQgi6SAVyA7ABARIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABARIUCgxhY2NvdW50X25hbWUYAyABKAkSHQoKdXNlcl9lbWFpbBgEIAEoCUIJukgGcgQQAWABEiYKDXVzZXJfcm9sZV9pZHMYBSADKAlCD7pIDJIBCQgBIgVyA7ABARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpChJjcmVhdGVkX2J5X3VzZXJfaWQYByABKAlCCLpIBXIDsAEBSACIAQESHAoPY3JlYXRlZF9ieV9uYW1lGAggASgJSAGIAQESNAoQbGFzdF9tb2RpZmllZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoHdXNlcl9pZBgKIAEoCUIIukgFcgOwAQFIAogBARI8CgZzdGF0dXMYCyABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzQhUKE19jcmVhdGVkX2J5X3VzZXJfaWRCEgoQX2NyZWF0ZWRfYnlfbmFtZUIKCghfdXNlcl9pZCrLAQoTQWNjb3VudEludml0ZVN0YXR1cxIlCiFBQ0NPVU5UX0lOVklURV9TVEFUVVNfVU5TUEVDSUZJRUQQABIhCh1BQ0NPVU5UX0lOVklURV9TVEFUVVNfUEVORElORxABEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19BQ0NFUFRFRBACEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19SRUpFQ1RFRBADEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19DQU5DRUxFRBAFMp0SCg5BY2NvdW50U2VydmljZRKVAQoMTGlzdEFjY291bnRzEiwucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRzUmVxdWVzdBotLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50c1Jlc3BvbnNlIiiKtRgAkrUYAILT5JMCGhIYL2FwaS9hY2NvdW50L3YxL2FjY291bnRzEqQBCgpHZXRBY2NvdW50EioucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudFJlcXVlc3QaKy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50UmVzcG9uc2UiPYq1GAxyZWFkOmFjY291bnSC0+STAicSJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0SmwEKDUNyZWF0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRSZXNwb25zZSIrirUYAJK1GACC0+STAh06ASoiGC9hcGkvYWNjb3VudC92MS9hY2NvdW50cxK/AQoNVXBkYXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuVXBkYXRlQWNjb3VudFJlc3BvbnNlIk+KtRgNd3JpdGU6YWNjb3VudJK1GAphY2NvdW50LmlkgtPkkwIqOgEqGiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnQuaWR9Eq8BCg1EZWxldGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50UmVzcG9uc2UiP4q1GA5kZWxldGU6YWNjb3VudILT5JMCJyolL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfRLEAQoSTGlzdEFjY291bnRJbnZpdGVzEjIucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBozLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50SW52aXRlc1Jlc3BvbnNlIkWKtRgMcmVhZDppbnZpdGVzgtPkkwIvEi0vYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMSsQEKFExpc3RNeUFjY291bnRJbnZpdGVzEjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXF1ZXN0GjUucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdE15QWNjb3VudEludml0ZXNSZXNwb25zZSIsirUYAJK1GACC0+STAh4SHC9hcGkvYWNjb3VudC92MS9zZWxmL2ludml0ZXMSygEKEEdldEFjY291bnRJbnZpdGUSMC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50SW52aXRlUmVxdWVzdBoxLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRJbnZpdGVSZXNwb25zZSJRirUYDHJlYWQ6aW52aXRlc4LT5JMCOxI5L2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9EvcBChNDcmVhdGVBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuQ3JlYXRlQWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50SW52aXRlUmVzcG9uc2UidYq1GA13cml0ZTppbnZpdGVzkrUYGWFjY291bnRfaW52aXRlLmFjY291bnRfaWSC0+STAkE6ASoiPC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pbnZpdGUuYWNjb3VudF9pZH0vaW52aXRlcxLVAQoTRGVsZXRlQWNjb3VudEludml0ZRIzLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0GjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlOKtRgOZGVsZXRlOmludml0ZXOC0+STAjsqOS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcy97aW52aXRlX2lkfRLOAQoTQWNjZXB0QWNjb3VudEludml0ZRIzLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0GjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlIkyKtRgAgtPkkwJCIkAvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0vYWNjZXB0Es4BChNSZWplY3RBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuUmVqZWN0QWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5SZWplY3RBY2NvdW50SW52aXRlUmVzcG9uc2UiTIq1GACC0+STAkIiQC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcy97aW52aXRlX2lkfS9yZWplY3RC/gEKG2NvbS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MUIMQWNjb3VudFByb3RvUAFaUmdpdGh1Yi5jb20vcWRyYW50L3FkcmFudC1jbG91ZC1wdWJsaWMtYXBpL2dlbi9nby9xZHJhbnQvY2xvdWQvYWNjb3VudC92MTthY2NvdW50djGiAgNRQ0GqAhdRZHJhbnQuQ2xvdWQuQWNjb3VudC5WMcoCF1FkcmFudFxDbG91ZFxBY2NvdW50XFYx4gIjUWRyYW50XENsb3VkXEFjY291bnRcVjFcR1BCTWV0YWRhdGHqAhpRZHJhbnQ6OkNsb3VkOjpBY2NvdW50OjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); + fileDesc("CiVxZHJhbnQvY2xvdWQvYWNjb3VudC92MS9hY2NvdW50LnByb3RvEhdxZHJhbnQuY2xvdWQuYWNjb3VudC52MSIVChNMaXN0QWNjb3VudHNSZXF1ZXN0IkcKFExpc3RBY2NvdW50c1Jlc3BvbnNlEi8KBWl0ZW1zGAEgAygLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCIxChFHZXRBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJHChJHZXRBY2NvdW50UmVzcG9uc2USMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSQoUQ3JlYXRlQWNjb3VudFJlcXVlc3QSMQoHYWNjb3VudBgBIAEoCzIgLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnQiSgoVQ3JlYXRlQWNjb3VudFJlc3BvbnNlEjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkkKFFVwZGF0ZUFjY291bnRSZXF1ZXN0EjEKB2FjY291bnQYASABKAsyIC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50IkoKFVVwZGF0ZUFjY291bnRSZXNwb25zZRIxCgdhY2NvdW50GAEgASgLMiAucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudCI0ChREZWxldGVBY2NvdW50UmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASIXChVEZWxldGVBY2NvdW50UmVzcG9uc2UiOQoZTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBIcCgphY2NvdW50X2lkGAEgASgJQgi6SAVyA7ABASJTChpMaXN0QWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUifwohTGlzdFJlY2VpdmVkQWNjb3VudEludml0ZXNSZXF1ZXN0EkgKDXN0YXR1c19maWx0ZXIYASABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzSACIAQFCEAoOX3N0YXR1c19maWx0ZXIiWwoiTGlzdFJlY2VpdmVkQWNjb3VudEludml0ZXNSZXNwb25zZRI1CgVpdGVtcxgBIAMoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVAoXR2V0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJaChhHZXRBY2NvdW50SW52aXRlUmVzcG9uc2USPgoOYWNjb3VudF9pbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlwKGkNyZWF0ZUFjY291bnRJbnZpdGVSZXF1ZXN0Ej4KDmFjY291bnRfaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSJdChtDcmVhdGVBY2NvdW50SW52aXRlUmVzcG9uc2USPgoOYWNjb3VudF9pbnZpdGUYASABKAsyJi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlIlcKGkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiHQobRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlcKGkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0EhwKCmFjY291bnRfaWQYASABKAlCCLpIBXIDsAEBEhsKCWludml0ZV9pZBgCIAEoCUIIukgFcgOwAQEiVQobQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlEjYKBmludml0ZRgBIAEoCzImLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY291bnRJbnZpdGUiVwoaUmVqZWN0QWNjb3VudEludml0ZVJlcXVlc3QSHAoKYWNjb3VudF9pZBgBIAEoCUIIukgFcgOwAQESGwoJaW52aXRlX2lkGAIgASgJQgi6SAVyA7ABASJVChtSZWplY3RBY2NvdW50SW52aXRlUmVzcG9uc2USNgoGaW52aXRlGAEgASgLMiYucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjb3VudEludml0ZSKvAwoHQWNjb3VudBIKCgJpZBgBIAEoCRIuCgpjcmVhdGVkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBsYXN0X21vZGlmaWVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgRuYW1lGAUgASgJQhu6SBhyFhAEGEAyEF5bYS16QS1aMC05LV9dKyQSGgoIb3duZXJfaWQYBiABKAlCCLpIBXIDsAEBEhwKC293bmVyX2VtYWlsGAcgASgJQge6SARyAmABEiAKCnByaXZpbGVnZXMYCCADKAlCDLpICZIBBiIEcgIQATqqAbpIpgEaowEKCmFjY291bnQuaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGnl0aGlzLmlkLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykgfHwgIWhhcyh0aGlzLmNyZWF0ZWRfYXQpIuQDCg1BY2NvdW50SW52aXRlEhQKAmlkGAEgASgJQgi6SAVyA7ABARIcCgphY2NvdW50X2lkGAIgASgJQgi6SAVyA7ABARIUCgxhY2NvdW50X25hbWUYAyABKAkSHQoKdXNlcl9lbWFpbBgEIAEoCUIJukgGcgQQAWABEiYKDXVzZXJfcm9sZV9pZHMYBSADKAlCD7pIDJIBCQgBIgVyA7ABARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpChJjcmVhdGVkX2J5X3VzZXJfaWQYByABKAlCCLpIBXIDsAEBSACIAQESHAoPY3JlYXRlZF9ieV9uYW1lGAggASgJSAGIAQESNAoQbGFzdF9tb2RpZmllZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoHdXNlcl9pZBgKIAEoCUIIukgFcgOwAQFIAogBARI8CgZzdGF0dXMYCyABKA4yLC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5BY2NvdW50SW52aXRlU3RhdHVzQhUKE19jcmVhdGVkX2J5X3VzZXJfaWRCEgoQX2NyZWF0ZWRfYnlfbmFtZUIKCghfdXNlcl9pZCrLAQoTQWNjb3VudEludml0ZVN0YXR1cxIlCiFBQ0NPVU5UX0lOVklURV9TVEFUVVNfVU5TUEVDSUZJRUQQABIhCh1BQ0NPVU5UX0lOVklURV9TVEFUVVNfUEVORElORxABEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19BQ0NFUFRFRBACEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19SRUpFQ1RFRBADEiIKHkFDQ09VTlRfSU5WSVRFX1NUQVRVU19DQU5DRUxFRBAFMq8SCg5BY2NvdW50U2VydmljZRKVAQoMTGlzdEFjY291bnRzEiwucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRzUmVxdWVzdBotLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50c1Jlc3BvbnNlIiiKtRgAkrUYAILT5JMCGhIYL2FwaS9hY2NvdW50L3YxL2FjY291bnRzEqQBCgpHZXRBY2NvdW50EioucWRyYW50LmNsb3VkLmFjY291bnQudjEuR2V0QWNjb3VudFJlcXVlc3QaKy5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50UmVzcG9uc2UiPYq1GAxyZWFkOmFjY291bnSC0+STAicSJS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0SmwEKDUNyZWF0ZUFjY291bnQSLS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50UmVxdWVzdBouLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkNyZWF0ZUFjY291bnRSZXNwb25zZSIrirUYAJK1GACC0+STAh06ASoiGC9hcGkvYWNjb3VudC92MS9hY2NvdW50cxK/AQoNVXBkYXRlQWNjb3VudBItLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLlVwZGF0ZUFjY291bnRSZXF1ZXN0Gi4ucWRyYW50LmNsb3VkLmFjY291bnQudjEuVXBkYXRlQWNjb3VudFJlc3BvbnNlIk+KtRgNd3JpdGU6YWNjb3VudJK1GAphY2NvdW50LmlkgtPkkwIqOgEqGiUvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnQuaWR9Eq8BCg1EZWxldGVBY2NvdW50Ei0ucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudFJlcXVlc3QaLi5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5EZWxldGVBY2NvdW50UmVzcG9uc2UiP4q1GA5kZWxldGU6YWNjb3VudILT5JMCJyolL2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfRLEAQoSTGlzdEFjY291bnRJbnZpdGVzEjIucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdEFjY291bnRJbnZpdGVzUmVxdWVzdBozLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkxpc3RBY2NvdW50SW52aXRlc1Jlc3BvbnNlIkWKtRgMcmVhZDppbnZpdGVzgtPkkwIvEi0vYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMSwwEKGkxpc3RSZWNlaXZlZEFjY291bnRJbnZpdGVzEjoucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdFJlY2VpdmVkQWNjb3VudEludml0ZXNSZXF1ZXN0GjsucWRyYW50LmNsb3VkLmFjY291bnQudjEuTGlzdFJlY2VpdmVkQWNjb3VudEludml0ZXNSZXNwb25zZSIsirUYAJK1GACC0+STAh4SHC9hcGkvYWNjb3VudC92MS9zZWxmL2ludml0ZXMSygEKEEdldEFjY291bnRJbnZpdGUSMC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5HZXRBY2NvdW50SW52aXRlUmVxdWVzdBoxLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkdldEFjY291bnRJbnZpdGVSZXNwb25zZSJRirUYDHJlYWQ6aW52aXRlc4LT5JMCOxI5L2FwaS9hY2NvdW50L3YxL2FjY291bnRzL3thY2NvdW50X2lkfS9pbnZpdGVzL3tpbnZpdGVfaWR9EvcBChNDcmVhdGVBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuQ3JlYXRlQWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5DcmVhdGVBY2NvdW50SW52aXRlUmVzcG9uc2UidYq1GA13cml0ZTppbnZpdGVzkrUYGWFjY291bnRfaW52aXRlLmFjY291bnRfaWSC0+STAkE6ASoiPC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pbnZpdGUuYWNjb3VudF9pZH0vaW52aXRlcxLVAQoTRGVsZXRlQWNjb3VudEludml0ZRIzLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkRlbGV0ZUFjY291bnRJbnZpdGVSZXF1ZXN0GjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuRGVsZXRlQWNjb3VudEludml0ZVJlc3BvbnNlIlOKtRgOZGVsZXRlOmludml0ZXOC0+STAjsqOS9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcy97aW52aXRlX2lkfRLOAQoTQWNjZXB0QWNjb3VudEludml0ZRIzLnFkcmFudC5jbG91ZC5hY2NvdW50LnYxLkFjY2VwdEFjY291bnRJbnZpdGVSZXF1ZXN0GjQucWRyYW50LmNsb3VkLmFjY291bnQudjEuQWNjZXB0QWNjb3VudEludml0ZVJlc3BvbnNlIkyKtRgAgtPkkwJCIkAvYXBpL2FjY291bnQvdjEvYWNjb3VudHMve2FjY291bnRfaWR9L2ludml0ZXMve2ludml0ZV9pZH0vYWNjZXB0Es4BChNSZWplY3RBY2NvdW50SW52aXRlEjMucWRyYW50LmNsb3VkLmFjY291bnQudjEuUmVqZWN0QWNjb3VudEludml0ZVJlcXVlc3QaNC5xZHJhbnQuY2xvdWQuYWNjb3VudC52MS5SZWplY3RBY2NvdW50SW52aXRlUmVzcG9uc2UiTIq1GACC0+STAkIiQC9hcGkvYWNjb3VudC92MS9hY2NvdW50cy97YWNjb3VudF9pZH0vaW52aXRlcy97aW52aXRlX2lkfS9yZWplY3RC/gEKG2NvbS5xZHJhbnQuY2xvdWQuYWNjb3VudC52MUIMQWNjb3VudFByb3RvUAFaUmdpdGh1Yi5jb20vcWRyYW50L3FkcmFudC1jbG91ZC1wdWJsaWMtYXBpL2dlbi9nby9xZHJhbnQvY2xvdWQvYWNjb3VudC92MTthY2NvdW50djGiAgNRQ0GqAhdRZHJhbnQuQ2xvdWQuQWNjb3VudC5WMcoCF1FkcmFudFxDbG91ZFxBY2NvdW50XFYx4gIjUWRyYW50XENsb3VkXEFjY291bnRcVjFcR1BCTWV0YWRhdGHqAhpRZHJhbnQ6OkNsb3VkOjpBY2NvdW50OjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_qdrant_cloud_common_v1_common]); /** * Describes the message qdrant.cloud.account.v1.ListAccountsRequest. @@ -99,17 +99,17 @@ export const ListAccountInvitesResponseSchema = /*@__PURE__*/ messageDesc(file_qdrant_cloud_account_v1_account, 11); /** - * Describes the message qdrant.cloud.account.v1.ListMyAccountInvitesRequest. - * Use `create(ListMyAccountInvitesRequestSchema)` to create a new message. + * Describes the message qdrant.cloud.account.v1.ListReceivedAccountInvitesRequest. + * Use `create(ListReceivedAccountInvitesRequestSchema)` to create a new message. */ -export const ListMyAccountInvitesRequestSchema = /*@__PURE__*/ +export const ListReceivedAccountInvitesRequestSchema = /*@__PURE__*/ messageDesc(file_qdrant_cloud_account_v1_account, 12); /** - * Describes the message qdrant.cloud.account.v1.ListMyAccountInvitesResponse. - * Use `create(ListMyAccountInvitesResponseSchema)` to create a new message. + * Describes the message qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse. + * Use `create(ListReceivedAccountInvitesResponseSchema)` to create a new message. */ -export const ListMyAccountInvitesResponseSchema = /*@__PURE__*/ +export const ListReceivedAccountInvitesResponseSchema = /*@__PURE__*/ messageDesc(file_qdrant_cloud_account_v1_account, 13); /** diff --git a/proto/qdrant/cloud/account/v1/account.proto b/proto/qdrant/cloud/account/v1/account.proto index 58e6f528..94039ab9 100644 --- a/proto/qdrant/cloud/account/v1/account.proto +++ b/proto/qdrant/cloud/account/v1/account.proto @@ -79,7 +79,7 @@ service AccountService { // These are the invites you are invited to join, not the ones you have sent. // Required permissions: // - None (authenticated only) - rpc ListMyAccountInvites(ListMyAccountInvitesRequest) returns (ListMyAccountInvitesResponse) { // TODO: Rename to ListReceivedAccountInvites ? + rpc ListReceivedAccountInvites(ListReceivedAccountInvitesRequest) returns (ListReceivedAccountInvitesResponse) { // permissions option (common.v1.permissions) = ""; // custom account-id expression @@ -217,16 +217,16 @@ message ListAccountInvitesResponse { repeated AccountInvite items = 1; } -// ListMyAccountInvitesRequest is the request for the ListMyAccountInvites function. +// ListReceivedAccountInvitesRequest is the request for the ListReceivedAccountInvites function. // This lists invites for the authenticated user across all accounts. // buf:lint:ignore QDRANT_CLOUD_REQUIRED_REQUEST_FIELDS -message ListMyAccountInvitesRequest { +message ListReceivedAccountInvitesRequest { // Optional: Filter invites by status (e.g. pending only). optional AccountInviteStatus status_filter = 1; } -// ListMyAccountInvitesResponse is the response from the ListMyAccountInvites function. -message ListMyAccountInvitesResponse { +// ListReceivedAccountInvitesResponse is the response from the ListReceivedAccountInvites function. +message ListReceivedAccountInvitesResponse { // The list of account invites for the authenticated user. repeated AccountInvite items = 1; }