diff --git a/gen/go/qdrant/cloud/account/v1/account.pb.go b/gen/go/qdrant/cloud/account/v1/account.pb.go index b5338020..caa85b98 100644 --- a/gen/go/qdrant/cloud/account/v1/account.pb.go +++ b/gen/go/qdrant/cloud/account/v1/account.pb.go @@ -25,6 +25,67 @@ 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 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", + 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_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 +530,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,203 +565,1284 @@ 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 { +// ListReceivedAccountInvitesRequest is the request for the ListReceivedAccountInvites function. +// This lists invites for the authenticated user across all accounts. +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"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +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 *ListReceivedAccountInvitesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListReceivedAccountInvitesRequest) ProtoMessage() {} + +func (x *ListReceivedAccountInvitesRequest) 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 ListReceivedAccountInvitesRequest.ProtoReflect.Descriptor instead. +func (*ListReceivedAccountInvitesRequest) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{12} +} + +func (x *ListReceivedAccountInvitesRequest) GetStatusFilter() AccountInviteStatus { + if x != nil && x.StatusFilter != nil { + return *x.StatusFilter + } + return AccountInviteStatus_ACCOUNT_INVITE_STATUS_UNSPECIFIED +} + +// 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"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +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 *ListReceivedAccountInvitesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListReceivedAccountInvitesResponse) ProtoMessage() {} + +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)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListReceivedAccountInvitesResponse.ProtoReflect.Descriptor instead. +func (*ListReceivedAccountInvitesResponse) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{13} +} + +func (x *ListReceivedAccountInvitesResponse) 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 account invite. + AccountInvite *AccountInvite `protobuf:"bytes,1,opt,name=account_invite,json=accountInvite,proto3" json:"account_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) GetAccountInvite() *AccountInvite { + if x != nil { + return x.AccountInvite } 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. + AccountInvite *AccountInvite `protobuf:"bytes,1,opt,name=account_invite,json=accountInvite,proto3" json:"account_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) GetAccountInvite() *AccountInvite { + if x != nil { + return x.AccountInvite + } + return nil +} + +// CreateAccountInviteResponse is the response from the CreateAccountInvite function. +type CreateAccountInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The created account invite. + AccountInvite *AccountInvite `protobuf:"bytes,1,opt,name=account_invite,json=accountInvite,proto3" json:"account_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) GetAccountInvite() *AccountInvite { + if x != nil { + return x.AccountInvite + } + 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 +} + +// RejectAccountInviteRequest is the request for the RejectAccountInvite function. +// Note: This RPC, despite its name, is used to reject an *Account Invite*. +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. + 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 *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 *RejectAccountInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejectAccountInviteRequest) ProtoMessage() {} + +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)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejectAccountInviteRequest.ProtoReflect.Descriptor instead. +func (*RejectAccountInviteRequest) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{22} +} + +func (x *RejectAccountInviteRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *RejectAccountInviteRequest) GetInviteId() string { + if x != nil { + return x.InviteId + } + return "" +} + +// 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"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +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 *RejectAccountInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejectAccountInviteResponse) ProtoMessage() {} + +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)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejectAccountInviteResponse.ProtoReflect.Descriptor instead. +func (*RejectAccountInviteResponse) Descriptor() ([]byte, []int) { + return file_qdrant_cloud_account_v1_account_proto_rawDescGZIP(), []int{23} +} + +func (x *RejectAccountInviteResponse) 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. + 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. + // 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,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,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,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,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,11,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) GetUserEmail() string { + if x != nil { + return x.UserEmail + } + return "" +} + +func (x *AccountInvite) GetUserRoleIds() []string { + if x != nil { + return x.UserRoleIds + } + return nil +} + +func (x *AccountInvite) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *AccountInvite) GetCreatedByUserId() string { + if x != nil && x.CreatedByUserId != nil { + return *x.CreatedByUserId + } + return "" +} + +func (x *AccountInvite) GetCreatedByName() string { + if x != nil && x.CreatedByName != nil { + return *x.CreatedByName + } + return "" +} + +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, - 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, + 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, 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, 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, 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, + 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, + 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, 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, 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, + 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, 0x44, 0x65, 0x6c, 0x65, 0x74, + 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, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 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, - 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, + 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, + 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, 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, 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, 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, @@ -750,45 +1874,87 @@ 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 + (*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{ - 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.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 + 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.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.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 + 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.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 + 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() } @@ -796,18 +1962,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..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,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_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. @@ -52,6 +59,39 @@ 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. + // Required permissions: + // - read:invites + ListAccountInvites(ctx context.Context, in *ListAccountInvitesRequest, opts ...grpc.CallOption) (*ListAccountInvitesResponse, error) + // 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) + 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 + GetAccountInvite(ctx context.Context, in *GetAccountInviteRequest, opts ...grpc.CallOption) (*GetAccountInviteResponse, error) + // Create a new account invite. + // Required permissions: + // - write:invites + CreateAccountInvite(ctx context.Context, in *CreateAccountInviteRequest, opts ...grpc.CallOption) (*CreateAccountInviteResponse, error) + // Delete an account invite + // 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) + RejectAccountInvite(ctx context.Context, in *RejectAccountInviteRequest, opts ...grpc.CallOption) (*RejectAccountInviteResponse, error) } type accountServiceClient struct { @@ -112,6 +152,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) ListReceivedAccountInvites(ctx context.Context, in *ListReceivedAccountInvitesRequest, opts ...grpc.CallOption) (*ListReceivedAccountInvitesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListReceivedAccountInvitesResponse) + err := c.cc.Invoke(ctx, AccountService_ListReceivedAccountInvites_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) RejectAccountInvite(ctx context.Context, in *RejectAccountInviteRequest, opts ...grpc.CallOption) (*RejectAccountInviteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RejectAccountInviteResponse) + err := c.cc.Invoke(ctx, AccountService_RejectAccountInvite_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 +248,39 @@ 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. + // Required permissions: + // - read:invites + ListAccountInvites(context.Context, *ListAccountInvitesRequest) (*ListAccountInvitesResponse, error) + // 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) + ListReceivedAccountInvites(context.Context, *ListReceivedAccountInvitesRequest) (*ListReceivedAccountInvitesResponse, error) + // Fetch an account invite identified by the given account ID and invite ID. + // Required permissions: + // - read:invites + GetAccountInvite(context.Context, *GetAccountInviteRequest) (*GetAccountInviteResponse, error) + // Create a new account invite. + // Required permissions: + // - write:invites + CreateAccountInvite(context.Context, *CreateAccountInviteRequest) (*CreateAccountInviteResponse, error) + // Delete an account invite + // 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) + RejectAccountInvite(context.Context, *RejectAccountInviteRequest) (*RejectAccountInviteResponse, error) mustEmbedUnimplementedAccountServiceServer() } @@ -163,6 +306,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) 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") +} +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) RejectAccountInvite(context.Context, *RejectAccountInviteRequest) (*RejectAccountInviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RejectAccountInvite not implemented") +} func (UnimplementedAccountServiceServer) mustEmbedUnimplementedAccountServiceServer() {} func (UnimplementedAccountServiceServer) testEmbeddedByValue() {} @@ -274,6 +438,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_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).ListReceivedAccountInvites(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_ListReceivedAccountInvites_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).ListReceivedAccountInvites(ctx, req.(*ListReceivedAccountInvitesRequest)) + } + 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_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).RejectAccountInvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_RejectAccountInvite_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).RejectAccountInvite(ctx, req.(*RejectAccountInviteRequest)) + } + 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 +591,34 @@ var AccountService_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteAccount", Handler: _AccountService_DeleteAccount_Handler, }, + { + MethodName: "ListAccountInvites", + Handler: _AccountService_ListAccountInvites_Handler, + }, + { + MethodName: "ListReceivedAccountInvites", + Handler: _AccountService_ListReceivedAccountInvites_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: "RejectAccountInvite", + Handler: _AccountService_RejectAccountInvite_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..f1d53ace 100644 --- a/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json +++ b/gen/openapiv2/qdrant/cloud/account/v1/account.swagger.json @@ -172,9 +172,333 @@ "AccountService" ] } + }, + "/api/account/v1/accounts/{accountId}/invites": { + "get": { + "summary": "Fetch all account invites in the account identified 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 identified by the given account ID and invite ID.\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\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_RejectAccountInvite", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1RejectAccountInviteResponse" + } + }, + "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/{accountInvite.accountId}/invites": { + "post": { + "summary": "Create a new account invite.\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": "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, + "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 (across all accounts).\nThese are the invites you are invited to join, not the ones you have sent.\nRequired permissions:\n- None (authenticated only)", + "operationId": "AccountService_ListReceivedAccountInvites", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListReceivedAccountInvitesResponse" + } + }, + "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_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_CANCELED" + ], + "default": "ACCOUNT_INVITE_STATUS_UNSPECIFIED" + } + ], + "tags": [ + "AccountService" + ] + } } }, "definitions": { + "AccountServiceCreateAccountInviteBody": { + "type": "object", + "properties": { + "accountInvite": { + "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." + }, + "userEmail": { + "type": "string", + "description": "The email address of the user being invited.\nThis field is required when creating an invite." + }, + "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.\nPlease use IAMService.ListRoles to get the possible roles to assign." + }, + "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." + }, + "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." + }, + "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 +569,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 +618,83 @@ }, "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." + }, + "userEmail": { + "type": "string", + "description": "The email address of the user being invited.\nThis field is required when creating an invite." + }, + "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.\nPlease use IAMService.ListRoles to get the possible roles to assign." + }, + "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." + }, + "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." + }, + "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_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_CANCELED: The invite has been canceled (e.g., by an account admin)." + }, + "v1CreateAccountInviteResponse": { + "type": "object", + "properties": { + "accountInvite": { + "$ref": "#/definitions/v1AccountInvite", + "description": "The created account invite." + } + }, + "description": "CreateAccountInviteResponse is the response from the CreateAccountInvite function." + }, "v1CreateAccountRequest": { "type": "object", "properties": { @@ -304,10 +715,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": { + "accountInvite": { + "$ref": "#/definitions/v1AccountInvite", + "description": "The account invite." + } + }, + "description": "GetAccountInviteResponse is the response from the GetAccountInvite function." + }, "v1GetAccountResponse": { "type": "object", "properties": { @@ -318,6 +743,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 +771,30 @@ }, "title": "ListAccountsResponse is the response from the ListAccounts function" }, + "v1ListReceivedAccountInvitesResponse": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1AccountInvite" + }, + "description": "The list of account invites for the authenticated user." + } + }, + "description": "ListReceivedAccountInvitesResponse is the response from the ListReceivedAccountInvites function." + }, + "v1RejectAccountInviteResponse": { + "type": "object", + "properties": { + "invite": { + "$ref": "#/definitions/v1AccountInvite", + "description": "The invite that was rejected, with its status updated." + } + }, + "description": "RejectAccountInviteResponse is the response from the RejectAccountInvite 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..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\"\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\"\x8d\x01\n!ListReceivedAccountInvitesRequest\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\"b\n\"ListReceivedAccountInvitesResponse\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\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: ... @@ -65,6 +79,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 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 ListReceivedAccountInvitesResponse(_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__ = ("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__ = ("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__ = ("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") + 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 RejectAccountInviteRequest(_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 RejectAccountInviteResponse(_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 +186,29 @@ 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", "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] + 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] + 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 + user_email: str + user_role_ids: _containers.RepeatedScalarFieldContainer[str] + created_at: _timestamp_pb2.Timestamp + created_by_user_id: str + created_by_name: str + 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] = ..., 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 f4bb1e28..c6b8958f 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.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', + 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.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) class AccountServiceServicer(object): @@ -91,6 +126,74 @@ 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. + Required permissions: + - read:invites + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + 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) + """ + 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 identified by the given account ID and invite ID. + 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. + 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 + 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 RejectAccountInvite(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 +222,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, + ), + '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, + 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, + ), + '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( 'qdrant.cloud.account.v1.AccountService', rpc_method_handlers) @@ -265,3 +403,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 ListReceivedAccountInvites(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/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, + 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 RejectAccountInvite(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/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, + 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..3302c6ec 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; + +/** + * 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.ListReceivedAccountInvitesRequest + */ +export declare type ListReceivedAccountInvitesRequest = Message<"qdrant.cloud.account.v1.ListReceivedAccountInvitesRequest"> & { + /** + * 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.ListReceivedAccountInvitesRequest. + * Use `create(ListReceivedAccountInvitesRequestSchema)` to create a new message. + */ +export declare const ListReceivedAccountInvitesRequestSchema: GenMessage; + +/** + * ListReceivedAccountInvitesResponse is the response from the ListReceivedAccountInvites function. + * + * @generated from message qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse + */ +export declare type ListReceivedAccountInvitesResponse = Message<"qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse"> & { + /** + * 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.ListReceivedAccountInvitesResponse. + * Use `create(ListReceivedAccountInvitesResponseSchema)` to create a new message. + */ +export declare const ListReceivedAccountInvitesResponseSchema: 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 account invite. + * + * @generated from field: qdrant.cloud.account.v1.AccountInvite account_invite = 1; + */ + accountInvite?: 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 account_invite = 1; + */ + accountInvite?: 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 account_invite = 1; + */ + accountInvite?: 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; + +/** + * 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.RejectAccountInviteRequest + */ +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. + * + * @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.RejectAccountInviteRequest. + * Use `create(RejectAccountInviteRequestSchema)` to create a new message. + */ +export declare const RejectAccountInviteRequestSchema: GenMessage; + +/** + * RejectAccountInviteResponse is the response from the RejectAccountInvite function. + * + * @generated from message qdrant.cloud.account.v1.RejectAccountInviteResponse + */ +export declare type RejectAccountInviteResponse = Message<"qdrant.cloud.account.v1.RejectAccountInviteResponse"> & { + /** + * 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.RejectAccountInviteResponse. + * Use `create(RejectAccountInviteResponseSchema)` to create a new message. + */ +export declare const RejectAccountInviteResponseSchema: GenMessage; + /** * An Account represents an account in the Qdrant cloud. * @@ -274,6 +590,156 @@ 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 user_email = 4; + */ + 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 user_role_ids = 5; + */ + userRoleIds: 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. + * + * @generated from field: optional 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: optional string created_by_name = 8; + */ + 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 = 9; + */ + 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 = 10; + */ + userId?: string; + + /** + * The status of the invite. + * This is a read-only field. + * + * @generated from field: qdrant.cloud.account.v1.AccountInviteStatus status = 11; + */ + 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 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 +806,94 @@ export declare const AccountService: GenService<{ input: typeof DeleteAccountRequestSchema; output: typeof DeleteAccountResponseSchema; }, + /** + * Fetch all account invites in the account identified 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 (across all accounts). + * These are the invites you are invited to join, not the ones you have sent. + * Required permissions: + * - None (authenticated only) + * + * @generated from rpc qdrant.cloud.account.v1.AccountService.ListReceivedAccountInvites + */ + listReceivedAccountInvites: { + methodKind: "unary"; + input: typeof ListReceivedAccountInvitesRequestSchema; + output: typeof ListReceivedAccountInvitesResponseSchema; + }, + /** + * Fetch an account invite identified by the given account ID and invite ID. + * 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. + * 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 + * 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.RejectAccountInvite + */ + rejectAccountInvite: { + methodKind: "unary"; + 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 780f19d3..19828ebf 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("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. @@ -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.ListReceivedAccountInvitesRequest. + * Use `create(ListReceivedAccountInvitesRequestSchema)` to create a new message. + */ +export const ListReceivedAccountInvitesRequestSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 12); + +/** + * Describes the message qdrant.cloud.account.v1.ListReceivedAccountInvitesResponse. + * Use `create(ListReceivedAccountInvitesResponseSchema)` to create a new message. + */ +export const ListReceivedAccountInvitesResponseSchema = /*@__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.RejectAccountInviteRequest. + * Use `create(RejectAccountInviteRequestSchema)` to create a new message. + */ +export const RejectAccountInviteRequestSchema = /*@__PURE__*/ + messageDesc(file_qdrant_cloud_account_v1_account, 22); + +/** + * Describes the message qdrant.cloud.account.v1.RejectAccountInviteResponse. + * Use `create(RejectAccountInviteResponseSchema)` to create a new message. + */ +export const RejectAccountInviteResponseSchema = /*@__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..94039ab9 100644 --- a/proto/qdrant/cloud/account/v1/account.proto +++ b/proto/qdrant/cloud/account/v1/account.proto @@ -66,6 +66,81 @@ 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. + // 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 (across all accounts). + // These are the invites you are invited to join, not the ones you have sent. + // Required permissions: + // - None (authenticated only) + rpc ListReceivedAccountInvites(ListReceivedAccountInvitesRequest) returns (ListReceivedAccountInvitesResponse) { + // 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 identified by the given account ID and invite ID. + // Required permissions: + // - read:invites + rpc GetAccountInvite(GetAccountInviteRequest) returns (GetAccountInviteResponse) { + // permissions + option (common.v1.permissions) = "read:invites"; + // gRPC Gateway REST call + option (google.api.http) = {get: "/api/account/v1/accounts/{account_id}/invites/{invite_id}"}; + } + // Create a new account invite. + // 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) = "account_invite.account_id"; + // gRPC Gateway REST call + option (google.api.http) = { + post: "/api/account/v1/accounts/{account_invite.account_id}/invites" + body: "*" + }; + } + // Delete an account invite + // 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 RejectAccountInvite(RejectAccountInviteRequest) returns (RejectAccountInviteResponse) { + // 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 +204,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; +} + +// 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 ListReceivedAccountInvitesRequest { + // Optional: Filter invites by status (e.g. pending only). + optional AccountInviteStatus status_filter = 1; +} + +// ListReceivedAccountInvitesResponse is the response from the ListReceivedAccountInvites function. +message ListReceivedAccountInvitesResponse { + // 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 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 account_invite = 1; +} + +// CreateAccountInviteResponse is the response from the CreateAccountInvite function. +message CreateAccountInviteResponse { + // The created account invite. + AccountInvite account_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; +} + +// RejectAccountInviteRequest is the request for the RejectAccountInvite function. +// Note: This RPC, despite its name, is used to reject an *Account Invite*. +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}]; + // 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}]; +} + +// RejectAccountInviteResponse is the response from the RejectAccountInvite function. +message RejectAccountInviteResponse { + // 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 +342,65 @@ 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 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. + // 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} + } + }]; + // 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. + 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. + 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 = 9; + // Identifier of the user that accepted or rejected this invite. + // This is a read-only value. + optional string user_id = 10 [(buf.validate.field).string = {uuid: true}]; + // The status of the invite. + // This is a read-only field. + AccountInviteStatus status = 11; +} + +// 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 been canceled (e.g., by an account admin). + ACCOUNT_INVITE_STATUS_CANCELED = 5; +}