diff --git a/app/v1/billing.pb.go b/app/v1/billing.pb.go index 32850b770..041e249e8 100644 --- a/app/v1/billing.pb.go +++ b/app/v1/billing.pb.go @@ -24,8 +24,9 @@ const ( type PaymentMethodType int32 const ( - PaymentMethodType_PAYMENT_METHOD_TYPE_UNSPECIFIED PaymentMethodType = 0 - PaymentMethodType_PAYMENT_METHOD_TYPE_CARD PaymentMethodType = 1 + PaymentMethodType_PAYMENT_METHOD_TYPE_UNSPECIFIED PaymentMethodType = 0 + PaymentMethodType_PAYMENT_METHOD_TYPE_CARD PaymentMethodType = 1 + PaymentMethodType_PAYMENT_METHOD_TYPE_USBANKACCOUNT PaymentMethodType = 2 ) // Enum value maps for PaymentMethodType. @@ -33,10 +34,12 @@ var ( PaymentMethodType_name = map[int32]string{ 0: "PAYMENT_METHOD_TYPE_UNSPECIFIED", 1: "PAYMENT_METHOD_TYPE_CARD", + 2: "PAYMENT_METHOD_TYPE_USBANKACCOUNT", } PaymentMethodType_value = map[string]int32{ - "PAYMENT_METHOD_TYPE_UNSPECIFIED": 0, - "PAYMENT_METHOD_TYPE_CARD": 1, + "PAYMENT_METHOD_TYPE_UNSPECIFIED": 0, + "PAYMENT_METHOD_TYPE_CARD": 1, + "PAYMENT_METHOD_TYPE_USBANKACCOUNT": 2, } ) @@ -373,6 +376,136 @@ func (x *PaymentMethodCard) GetLastFourDigits() string { return "" } +type VerificationInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArrivalDate int64 `protobuf:"varint,1,opt,name=arrival_date,json=arrivalDate,proto3" json:"arrival_date,omitempty"` + HostedVerificationPageUrl string `protobuf:"bytes,2,opt,name=hosted_verification_page_url,json=hostedVerificationPageUrl,proto3" json:"hosted_verification_page_url,omitempty"` +} + +func (x *VerificationInfo) Reset() { + *x = VerificationInfo{} + mi := &file_app_v1_billing_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerificationInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerificationInfo) ProtoMessage() {} + +func (x *VerificationInfo) ProtoReflect() protoreflect.Message { + mi := &file_app_v1_billing_proto_msgTypes[2] + 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 VerificationInfo.ProtoReflect.Descriptor instead. +func (*VerificationInfo) Descriptor() ([]byte, []int) { + return file_app_v1_billing_proto_rawDescGZIP(), []int{2} +} + +func (x *VerificationInfo) GetArrivalDate() int64 { + if x != nil { + return x.ArrivalDate + } + return 0 +} + +func (x *VerificationInfo) GetHostedVerificationPageUrl() string { + if x != nil { + return x.HostedVerificationPageUrl + } + return "" +} + +type PaymentMethodUSBankAccount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BankName string `protobuf:"bytes,1,opt,name=bank_name,json=bankName,proto3" json:"bank_name,omitempty"` + LastFourDigitsAccountNumber string `protobuf:"bytes,2,opt,name=last_four_digits_account_number,json=lastFourDigitsAccountNumber,proto3" json:"last_four_digits_account_number,omitempty"` + RoutingNumber string `protobuf:"bytes,3,opt,name=routing_number,json=routingNumber,proto3" json:"routing_number,omitempty"` + AccountType string `protobuf:"bytes,4,opt,name=account_type,json=accountType,proto3" json:"account_type,omitempty"` + VerificationInfo *VerificationInfo `protobuf:"bytes,5,opt,name=verification_info,json=verificationInfo,proto3,oneof" json:"verification_info,omitempty"` // this is only set if the account is not verified +} + +func (x *PaymentMethodUSBankAccount) Reset() { + *x = PaymentMethodUSBankAccount{} + mi := &file_app_v1_billing_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PaymentMethodUSBankAccount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PaymentMethodUSBankAccount) ProtoMessage() {} + +func (x *PaymentMethodUSBankAccount) ProtoReflect() protoreflect.Message { + mi := &file_app_v1_billing_proto_msgTypes[3] + 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 PaymentMethodUSBankAccount.ProtoReflect.Descriptor instead. +func (*PaymentMethodUSBankAccount) Descriptor() ([]byte, []int) { + return file_app_v1_billing_proto_rawDescGZIP(), []int{3} +} + +func (x *PaymentMethodUSBankAccount) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +func (x *PaymentMethodUSBankAccount) GetLastFourDigitsAccountNumber() string { + if x != nil { + return x.LastFourDigitsAccountNumber + } + return "" +} + +func (x *PaymentMethodUSBankAccount) GetRoutingNumber() string { + if x != nil { + return x.RoutingNumber + } + return "" +} + +func (x *PaymentMethodUSBankAccount) GetAccountType() string { + if x != nil { + return x.AccountType + } + return "" +} + +func (x *PaymentMethodUSBankAccount) GetVerificationInfo() *VerificationInfo { + if x != nil { + return x.VerificationInfo + } + return nil +} + type GetCurrentMonthUsageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -383,7 +516,7 @@ type GetCurrentMonthUsageRequest struct { func (x *GetCurrentMonthUsageRequest) Reset() { *x = GetCurrentMonthUsageRequest{} - mi := &file_app_v1_billing_proto_msgTypes[2] + mi := &file_app_v1_billing_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -395,7 +528,7 @@ func (x *GetCurrentMonthUsageRequest) String() string { func (*GetCurrentMonthUsageRequest) ProtoMessage() {} func (x *GetCurrentMonthUsageRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[2] + mi := &file_app_v1_billing_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -408,7 +541,7 @@ func (x *GetCurrentMonthUsageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCurrentMonthUsageRequest.ProtoReflect.Descriptor instead. func (*GetCurrentMonthUsageRequest) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{2} + return file_app_v1_billing_proto_rawDescGZIP(), []int{4} } func (x *GetCurrentMonthUsageRequest) GetOrgId() string { @@ -429,7 +562,7 @@ type UsageCost struct { func (x *UsageCost) Reset() { *x = UsageCost{} - mi := &file_app_v1_billing_proto_msgTypes[3] + mi := &file_app_v1_billing_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -441,7 +574,7 @@ func (x *UsageCost) String() string { func (*UsageCost) ProtoMessage() {} func (x *UsageCost) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[3] + mi := &file_app_v1_billing_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -454,7 +587,7 @@ func (x *UsageCost) ProtoReflect() protoreflect.Message { // Deprecated: Use UsageCost.ProtoReflect.Descriptor instead. func (*UsageCost) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{3} + return file_app_v1_billing_proto_rawDescGZIP(), []int{5} } func (x *UsageCost) GetResourceType() UsageCostType { @@ -483,7 +616,7 @@ type ResourceUsageCostsBySource struct { func (x *ResourceUsageCostsBySource) Reset() { *x = ResourceUsageCostsBySource{} - mi := &file_app_v1_billing_proto_msgTypes[4] + mi := &file_app_v1_billing_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -495,7 +628,7 @@ func (x *ResourceUsageCostsBySource) String() string { func (*ResourceUsageCostsBySource) ProtoMessage() {} func (x *ResourceUsageCostsBySource) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[4] + mi := &file_app_v1_billing_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -508,7 +641,7 @@ func (x *ResourceUsageCostsBySource) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceUsageCostsBySource.ProtoReflect.Descriptor instead. func (*ResourceUsageCostsBySource) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{4} + return file_app_v1_billing_proto_rawDescGZIP(), []int{6} } func (x *ResourceUsageCostsBySource) GetSourceType() SourceType { @@ -545,7 +678,7 @@ type ResourceUsageCosts struct { func (x *ResourceUsageCosts) Reset() { *x = ResourceUsageCosts{} - mi := &file_app_v1_billing_proto_msgTypes[5] + mi := &file_app_v1_billing_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -557,7 +690,7 @@ func (x *ResourceUsageCosts) String() string { func (*ResourceUsageCosts) ProtoMessage() {} func (x *ResourceUsageCosts) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[5] + mi := &file_app_v1_billing_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -570,7 +703,7 @@ func (x *ResourceUsageCosts) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceUsageCosts.ProtoReflect.Descriptor instead. func (*ResourceUsageCosts) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{5} + return file_app_v1_billing_proto_rawDescGZIP(), []int{7} } func (x *ResourceUsageCosts) GetUsageCosts() []*UsageCost { @@ -638,7 +771,7 @@ type GetCurrentMonthUsageResponse struct { func (x *GetCurrentMonthUsageResponse) Reset() { *x = GetCurrentMonthUsageResponse{} - mi := &file_app_v1_billing_proto_msgTypes[6] + mi := &file_app_v1_billing_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -650,7 +783,7 @@ func (x *GetCurrentMonthUsageResponse) String() string { func (*GetCurrentMonthUsageResponse) ProtoMessage() {} func (x *GetCurrentMonthUsageResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[6] + mi := &file_app_v1_billing_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -663,7 +796,7 @@ func (x *GetCurrentMonthUsageResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCurrentMonthUsageResponse.ProtoReflect.Descriptor instead. func (*GetCurrentMonthUsageResponse) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{6} + return file_app_v1_billing_proto_rawDescGZIP(), []int{8} } func (x *GetCurrentMonthUsageResponse) GetStartDate() *timestamppb.Timestamp { @@ -792,7 +925,7 @@ type GetOrgBillingInformationRequest struct { func (x *GetOrgBillingInformationRequest) Reset() { *x = GetOrgBillingInformationRequest{} - mi := &file_app_v1_billing_proto_msgTypes[7] + mi := &file_app_v1_billing_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -804,7 +937,7 @@ func (x *GetOrgBillingInformationRequest) String() string { func (*GetOrgBillingInformationRequest) ProtoMessage() {} func (x *GetOrgBillingInformationRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[7] + mi := &file_app_v1_billing_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -817,7 +950,7 @@ func (x *GetOrgBillingInformationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOrgBillingInformationRequest.ProtoReflect.Descriptor instead. func (*GetOrgBillingInformationRequest) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{7} + return file_app_v1_billing_proto_rawDescGZIP(), []int{9} } func (x *GetOrgBillingInformationRequest) GetOrgId() string { @@ -838,11 +971,13 @@ type GetOrgBillingInformationResponse struct { Method *PaymentMethodCard `protobuf:"bytes,3,opt,name=method,proto3,oneof" json:"method,omitempty"` // Only return billing_tier for billing dashboard admin users BillingTier *string `protobuf:"bytes,4,opt,name=billing_tier,json=billingTier,proto3,oneof" json:"billing_tier,omitempty"` + // defined if type is PAYMENT_METHOD_TYPE_USBANKACCOUNT + MethodUsBankAccount *PaymentMethodUSBankAccount `protobuf:"bytes,5,opt,name=method_us_bank_account,json=methodUsBankAccount,proto3,oneof" json:"method_us_bank_account,omitempty"` } func (x *GetOrgBillingInformationResponse) Reset() { *x = GetOrgBillingInformationResponse{} - mi := &file_app_v1_billing_proto_msgTypes[8] + mi := &file_app_v1_billing_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -854,7 +989,7 @@ func (x *GetOrgBillingInformationResponse) String() string { func (*GetOrgBillingInformationResponse) ProtoMessage() {} func (x *GetOrgBillingInformationResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[8] + mi := &file_app_v1_billing_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -867,7 +1002,7 @@ func (x *GetOrgBillingInformationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOrgBillingInformationResponse.ProtoReflect.Descriptor instead. func (*GetOrgBillingInformationResponse) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{8} + return file_app_v1_billing_proto_rawDescGZIP(), []int{10} } func (x *GetOrgBillingInformationResponse) GetType() PaymentMethodType { @@ -898,6 +1033,13 @@ func (x *GetOrgBillingInformationResponse) GetBillingTier() string { return "" } +func (x *GetOrgBillingInformationResponse) GetMethodUsBankAccount() *PaymentMethodUSBankAccount { + if x != nil { + return x.MethodUsBankAccount + } + return nil +} + type GetInvoicesSummaryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -908,7 +1050,7 @@ type GetInvoicesSummaryRequest struct { func (x *GetInvoicesSummaryRequest) Reset() { *x = GetInvoicesSummaryRequest{} - mi := &file_app_v1_billing_proto_msgTypes[9] + mi := &file_app_v1_billing_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -920,7 +1062,7 @@ func (x *GetInvoicesSummaryRequest) String() string { func (*GetInvoicesSummaryRequest) ProtoMessage() {} func (x *GetInvoicesSummaryRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[9] + mi := &file_app_v1_billing_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -933,7 +1075,7 @@ func (x *GetInvoicesSummaryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInvoicesSummaryRequest.ProtoReflect.Descriptor instead. func (*GetInvoicesSummaryRequest) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{9} + return file_app_v1_billing_proto_rawDescGZIP(), []int{11} } func (x *GetInvoicesSummaryRequest) GetOrgId() string { @@ -956,7 +1098,7 @@ type GetInvoicesSummaryResponse struct { func (x *GetInvoicesSummaryResponse) Reset() { *x = GetInvoicesSummaryResponse{} - mi := &file_app_v1_billing_proto_msgTypes[10] + mi := &file_app_v1_billing_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -968,7 +1110,7 @@ func (x *GetInvoicesSummaryResponse) String() string { func (*GetInvoicesSummaryResponse) ProtoMessage() {} func (x *GetInvoicesSummaryResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[10] + mi := &file_app_v1_billing_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -981,7 +1123,7 @@ func (x *GetInvoicesSummaryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInvoicesSummaryResponse.ProtoReflect.Descriptor instead. func (*GetInvoicesSummaryResponse) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{10} + return file_app_v1_billing_proto_rawDescGZIP(), []int{12} } func (x *GetInvoicesSummaryResponse) GetOutstandingBalance() float64 { @@ -1009,7 +1151,7 @@ type GetInvoicePdfRequest struct { func (x *GetInvoicePdfRequest) Reset() { *x = GetInvoicePdfRequest{} - mi := &file_app_v1_billing_proto_msgTypes[11] + mi := &file_app_v1_billing_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1021,7 +1163,7 @@ func (x *GetInvoicePdfRequest) String() string { func (*GetInvoicePdfRequest) ProtoMessage() {} func (x *GetInvoicePdfRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[11] + mi := &file_app_v1_billing_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1034,7 +1176,7 @@ func (x *GetInvoicePdfRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInvoicePdfRequest.ProtoReflect.Descriptor instead. func (*GetInvoicePdfRequest) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{11} + return file_app_v1_billing_proto_rawDescGZIP(), []int{13} } func (x *GetInvoicePdfRequest) GetId() string { @@ -1061,7 +1203,7 @@ type GetInvoicePdfResponse struct { func (x *GetInvoicePdfResponse) Reset() { *x = GetInvoicePdfResponse{} - mi := &file_app_v1_billing_proto_msgTypes[12] + mi := &file_app_v1_billing_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1073,7 +1215,7 @@ func (x *GetInvoicePdfResponse) String() string { func (*GetInvoicePdfResponse) ProtoMessage() {} func (x *GetInvoicePdfResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[12] + mi := &file_app_v1_billing_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1086,7 +1228,7 @@ func (x *GetInvoicePdfResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInvoicePdfResponse.ProtoReflect.Descriptor instead. func (*GetInvoicePdfResponse) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{12} + return file_app_v1_billing_proto_rawDescGZIP(), []int{14} } func (x *GetInvoicePdfResponse) GetChunk() []byte { @@ -1107,7 +1249,7 @@ type SendPaymentRequiredEmailRequest struct { func (x *SendPaymentRequiredEmailRequest) Reset() { *x = SendPaymentRequiredEmailRequest{} - mi := &file_app_v1_billing_proto_msgTypes[13] + mi := &file_app_v1_billing_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1119,7 +1261,7 @@ func (x *SendPaymentRequiredEmailRequest) String() string { func (*SendPaymentRequiredEmailRequest) ProtoMessage() {} func (x *SendPaymentRequiredEmailRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[13] + mi := &file_app_v1_billing_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1132,7 +1274,7 @@ func (x *SendPaymentRequiredEmailRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendPaymentRequiredEmailRequest.ProtoReflect.Descriptor instead. func (*SendPaymentRequiredEmailRequest) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{13} + return file_app_v1_billing_proto_rawDescGZIP(), []int{15} } func (x *SendPaymentRequiredEmailRequest) GetCustomerOrgId() string { @@ -1157,7 +1299,7 @@ type SendPaymentRequiredEmailResponse struct { func (x *SendPaymentRequiredEmailResponse) Reset() { *x = SendPaymentRequiredEmailResponse{} - mi := &file_app_v1_billing_proto_msgTypes[14] + mi := &file_app_v1_billing_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1169,7 +1311,7 @@ func (x *SendPaymentRequiredEmailResponse) String() string { func (*SendPaymentRequiredEmailResponse) ProtoMessage() {} func (x *SendPaymentRequiredEmailResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[14] + mi := &file_app_v1_billing_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1182,7 +1324,7 @@ func (x *SendPaymentRequiredEmailResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SendPaymentRequiredEmailResponse.ProtoReflect.Descriptor instead. func (*SendPaymentRequiredEmailResponse) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{14} + return file_app_v1_billing_proto_rawDescGZIP(), []int{16} } type GetAvailableBillingTiersRequest struct { @@ -1193,7 +1335,7 @@ type GetAvailableBillingTiersRequest struct { func (x *GetAvailableBillingTiersRequest) Reset() { *x = GetAvailableBillingTiersRequest{} - mi := &file_app_v1_billing_proto_msgTypes[15] + mi := &file_app_v1_billing_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1205,7 +1347,7 @@ func (x *GetAvailableBillingTiersRequest) String() string { func (*GetAvailableBillingTiersRequest) ProtoMessage() {} func (x *GetAvailableBillingTiersRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[15] + mi := &file_app_v1_billing_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1218,7 +1360,7 @@ func (x *GetAvailableBillingTiersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAvailableBillingTiersRequest.ProtoReflect.Descriptor instead. func (*GetAvailableBillingTiersRequest) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{15} + return file_app_v1_billing_proto_rawDescGZIP(), []int{17} } type GetAvailableBillingTiersResponse struct { @@ -1231,7 +1373,7 @@ type GetAvailableBillingTiersResponse struct { func (x *GetAvailableBillingTiersResponse) Reset() { *x = GetAvailableBillingTiersResponse{} - mi := &file_app_v1_billing_proto_msgTypes[16] + mi := &file_app_v1_billing_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1243,7 +1385,7 @@ func (x *GetAvailableBillingTiersResponse) String() string { func (*GetAvailableBillingTiersResponse) ProtoMessage() {} func (x *GetAvailableBillingTiersResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[16] + mi := &file_app_v1_billing_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1256,7 +1398,7 @@ func (x *GetAvailableBillingTiersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAvailableBillingTiersResponse.ProtoReflect.Descriptor instead. func (*GetAvailableBillingTiersResponse) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{16} + return file_app_v1_billing_proto_rawDescGZIP(), []int{18} } func (x *GetAvailableBillingTiersResponse) GetTiers() []string { @@ -1277,7 +1419,7 @@ type UpdateOrganizationBillingTierRequest struct { func (x *UpdateOrganizationBillingTierRequest) Reset() { *x = UpdateOrganizationBillingTierRequest{} - mi := &file_app_v1_billing_proto_msgTypes[17] + mi := &file_app_v1_billing_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1289,7 +1431,7 @@ func (x *UpdateOrganizationBillingTierRequest) String() string { func (*UpdateOrganizationBillingTierRequest) ProtoMessage() {} func (x *UpdateOrganizationBillingTierRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[17] + mi := &file_app_v1_billing_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1302,7 +1444,7 @@ func (x *UpdateOrganizationBillingTierRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use UpdateOrganizationBillingTierRequest.ProtoReflect.Descriptor instead. func (*UpdateOrganizationBillingTierRequest) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{17} + return file_app_v1_billing_proto_rawDescGZIP(), []int{19} } func (x *UpdateOrganizationBillingTierRequest) GetOrganizationId() string { @@ -1327,7 +1469,7 @@ type UpdateOrganizationBillingTierResponse struct { func (x *UpdateOrganizationBillingTierResponse) Reset() { *x = UpdateOrganizationBillingTierResponse{} - mi := &file_app_v1_billing_proto_msgTypes[18] + mi := &file_app_v1_billing_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1339,7 +1481,7 @@ func (x *UpdateOrganizationBillingTierResponse) String() string { func (*UpdateOrganizationBillingTierResponse) ProtoMessage() {} func (x *UpdateOrganizationBillingTierResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[18] + mi := &file_app_v1_billing_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1352,7 +1494,7 @@ func (x *UpdateOrganizationBillingTierResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use UpdateOrganizationBillingTierResponse.ProtoReflect.Descriptor instead. func (*UpdateOrganizationBillingTierResponse) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{18} + return file_app_v1_billing_proto_rawDescGZIP(), []int{20} } type CreateInvoiceAndChargeImmediatelyRequest struct { @@ -1368,7 +1510,7 @@ type CreateInvoiceAndChargeImmediatelyRequest struct { func (x *CreateInvoiceAndChargeImmediatelyRequest) Reset() { *x = CreateInvoiceAndChargeImmediatelyRequest{} - mi := &file_app_v1_billing_proto_msgTypes[19] + mi := &file_app_v1_billing_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1380,7 +1522,7 @@ func (x *CreateInvoiceAndChargeImmediatelyRequest) String() string { func (*CreateInvoiceAndChargeImmediatelyRequest) ProtoMessage() {} func (x *CreateInvoiceAndChargeImmediatelyRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[19] + mi := &file_app_v1_billing_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1393,7 +1535,7 @@ func (x *CreateInvoiceAndChargeImmediatelyRequest) ProtoReflect() protoreflect.M // Deprecated: Use CreateInvoiceAndChargeImmediatelyRequest.ProtoReflect.Descriptor instead. func (*CreateInvoiceAndChargeImmediatelyRequest) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{19} + return file_app_v1_billing_proto_rawDescGZIP(), []int{21} } func (x *CreateInvoiceAndChargeImmediatelyRequest) GetOrgIdToCharge() string { @@ -1432,7 +1574,7 @@ type CreateInvoiceAndChargeImmediatelyResponse struct { func (x *CreateInvoiceAndChargeImmediatelyResponse) Reset() { *x = CreateInvoiceAndChargeImmediatelyResponse{} - mi := &file_app_v1_billing_proto_msgTypes[20] + mi := &file_app_v1_billing_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1444,7 +1586,7 @@ func (x *CreateInvoiceAndChargeImmediatelyResponse) String() string { func (*CreateInvoiceAndChargeImmediatelyResponse) ProtoMessage() {} func (x *CreateInvoiceAndChargeImmediatelyResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_billing_proto_msgTypes[20] + mi := &file_app_v1_billing_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1457,7 +1599,7 @@ func (x *CreateInvoiceAndChargeImmediatelyResponse) ProtoReflect() protoreflect. // Deprecated: Use CreateInvoiceAndChargeImmediatelyResponse.ProtoReflect.Descriptor instead. func (*CreateInvoiceAndChargeImmediatelyResponse) Descriptor() ([]byte, []int) { - return file_app_v1_billing_proto_rawDescGZIP(), []int{20} + return file_app_v1_billing_proto_rawDescGZIP(), []int{22} } var File_app_v1_billing_proto protoreflect.FileDescriptor @@ -1489,191 +1631,228 @@ var file_app_v1_billing_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x72, 0x5f, 0x64, 0x69, 0x67, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, - 0x46, 0x6f, 0x75, 0x72, 0x44, 0x69, 0x67, 0x69, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x1b, 0x47, 0x65, - 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x55, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, - 0x22, 0x60, 0x0a, 0x09, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x3f, 0x0a, - 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x63, 0x6f, - 0x73, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x14, 0x72, + 0x46, 0x6f, 0x75, 0x72, 0x44, 0x69, 0x67, 0x69, 0x74, 0x73, 0x22, 0x76, 0x0a, 0x10, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, + 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x6c, 0x22, 0xb0, 0x02, 0x0a, 0x1a, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x55, 0x53, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, + 0x0a, 0x1f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x72, 0x5f, 0x64, 0x69, 0x67, 0x69, + 0x74, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x6f, 0x75, + 0x72, 0x44, 0x69, 0x67, 0x69, 0x74, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4f, + 0x0a, 0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x10, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x42, + 0x14, 0x0a, 0x12, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x34, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x09, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x22, 0xc6, 0x01, + 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x73, 0x74, 0x73, 0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x0b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x65, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x37, 0x0a, + 0x0b, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x0a, 0x75, 0x73, 0x61, 0x67, + 0x65, 0x43, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x69, 0x74, 0x68, + 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x69, 0x74, 0x68, + 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcd, 0x07, 0x0a, 0x1c, 0x47, 0x65, 0x74, + 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x55, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x6b, 0x0a, 0x1e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1b, - 0x0a, 0x09, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x74, 0x69, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x12, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, - 0x74, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, - 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x52, - 0x0a, 0x75, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, - 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, - 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x44, - 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x69, - 0x74, 0x68, 0x6f, 0x75, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcd, 0x07, - 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, - 0x68, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x6b, 0x0a, 0x1e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x75, 0x62, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x08, 0x73, 0x75, 0x62, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x18, 0x63, 0x6c, 0x6f, + 0x73, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0e, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x73, 0x74, 0x73, 0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x1a, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x73, + 0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x73, 0x75, 0x62, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x18, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, + 0x74, 0x12, 0x37, 0x0a, 0x16, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x15, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, + 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x67, 0x72, 0x65, 0x73, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, + 0x74, 0x12, 0x3d, 0x0a, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, + 0x12, 0x41, 0x0a, 0x1b, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x18, 0x73, 0x74, 0x61, 0x6e, 0x64, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x3d, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x43, 0x0a, 0x1c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x77, + 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x55, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x70, 0x65, 0x72, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x51, 0x0a, + 0x24, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x15, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x55, 0x73, 0x61, - 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x16, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, - 0x35, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x75, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x45, 0x67, 0x72, 0x65, 0x73, 0x55, 0x73, 0x61, - 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x55, 0x73, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x1b, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, - 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x18, - 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x75, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x55, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x1c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x19, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, - 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x16, 0x70, 0x65, 0x72, - 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x70, - 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x73, 0x74, 0x12, 0x51, 0x0a, 0x24, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, - 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x1f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x55, 0x73, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x1e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x1a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x22, 0x38, 0x0a, - 0x1f, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x22, 0xfc, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x4f, + 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x1f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, + 0x12, 0x46, 0x0a, 0x1e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, + 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1a, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x22, 0x38, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, - 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x3b, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, + 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, + 0x49, 0x64, 0x22, 0xfa, 0x02, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x42, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x43, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x62, 0x69, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, - 0x67, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x22, 0x32, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x75, 0x74, - 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x69, 0x6e, - 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x73, 0x22, 0x3d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x50, 0x64, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, - 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, - 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x50, 0x64, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, - 0x6b, 0x22, 0x7a, 0x0a, 0x1f, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, - 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x6f, 0x72, - 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x69, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x22, 0x22, 0x0a, - 0x20, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x38, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x65, 0x72, 0x73, 0x22, 0x72, - 0x0a, 0x24, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x21, 0x0a, 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, - 0x65, 0x72, 0x22, 0x27, 0x0a, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, - 0x69, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x28, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x6e, 0x64, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x5f, - 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x54, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x32, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, - 0x72, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x10, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x46, 0x6f, 0x72, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x5f, - 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x2b, 0x0a, 0x29, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x6e, 0x64, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x56, 0x0a, 0x11, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, - 0x0a, 0x1f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, - 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, - 0x01, 0x2a, 0xa8, 0x08, 0x0a, 0x0d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x54, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x3b, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, + 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x61, 0x0a, 0x16, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, + 0x75, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x55, 0x53, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, + 0x52, 0x13, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x55, 0x73, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, + 0x74, 0x69, 0x65, 0x72, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, + 0x75, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x32, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, + 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, + 0x67, 0x49, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, + 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x12, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x22, 0x3d, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x64, 0x66, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x15, 0x47, + 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x64, 0x66, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x22, 0x7a, 0x0a, 0x1f, 0x53, 0x65, + 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, + 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x4f, 0x77, 0x6e, 0x65, + 0x72, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x47, 0x65, + 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x54, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x38, 0x0a, + 0x20, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x69, 0x65, 0x72, 0x73, 0x22, 0x72, 0x0a, 0x24, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x69, 0x6c, 0x6c, + 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x72, 0x22, 0x27, 0x0a, 0x25, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x28, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, + 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x27, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, + 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x67, + 0x49, 0x64, 0x54, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x13, 0x6f, 0x72, 0x67, + 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x46, + 0x6f, 0x72, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, + 0x14, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x72, 0x61, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x2b, 0x0a, 0x29, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, + 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2a, 0x7d, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x41, 0x59, 0x4d, 0x45, + 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, + 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x41, + 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x53, 0x42, 0x41, 0x4e, 0x4b, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, + 0x02, 0x2a, 0xa8, 0x08, 0x0a, 0x0d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1b, 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, @@ -1824,69 +2003,73 @@ func file_app_v1_billing_proto_rawDescGZIP() []byte { } var file_app_v1_billing_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_app_v1_billing_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_app_v1_billing_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_app_v1_billing_proto_goTypes = []any{ (PaymentMethodType)(0), // 0: viam.app.v1.PaymentMethodType (UsageCostType)(0), // 1: viam.app.v1.UsageCostType (SourceType)(0), // 2: viam.app.v1.SourceType (*InvoiceSummary)(nil), // 3: viam.app.v1.InvoiceSummary (*PaymentMethodCard)(nil), // 4: viam.app.v1.PaymentMethodCard - (*GetCurrentMonthUsageRequest)(nil), // 5: viam.app.v1.GetCurrentMonthUsageRequest - (*UsageCost)(nil), // 6: viam.app.v1.UsageCost - (*ResourceUsageCostsBySource)(nil), // 7: viam.app.v1.ResourceUsageCostsBySource - (*ResourceUsageCosts)(nil), // 8: viam.app.v1.ResourceUsageCosts - (*GetCurrentMonthUsageResponse)(nil), // 9: viam.app.v1.GetCurrentMonthUsageResponse - (*GetOrgBillingInformationRequest)(nil), // 10: viam.app.v1.GetOrgBillingInformationRequest - (*GetOrgBillingInformationResponse)(nil), // 11: viam.app.v1.GetOrgBillingInformationResponse - (*GetInvoicesSummaryRequest)(nil), // 12: viam.app.v1.GetInvoicesSummaryRequest - (*GetInvoicesSummaryResponse)(nil), // 13: viam.app.v1.GetInvoicesSummaryResponse - (*GetInvoicePdfRequest)(nil), // 14: viam.app.v1.GetInvoicePdfRequest - (*GetInvoicePdfResponse)(nil), // 15: viam.app.v1.GetInvoicePdfResponse - (*SendPaymentRequiredEmailRequest)(nil), // 16: viam.app.v1.SendPaymentRequiredEmailRequest - (*SendPaymentRequiredEmailResponse)(nil), // 17: viam.app.v1.SendPaymentRequiredEmailResponse - (*GetAvailableBillingTiersRequest)(nil), // 18: viam.app.v1.GetAvailableBillingTiersRequest - (*GetAvailableBillingTiersResponse)(nil), // 19: viam.app.v1.GetAvailableBillingTiersResponse - (*UpdateOrganizationBillingTierRequest)(nil), // 20: viam.app.v1.UpdateOrganizationBillingTierRequest - (*UpdateOrganizationBillingTierResponse)(nil), // 21: viam.app.v1.UpdateOrganizationBillingTierResponse - (*CreateInvoiceAndChargeImmediatelyRequest)(nil), // 22: viam.app.v1.CreateInvoiceAndChargeImmediatelyRequest - (*CreateInvoiceAndChargeImmediatelyResponse)(nil), // 23: viam.app.v1.CreateInvoiceAndChargeImmediatelyResponse - (*timestamppb.Timestamp)(nil), // 24: google.protobuf.Timestamp + (*VerificationInfo)(nil), // 5: viam.app.v1.VerificationInfo + (*PaymentMethodUSBankAccount)(nil), // 6: viam.app.v1.PaymentMethodUSBankAccount + (*GetCurrentMonthUsageRequest)(nil), // 7: viam.app.v1.GetCurrentMonthUsageRequest + (*UsageCost)(nil), // 8: viam.app.v1.UsageCost + (*ResourceUsageCostsBySource)(nil), // 9: viam.app.v1.ResourceUsageCostsBySource + (*ResourceUsageCosts)(nil), // 10: viam.app.v1.ResourceUsageCosts + (*GetCurrentMonthUsageResponse)(nil), // 11: viam.app.v1.GetCurrentMonthUsageResponse + (*GetOrgBillingInformationRequest)(nil), // 12: viam.app.v1.GetOrgBillingInformationRequest + (*GetOrgBillingInformationResponse)(nil), // 13: viam.app.v1.GetOrgBillingInformationResponse + (*GetInvoicesSummaryRequest)(nil), // 14: viam.app.v1.GetInvoicesSummaryRequest + (*GetInvoicesSummaryResponse)(nil), // 15: viam.app.v1.GetInvoicesSummaryResponse + (*GetInvoicePdfRequest)(nil), // 16: viam.app.v1.GetInvoicePdfRequest + (*GetInvoicePdfResponse)(nil), // 17: viam.app.v1.GetInvoicePdfResponse + (*SendPaymentRequiredEmailRequest)(nil), // 18: viam.app.v1.SendPaymentRequiredEmailRequest + (*SendPaymentRequiredEmailResponse)(nil), // 19: viam.app.v1.SendPaymentRequiredEmailResponse + (*GetAvailableBillingTiersRequest)(nil), // 20: viam.app.v1.GetAvailableBillingTiersRequest + (*GetAvailableBillingTiersResponse)(nil), // 21: viam.app.v1.GetAvailableBillingTiersResponse + (*UpdateOrganizationBillingTierRequest)(nil), // 22: viam.app.v1.UpdateOrganizationBillingTierRequest + (*UpdateOrganizationBillingTierResponse)(nil), // 23: viam.app.v1.UpdateOrganizationBillingTierResponse + (*CreateInvoiceAndChargeImmediatelyRequest)(nil), // 24: viam.app.v1.CreateInvoiceAndChargeImmediatelyRequest + (*CreateInvoiceAndChargeImmediatelyResponse)(nil), // 25: viam.app.v1.CreateInvoiceAndChargeImmediatelyResponse + (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp } var file_app_v1_billing_proto_depIdxs = []int32{ - 24, // 0: viam.app.v1.InvoiceSummary.invoice_date:type_name -> google.protobuf.Timestamp - 24, // 1: viam.app.v1.InvoiceSummary.due_date:type_name -> google.protobuf.Timestamp - 24, // 2: viam.app.v1.InvoiceSummary.paid_date:type_name -> google.protobuf.Timestamp - 1, // 3: viam.app.v1.UsageCost.resource_type:type_name -> viam.app.v1.UsageCostType - 2, // 4: viam.app.v1.ResourceUsageCostsBySource.source_type:type_name -> viam.app.v1.SourceType - 8, // 5: viam.app.v1.ResourceUsageCostsBySource.resource_usage_costs:type_name -> viam.app.v1.ResourceUsageCosts - 6, // 6: viam.app.v1.ResourceUsageCosts.usage_costs:type_name -> viam.app.v1.UsageCost - 24, // 7: viam.app.v1.GetCurrentMonthUsageResponse.start_date:type_name -> google.protobuf.Timestamp - 24, // 8: viam.app.v1.GetCurrentMonthUsageResponse.end_date:type_name -> google.protobuf.Timestamp - 7, // 9: viam.app.v1.GetCurrentMonthUsageResponse.resource_usage_costs_by_source:type_name -> viam.app.v1.ResourceUsageCostsBySource - 0, // 10: viam.app.v1.GetOrgBillingInformationResponse.type:type_name -> viam.app.v1.PaymentMethodType - 4, // 11: viam.app.v1.GetOrgBillingInformationResponse.method:type_name -> viam.app.v1.PaymentMethodCard - 3, // 12: viam.app.v1.GetInvoicesSummaryResponse.invoices:type_name -> viam.app.v1.InvoiceSummary - 5, // 13: viam.app.v1.BillingService.GetCurrentMonthUsage:input_type -> viam.app.v1.GetCurrentMonthUsageRequest - 10, // 14: viam.app.v1.BillingService.GetOrgBillingInformation:input_type -> viam.app.v1.GetOrgBillingInformationRequest - 12, // 15: viam.app.v1.BillingService.GetInvoicesSummary:input_type -> viam.app.v1.GetInvoicesSummaryRequest - 14, // 16: viam.app.v1.BillingService.GetInvoicePdf:input_type -> viam.app.v1.GetInvoicePdfRequest - 16, // 17: viam.app.v1.BillingService.SendPaymentRequiredEmail:input_type -> viam.app.v1.SendPaymentRequiredEmailRequest - 18, // 18: viam.app.v1.BillingService.GetAvailableBillingTiers:input_type -> viam.app.v1.GetAvailableBillingTiersRequest - 20, // 19: viam.app.v1.BillingService.UpdateOrganizationBillingTier:input_type -> viam.app.v1.UpdateOrganizationBillingTierRequest - 22, // 20: viam.app.v1.BillingService.CreateInvoiceAndChargeImmediately:input_type -> viam.app.v1.CreateInvoiceAndChargeImmediatelyRequest - 9, // 21: viam.app.v1.BillingService.GetCurrentMonthUsage:output_type -> viam.app.v1.GetCurrentMonthUsageResponse - 11, // 22: viam.app.v1.BillingService.GetOrgBillingInformation:output_type -> viam.app.v1.GetOrgBillingInformationResponse - 13, // 23: viam.app.v1.BillingService.GetInvoicesSummary:output_type -> viam.app.v1.GetInvoicesSummaryResponse - 15, // 24: viam.app.v1.BillingService.GetInvoicePdf:output_type -> viam.app.v1.GetInvoicePdfResponse - 17, // 25: viam.app.v1.BillingService.SendPaymentRequiredEmail:output_type -> viam.app.v1.SendPaymentRequiredEmailResponse - 19, // 26: viam.app.v1.BillingService.GetAvailableBillingTiers:output_type -> viam.app.v1.GetAvailableBillingTiersResponse - 21, // 27: viam.app.v1.BillingService.UpdateOrganizationBillingTier:output_type -> viam.app.v1.UpdateOrganizationBillingTierResponse - 23, // 28: viam.app.v1.BillingService.CreateInvoiceAndChargeImmediately:output_type -> viam.app.v1.CreateInvoiceAndChargeImmediatelyResponse - 21, // [21:29] is the sub-list for method output_type - 13, // [13:21] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 26, // 0: viam.app.v1.InvoiceSummary.invoice_date:type_name -> google.protobuf.Timestamp + 26, // 1: viam.app.v1.InvoiceSummary.due_date:type_name -> google.protobuf.Timestamp + 26, // 2: viam.app.v1.InvoiceSummary.paid_date:type_name -> google.protobuf.Timestamp + 5, // 3: viam.app.v1.PaymentMethodUSBankAccount.verification_info:type_name -> viam.app.v1.VerificationInfo + 1, // 4: viam.app.v1.UsageCost.resource_type:type_name -> viam.app.v1.UsageCostType + 2, // 5: viam.app.v1.ResourceUsageCostsBySource.source_type:type_name -> viam.app.v1.SourceType + 10, // 6: viam.app.v1.ResourceUsageCostsBySource.resource_usage_costs:type_name -> viam.app.v1.ResourceUsageCosts + 8, // 7: viam.app.v1.ResourceUsageCosts.usage_costs:type_name -> viam.app.v1.UsageCost + 26, // 8: viam.app.v1.GetCurrentMonthUsageResponse.start_date:type_name -> google.protobuf.Timestamp + 26, // 9: viam.app.v1.GetCurrentMonthUsageResponse.end_date:type_name -> google.protobuf.Timestamp + 9, // 10: viam.app.v1.GetCurrentMonthUsageResponse.resource_usage_costs_by_source:type_name -> viam.app.v1.ResourceUsageCostsBySource + 0, // 11: viam.app.v1.GetOrgBillingInformationResponse.type:type_name -> viam.app.v1.PaymentMethodType + 4, // 12: viam.app.v1.GetOrgBillingInformationResponse.method:type_name -> viam.app.v1.PaymentMethodCard + 6, // 13: viam.app.v1.GetOrgBillingInformationResponse.method_us_bank_account:type_name -> viam.app.v1.PaymentMethodUSBankAccount + 3, // 14: viam.app.v1.GetInvoicesSummaryResponse.invoices:type_name -> viam.app.v1.InvoiceSummary + 7, // 15: viam.app.v1.BillingService.GetCurrentMonthUsage:input_type -> viam.app.v1.GetCurrentMonthUsageRequest + 12, // 16: viam.app.v1.BillingService.GetOrgBillingInformation:input_type -> viam.app.v1.GetOrgBillingInformationRequest + 14, // 17: viam.app.v1.BillingService.GetInvoicesSummary:input_type -> viam.app.v1.GetInvoicesSummaryRequest + 16, // 18: viam.app.v1.BillingService.GetInvoicePdf:input_type -> viam.app.v1.GetInvoicePdfRequest + 18, // 19: viam.app.v1.BillingService.SendPaymentRequiredEmail:input_type -> viam.app.v1.SendPaymentRequiredEmailRequest + 20, // 20: viam.app.v1.BillingService.GetAvailableBillingTiers:input_type -> viam.app.v1.GetAvailableBillingTiersRequest + 22, // 21: viam.app.v1.BillingService.UpdateOrganizationBillingTier:input_type -> viam.app.v1.UpdateOrganizationBillingTierRequest + 24, // 22: viam.app.v1.BillingService.CreateInvoiceAndChargeImmediately:input_type -> viam.app.v1.CreateInvoiceAndChargeImmediatelyRequest + 11, // 23: viam.app.v1.BillingService.GetCurrentMonthUsage:output_type -> viam.app.v1.GetCurrentMonthUsageResponse + 13, // 24: viam.app.v1.BillingService.GetOrgBillingInformation:output_type -> viam.app.v1.GetOrgBillingInformationResponse + 15, // 25: viam.app.v1.BillingService.GetInvoicesSummary:output_type -> viam.app.v1.GetInvoicesSummaryResponse + 17, // 26: viam.app.v1.BillingService.GetInvoicePdf:output_type -> viam.app.v1.GetInvoicePdfResponse + 19, // 27: viam.app.v1.BillingService.SendPaymentRequiredEmail:output_type -> viam.app.v1.SendPaymentRequiredEmailResponse + 21, // 28: viam.app.v1.BillingService.GetAvailableBillingTiers:output_type -> viam.app.v1.GetAvailableBillingTiersResponse + 23, // 29: viam.app.v1.BillingService.UpdateOrganizationBillingTier:output_type -> viam.app.v1.UpdateOrganizationBillingTierResponse + 25, // 30: viam.app.v1.BillingService.CreateInvoiceAndChargeImmediately:output_type -> viam.app.v1.CreateInvoiceAndChargeImmediatelyResponse + 23, // [23:31] is the sub-list for method output_type + 15, // [15:23] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_app_v1_billing_proto_init() } @@ -1894,15 +2077,16 @@ func file_app_v1_billing_proto_init() { if File_app_v1_billing_proto != nil { return } - file_app_v1_billing_proto_msgTypes[8].OneofWrappers = []any{} - file_app_v1_billing_proto_msgTypes[19].OneofWrappers = []any{} + file_app_v1_billing_proto_msgTypes[3].OneofWrappers = []any{} + file_app_v1_billing_proto_msgTypes[10].OneofWrappers = []any{} + file_app_v1_billing_proto_msgTypes[21].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_app_v1_billing_proto_rawDesc, NumEnums: 3, - NumMessages: 21, + NumMessages: 23, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/js/app/v1/billing_pb.d.ts b/gen/js/app/v1/billing_pb.d.ts index 62142a70c..97d8cacca 100644 --- a/gen/js/app/v1/billing_pb.d.ts +++ b/gen/js/app/v1/billing_pb.d.ts @@ -74,6 +74,68 @@ export namespace PaymentMethodCard { } } +export class VerificationInfo extends jspb.Message { + getArrivalDate(): number; + setArrivalDate(value: number): void; + + getHostedVerificationPageUrl(): string; + setHostedVerificationPageUrl(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): VerificationInfo.AsObject; + static toObject(includeInstance: boolean, msg: VerificationInfo): VerificationInfo.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: VerificationInfo, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): VerificationInfo; + static deserializeBinaryFromReader(message: VerificationInfo, reader: jspb.BinaryReader): VerificationInfo; +} + +export namespace VerificationInfo { + export type AsObject = { + arrivalDate: number, + hostedVerificationPageUrl: string, + } +} + +export class PaymentMethodUSBankAccount extends jspb.Message { + getBankName(): string; + setBankName(value: string): void; + + getLastFourDigitsAccountNumber(): string; + setLastFourDigitsAccountNumber(value: string): void; + + getRoutingNumber(): string; + setRoutingNumber(value: string): void; + + getAccountType(): string; + setAccountType(value: string): void; + + hasVerificationInfo(): boolean; + clearVerificationInfo(): void; + getVerificationInfo(): VerificationInfo | undefined; + setVerificationInfo(value?: VerificationInfo): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): PaymentMethodUSBankAccount.AsObject; + static toObject(includeInstance: boolean, msg: PaymentMethodUSBankAccount): PaymentMethodUSBankAccount.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: PaymentMethodUSBankAccount, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): PaymentMethodUSBankAccount; + static deserializeBinaryFromReader(message: PaymentMethodUSBankAccount, reader: jspb.BinaryReader): PaymentMethodUSBankAccount; +} + +export namespace PaymentMethodUSBankAccount { + export type AsObject = { + bankName: string, + lastFourDigitsAccountNumber: string, + routingNumber: string, + accountType: string, + verificationInfo?: VerificationInfo.AsObject, + } +} + export class GetCurrentMonthUsageRequest extends jspb.Message { getOrgId(): string; setOrgId(value: string): void; @@ -301,6 +363,11 @@ export class GetOrgBillingInformationResponse extends jspb.Message { getBillingTier(): string; setBillingTier(value: string): void; + hasMethodUsBankAccount(): boolean; + clearMethodUsBankAccount(): void; + getMethodUsBankAccount(): PaymentMethodUSBankAccount | undefined; + setMethodUsBankAccount(value?: PaymentMethodUSBankAccount): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetOrgBillingInformationResponse.AsObject; static toObject(includeInstance: boolean, msg: GetOrgBillingInformationResponse): GetOrgBillingInformationResponse.AsObject; @@ -317,6 +384,7 @@ export namespace GetOrgBillingInformationResponse { billingEmail: string, method?: PaymentMethodCard.AsObject, billingTier: string, + methodUsBankAccount?: PaymentMethodUSBankAccount.AsObject, } } @@ -585,6 +653,7 @@ export namespace CreateInvoiceAndChargeImmediatelyResponse { export interface PaymentMethodTypeMap { PAYMENT_METHOD_TYPE_UNSPECIFIED: 0; PAYMENT_METHOD_TYPE_CARD: 1; + PAYMENT_METHOD_TYPE_USBANKACCOUNT: 2; } export const PaymentMethodType: PaymentMethodTypeMap; diff --git a/gen/js/app/v1/billing_pb.js b/gen/js/app/v1/billing_pb.js index dd170e690..faa5d7430 100644 --- a/gen/js/app/v1/billing_pb.js +++ b/gen/js/app/v1/billing_pb.js @@ -32,6 +32,7 @@ goog.exportSymbol('proto.viam.app.v1.GetOrgBillingInformationResponse', null, gl goog.exportSymbol('proto.viam.app.v1.InvoiceSummary', null, global); goog.exportSymbol('proto.viam.app.v1.PaymentMethodCard', null, global); goog.exportSymbol('proto.viam.app.v1.PaymentMethodType', null, global); +goog.exportSymbol('proto.viam.app.v1.PaymentMethodUSBankAccount', null, global); goog.exportSymbol('proto.viam.app.v1.ResourceUsageCosts', null, global); goog.exportSymbol('proto.viam.app.v1.ResourceUsageCostsBySource', null, global); goog.exportSymbol('proto.viam.app.v1.SendPaymentRequiredEmailRequest', null, global); @@ -41,6 +42,7 @@ goog.exportSymbol('proto.viam.app.v1.UpdateOrganizationBillingTierRequest', null goog.exportSymbol('proto.viam.app.v1.UpdateOrganizationBillingTierResponse', null, global); goog.exportSymbol('proto.viam.app.v1.UsageCost', null, global); goog.exportSymbol('proto.viam.app.v1.UsageCostType', null, global); +goog.exportSymbol('proto.viam.app.v1.VerificationInfo', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -83,6 +85,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.viam.app.v1.PaymentMethodCard.displayName = 'proto.viam.app.v1.PaymentMethodCard'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.app.v1.VerificationInfo = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.app.v1.VerificationInfo, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.v1.VerificationInfo.displayName = 'proto.viam.app.v1.VerificationInfo'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.app.v1.PaymentMethodUSBankAccount = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.app.v1.PaymentMethodUSBankAccount, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.v1.PaymentMethodUSBankAccount.displayName = 'proto.viam.app.v1.PaymentMethodUSBankAccount'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -988,6 +1032,437 @@ proto.viam.app.v1.PaymentMethodCard.prototype.setLastFourDigits = function(value +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.app.v1.VerificationInfo.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.v1.VerificationInfo.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.app.v1.VerificationInfo} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.VerificationInfo.toObject = function(includeInstance, msg) { + var f, obj = { + arrivalDate: jspb.Message.getFieldWithDefault(msg, 1, 0), + hostedVerificationPageUrl: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.app.v1.VerificationInfo} + */ +proto.viam.app.v1.VerificationInfo.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.v1.VerificationInfo; + return proto.viam.app.v1.VerificationInfo.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.v1.VerificationInfo} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.v1.VerificationInfo} + */ +proto.viam.app.v1.VerificationInfo.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readInt64()); + msg.setArrivalDate(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setHostedVerificationPageUrl(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.v1.VerificationInfo.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.v1.VerificationInfo.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.app.v1.VerificationInfo} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.VerificationInfo.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getArrivalDate(); + if (f !== 0) { + writer.writeInt64( + 1, + f + ); + } + f = message.getHostedVerificationPageUrl(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional int64 arrival_date = 1; + * @return {number} + */ +proto.viam.app.v1.VerificationInfo.prototype.getArrivalDate = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.viam.app.v1.VerificationInfo} returns this + */ +proto.viam.app.v1.VerificationInfo.prototype.setArrivalDate = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional string hosted_verification_page_url = 2; + * @return {string} + */ +proto.viam.app.v1.VerificationInfo.prototype.getHostedVerificationPageUrl = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.VerificationInfo} returns this + */ +proto.viam.app.v1.VerificationInfo.prototype.setHostedVerificationPageUrl = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.v1.PaymentMethodUSBankAccount.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.app.v1.PaymentMethodUSBankAccount} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.toObject = function(includeInstance, msg) { + var f, obj = { + bankName: jspb.Message.getFieldWithDefault(msg, 1, ""), + lastFourDigitsAccountNumber: jspb.Message.getFieldWithDefault(msg, 2, ""), + routingNumber: jspb.Message.getFieldWithDefault(msg, 3, ""), + accountType: jspb.Message.getFieldWithDefault(msg, 4, ""), + verificationInfo: (f = msg.getVerificationInfo()) && proto.viam.app.v1.VerificationInfo.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.app.v1.PaymentMethodUSBankAccount} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.v1.PaymentMethodUSBankAccount; + return proto.viam.app.v1.PaymentMethodUSBankAccount.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.v1.PaymentMethodUSBankAccount} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.v1.PaymentMethodUSBankAccount} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setBankName(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setLastFourDigitsAccountNumber(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setRoutingNumber(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setAccountType(value); + break; + case 5: + var value = new proto.viam.app.v1.VerificationInfo; + reader.readMessage(value,proto.viam.app.v1.VerificationInfo.deserializeBinaryFromReader); + msg.setVerificationInfo(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.v1.PaymentMethodUSBankAccount.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.app.v1.PaymentMethodUSBankAccount} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getBankName(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getLastFourDigitsAccountNumber(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getRoutingNumber(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getAccountType(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } + f = message.getVerificationInfo(); + if (f != null) { + writer.writeMessage( + 5, + f, + proto.viam.app.v1.VerificationInfo.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string bank_name = 1; + * @return {string} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.getBankName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.PaymentMethodUSBankAccount} returns this + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.setBankName = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string last_four_digits_account_number = 2; + * @return {string} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.getLastFourDigitsAccountNumber = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.PaymentMethodUSBankAccount} returns this + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.setLastFourDigitsAccountNumber = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string routing_number = 3; + * @return {string} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.getRoutingNumber = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.PaymentMethodUSBankAccount} returns this + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.setRoutingNumber = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional string account_type = 4; + * @return {string} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.getAccountType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.PaymentMethodUSBankAccount} returns this + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.setAccountType = function(value) { + return jspb.Message.setProto3StringField(this, 4, value); +}; + + +/** + * optional VerificationInfo verification_info = 5; + * @return {?proto.viam.app.v1.VerificationInfo} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.getVerificationInfo = function() { + return /** @type{?proto.viam.app.v1.VerificationInfo} */ ( + jspb.Message.getWrapperField(this, proto.viam.app.v1.VerificationInfo, 5)); +}; + + +/** + * @param {?proto.viam.app.v1.VerificationInfo|undefined} value + * @return {!proto.viam.app.v1.PaymentMethodUSBankAccount} returns this +*/ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.setVerificationInfo = function(value) { + return jspb.Message.setWrapperField(this, 5, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.viam.app.v1.PaymentMethodUSBankAccount} returns this + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.clearVerificationInfo = function() { + return this.setVerificationInfo(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.viam.app.v1.PaymentMethodUSBankAccount.prototype.hasVerificationInfo = function() { + return jspb.Message.getField(this, 5) != null; +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -2523,7 +2998,8 @@ proto.viam.app.v1.GetOrgBillingInformationResponse.toObject = function(includeIn type: jspb.Message.getFieldWithDefault(msg, 1, 0), billingEmail: jspb.Message.getFieldWithDefault(msg, 2, ""), method: (f = msg.getMethod()) && proto.viam.app.v1.PaymentMethodCard.toObject(includeInstance, f), - billingTier: jspb.Message.getFieldWithDefault(msg, 4, "") + billingTier: jspb.Message.getFieldWithDefault(msg, 4, ""), + methodUsBankAccount: (f = msg.getMethodUsBankAccount()) && proto.viam.app.v1.PaymentMethodUSBankAccount.toObject(includeInstance, f) }; if (includeInstance) { @@ -2577,6 +3053,11 @@ proto.viam.app.v1.GetOrgBillingInformationResponse.deserializeBinaryFromReader = var value = /** @type {string} */ (reader.readString()); msg.setBillingTier(value); break; + case 5: + var value = new proto.viam.app.v1.PaymentMethodUSBankAccount; + reader.readMessage(value,proto.viam.app.v1.PaymentMethodUSBankAccount.deserializeBinaryFromReader); + msg.setMethodUsBankAccount(value); + break; default: reader.skipField(); break; @@ -2635,6 +3116,14 @@ proto.viam.app.v1.GetOrgBillingInformationResponse.serializeBinaryToWriter = fun f ); } + f = message.getMethodUsBankAccount(); + if (f != null) { + writer.writeMessage( + 5, + f, + proto.viam.app.v1.PaymentMethodUSBankAccount.serializeBinaryToWriter + ); + } }; @@ -2747,6 +3236,43 @@ proto.viam.app.v1.GetOrgBillingInformationResponse.prototype.hasBillingTier = fu }; +/** + * optional PaymentMethodUSBankAccount method_us_bank_account = 5; + * @return {?proto.viam.app.v1.PaymentMethodUSBankAccount} + */ +proto.viam.app.v1.GetOrgBillingInformationResponse.prototype.getMethodUsBankAccount = function() { + return /** @type{?proto.viam.app.v1.PaymentMethodUSBankAccount} */ ( + jspb.Message.getWrapperField(this, proto.viam.app.v1.PaymentMethodUSBankAccount, 5)); +}; + + +/** + * @param {?proto.viam.app.v1.PaymentMethodUSBankAccount|undefined} value + * @return {!proto.viam.app.v1.GetOrgBillingInformationResponse} returns this +*/ +proto.viam.app.v1.GetOrgBillingInformationResponse.prototype.setMethodUsBankAccount = function(value) { + return jspb.Message.setWrapperField(this, 5, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.viam.app.v1.GetOrgBillingInformationResponse} returns this + */ +proto.viam.app.v1.GetOrgBillingInformationResponse.prototype.clearMethodUsBankAccount = function() { + return this.setMethodUsBankAccount(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.viam.app.v1.GetOrgBillingInformationResponse.prototype.hasMethodUsBankAccount = function() { + return jspb.Message.getField(this, 5) != null; +}; + + @@ -4522,7 +5048,8 @@ proto.viam.app.v1.CreateInvoiceAndChargeImmediatelyResponse.serializeBinaryToWri */ proto.viam.app.v1.PaymentMethodType = { PAYMENT_METHOD_TYPE_UNSPECIFIED: 0, - PAYMENT_METHOD_TYPE_CARD: 1 + PAYMENT_METHOD_TYPE_CARD: 1, + PAYMENT_METHOD_TYPE_USBANKACCOUNT: 2 }; /** diff --git a/proto/viam/app/v1/billing.proto b/proto/viam/app/v1/billing.proto index 928e24ef1..f24f844fa 100644 --- a/proto/viam/app/v1/billing.proto +++ b/proto/viam/app/v1/billing.proto @@ -37,6 +37,7 @@ message InvoiceSummary { enum PaymentMethodType { PAYMENT_METHOD_TYPE_UNSPECIFIED = 0; PAYMENT_METHOD_TYPE_CARD = 1; + PAYMENT_METHOD_TYPE_USBANKACCOUNT = 2; } message PaymentMethodCard { @@ -44,6 +45,19 @@ message PaymentMethodCard { string last_four_digits = 2; } +message VerificationInfo { + int64 arrival_date = 1; + string hosted_verification_page_url = 2; +} + +message PaymentMethodUSBankAccount { + string bank_name = 1; + string last_four_digits_account_number = 2; + string routing_number = 3; + string account_type = 4; + optional VerificationInfo verification_info = 5; // this is only set if the account is not verified +} + message GetCurrentMonthUsageRequest { string org_id = 1; } @@ -132,6 +146,8 @@ message GetOrgBillingInformationResponse { optional PaymentMethodCard method = 3; // Only return billing_tier for billing dashboard admin users optional string billing_tier = 4; + // defined if type is PAYMENT_METHOD_TYPE_USBANKACCOUNT + optional PaymentMethodUSBankAccount method_us_bank_account = 5; } message GetInvoicesSummaryRequest {