@vendasta/billing 11.10.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/esm2020/lib/_internal/enums/index.mjs +4 -4
  2. package/esm2020/lib/_internal/index.mjs +1 -2
  3. package/esm2020/lib/_internal/interfaces/billable-item.interface.mjs +1 -1
  4. package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
  5. package/esm2020/lib/_internal/interfaces/tax-rate.interface.mjs +1 -1
  6. package/esm2020/lib/_internal/objects/billable-item.mjs +34 -1
  7. package/esm2020/lib/_internal/objects/index.mjs +8 -9
  8. package/esm2020/lib/_internal/objects/tax-rate.mjs +114 -1
  9. package/esm2020/lib/_internal/tax.api.service.mjs +7 -2
  10. package/fesm2015/vendasta-billing.mjs +5401 -6025
  11. package/fesm2015/vendasta-billing.mjs.map +1 -1
  12. package/fesm2020/vendasta-billing.mjs +5401 -6025
  13. package/fesm2020/vendasta-billing.mjs.map +1 -1
  14. package/lib/_internal/enums/index.d.ts +3 -3
  15. package/lib/_internal/index.d.ts +0 -1
  16. package/lib/_internal/interfaces/billable-item.interface.d.ts +6 -0
  17. package/lib/_internal/interfaces/index.d.ts +7 -8
  18. package/lib/_internal/interfaces/tax-rate.interface.d.ts +18 -0
  19. package/lib/_internal/objects/billable-item.d.ts +9 -0
  20. package/lib/_internal/objects/index.d.ts +7 -8
  21. package/lib/_internal/objects/tax-rate.d.ts +30 -0
  22. package/lib/_internal/tax.api.service.d.ts +3 -2
  23. package/package.json +1 -1
  24. package/esm2020/lib/_internal/interfaces/invoice-template.interface.mjs +0 -2
  25. package/esm2020/lib/_internal/invoice-template.api.service.mjs +0 -85
  26. package/esm2020/lib/_internal/objects/invoice-template.mjs +0 -707
  27. package/lib/_internal/interfaces/invoice-template.interface.d.ts +0 -126
  28. package/lib/_internal/invoice-template.api.service.d.ts +0 -25
  29. package/lib/_internal/objects/invoice-template.d.ts +0 -194
@@ -1,7 +1,9 @@
1
1
  export { Frequency, } from './frequency.enum';
2
+ export { Currency, } from './currency.enum';
3
+ export { FeeAmountType, FeeType, } from './fee.enum';
4
+ export { BillingStrategy, ProductPricingType, } from './pricing-plan.enum';
2
5
  export { SubscriptionStatus, } from './billable-item.enum';
3
6
  export { DiscountType, } from './applied-discount.enum';
4
- export { Currency, } from './currency.enum';
5
7
  export { ContractSubscriptionStatus, } from './contract.enum';
6
8
  export { ProductSummaryBillingStrategy, ProductSummaryDiscountDiscountType, ProductSummaryProductType, PricingRuleType, } from './product-summary.enum';
7
9
  export { ListInvoicesRequestFiltersDateFilterDateField, InvoiceStatus, } from './invoice.enum';
@@ -13,8 +15,6 @@ export { MerchantReportStatus, } from './merchant-report.enum';
13
15
  export { CardType, } from './card.enum';
14
16
  export { DisputeStatus, PaymentAllocationType, PaymentSource, PaymentStatus, RetailPaymentReferenceType, RetailRefundFailureReason, RetailRefundReason, RetailRefundStatus, RetailTransactionType, } from './payment.enum';
15
17
  export { PaymentCardCARD_TYPE, PaymentCardFUNDING_TYPE, } from './payment-card.enum';
16
- export { FeeAmountType, FeeType, } from './fee.enum';
17
- export { BillingStrategy, ProductPricingType, } from './pricing-plan.enum';
18
18
  export { ProductType, } from './product.enum';
19
19
  export { CreditType, PurchaseStatus, ListPurchaseRequestState, } from './purchase.enum';
20
20
  export { ReferenceType, RefundReason, RefundStatus, } from './refund.enum';
@@ -9,7 +9,6 @@ export { ContractApiService } from './contract.api.service';
9
9
  export { CreditApiService } from './credit.api.service';
10
10
  export { DiscountApiService } from './discount.api.service';
11
11
  export { InvoiceApiService } from './invoice.api.service';
12
- export { InvoiceTemplateApiService } from './invoice-template.api.service';
13
12
  export { MerchantApiService } from './merchant.api.service';
14
13
  export { PaymentMethodApiService } from './payment-method.api.service';
15
14
  export { PaymentApiService } from './payment.api.service';
@@ -1,4 +1,5 @@
1
1
  import { PagedRequestOptionsInterface, PagedResponseMetadataInterface } from './common.interface';
2
+ import { ProductPricingInterface } from './product-pricing.interface';
2
3
  import * as e from '../enums';
3
4
  export interface BillItemRequestInterface {
4
5
  merchantId?: string;
@@ -34,6 +35,7 @@ export interface BillableItemInterface {
34
35
  nextRetailRenewal?: Date;
35
36
  retailUnitPrice?: number;
36
37
  status?: e.SubscriptionStatus;
38
+ price?: ProductPricingInterface;
37
39
  }
38
40
  export interface CanBillItemRequestInterface {
39
41
  merchantId?: string;
@@ -124,8 +126,12 @@ export interface ListBillableItemsResponseInterface {
124
126
  export interface ListSubscriptionsRequestInterface {
125
127
  filters?: ListSubscriptionsRequestFiltersInterface;
126
128
  pagingOptions?: PagedRequestOptionsInterface;
129
+ projectionFilter?: ListSubscriptionsRequestProjectionFilterInterface;
127
130
  }
128
131
  export interface ListSubscriptionsResponseInterface {
129
132
  subscriptions?: BillableItemInterface[];
130
133
  pagingMetadata?: PagedResponseMetadataInterface;
131
134
  }
135
+ export interface ListSubscriptionsRequestProjectionFilterInterface {
136
+ price?: boolean;
137
+ }
@@ -1,16 +1,19 @@
1
1
  export { ExportResponseInterface, PagedRequestOptionsInterface, PagedResponseMetadataInterface, } from './common.interface';
2
- export { BillItemRequestInterface, BillMultipleItemsRequestInterface, BillMultipleItemsResponseInterface, BillableItemInterface, CanBillItemRequestInterface, CreateUsageRequestInterface, BillableItemCustomerAddressInterface, DeleteBillableItemRequestInterface, ExpireBillableItemRequestInterface, ExportSubscriptionsRequestInterface, ListSubscriptionsRequestFiltersInterface, ListBillableItemsRequestFiltersInterface, GetBillableItemRequestInterface, GetBillableItemResponseInterface, GetMultiSubscriptionsRequestInterface, GetMultiSubscriptionsResponseInterface, ItemInterface, GetMultiSubscriptionsRequestKeyInterface, ListBillableItemsRequestInterface, ListBillableItemsResponseInterface, ListSubscriptionsRequestInterface, ListSubscriptionsResponseInterface, } from './billable-item.interface';
2
+ export { CommitmentInterface, } from './commitment.interface';
3
+ export { AppliedFeeInterface, FeeInterface, } from './fee.interface';
4
+ export { FieldMaskInterface, } from './field-mask.interface';
5
+ export { ComponentPricingInterface, CreatePricingPlanRequestInterface, CreatePricingPlanResponseInterface, GetMultiPricingPlanRequestInterface, GetMultiPricingPlanResponseInterface, PricingPlanInterface, PricingPlanProductPricingInterface, ProductPricingRuleInterface, UpdatePricingPlanRequestInterface, UpdatePricingPlanResponseInterface, } from './pricing-plan.interface';
6
+ export { ProductPricesInterface, ProductPricingInterface, WholesaleCostItemRequestInterface, } from './product-pricing.interface';
7
+ export { BillItemRequestInterface, BillMultipleItemsRequestInterface, BillMultipleItemsResponseInterface, BillableItemInterface, CanBillItemRequestInterface, CreateUsageRequestInterface, BillableItemCustomerAddressInterface, DeleteBillableItemRequestInterface, ExpireBillableItemRequestInterface, ExportSubscriptionsRequestInterface, ListSubscriptionsRequestFiltersInterface, ListBillableItemsRequestFiltersInterface, GetBillableItemRequestInterface, GetBillableItemResponseInterface, GetMultiSubscriptionsRequestInterface, GetMultiSubscriptionsResponseInterface, ItemInterface, GetMultiSubscriptionsRequestKeyInterface, ListBillableItemsRequestInterface, ListBillableItemsResponseInterface, ListSubscriptionsRequestInterface, ListSubscriptionsResponseInterface, ListSubscriptionsRequestProjectionFilterInterface, } from './billable-item.interface';
3
8
  export { AppliedDiscountInterface, } from './applied-discount.interface';
4
9
  export { BundleInterface, BundleItemInterface, BundlePricingInterface, GetMultiBundleResponseBundlesEntryInterface, ListBundlesRequestFiltersInterface, GetMultiBundleRequestInterface, GetMultiBundleResponseInterface, ListBundlesRequestInterface, ListBundlesResponseInterface, BundleItemPriceInterface, BundlePricingPriceAndFrequencyInterface, UpsertBundleRequestInterface, } from './bundle.interface';
5
- export { CommitmentInterface, } from './commitment.interface';
6
10
  export { ContractInterface, GetMultiContractsResponseContractsEntryInterface, CreateContractRequestInterface, CreateContractResponseInterface, GetContractRequestInterface, GetContractResponseInterface, GetMultiContractsRequestInterface, GetMultiContractsResponseInterface, ListContractsRequestInterface, ListContractsResponseInterface, UpdateContractRequestMutationInterface, ResetContractPricingRequestInterface, UpdateContractRequestInterface, UpdateContractResponseInterface, UpdateContractSubscriptionRequestInterface, } from './contract.interface';
7
11
  export { CustomerSummaryInterface, GetMultiCustomerSummariesRequestInterface, GetMultiCustomerSummariesResponseInterface, } from './customer-summary.interface';
8
12
  export { BankAccountInterface, CreateStripeExternalAccountRequestInterface, DeleteBankAccountRequestInterface, ListBankAccountsRequestInterface, ListBankAccountsResponseInterface, SetDefaultBankAccountRequestInterface, } from './external-account.interface';
9
13
  export { ProductSummaryDiscountInterface, ListSubscriptionRetentionRequestFiltersInterface, GetProductSummariesTotalRequestInterface, GetProductSummariesTotalResponseInterface, ListProductSummariesRequestInterface, ListProductSummariesResponseInterface, ListSubscriptionRetentionByGroupResponseInterface, ListSubscriptionRetentionBySKUResponseInterface, ListSubscriptionRetentionRequestInterface, PricingInterface, ProductSummaryInterface, RetentionMetricsInterface, PricingRuleInterface, ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroupInterface, } from './product-summary.interface';
10
14
  export { CreateDiscountRequestInterface, DiscountInterface, ExpireDiscountRequestInterface, ListDiscountsRequestFiltersInterface, ListDiscountsRequestInterface, ListDiscountsResponseInterface, UpdateDiscountRequestInterface, } from './discount.interface';
11
15
  export { AppliedTaxRateInterface, } from './applied-tax-rate.interface';
12
- export { FieldMaskInterface, } from './field-mask.interface';
13
- export { ArchiveTaxRequestInterface, CalculateTaxRequestInterface, CalculateTaxResponseInterface, CreateTaxRequestInterface, ListTaxRequestFiltersInterface, GetMultiTaxRequestInterface, GetMultiTaxResponseInterface, ListTaxRequestInterface, ListTaxResponseInterface, TaxRateInterface, UpdateTaxRequestInterface, } from './tax-rate.interface';
16
+ export { ArchiveTaxRequestInterface, CalculateLineItemTaxesRequestInterface, CalculateLineItemTaxesResponseInterface, CalculateTaxRequestInterface, CalculateTaxResponseInterface, CreateTaxRequestInterface, ListTaxRequestFiltersInterface, GetMultiTaxRequestInterface, GetMultiTaxResponseInterface, CalculateLineItemTaxesRequestLineItemInterface, CalculateLineItemTaxesResponseLineItemTaxesInterface, ListTaxRequestInterface, ListTaxResponseInterface, TaxRateInterface, UpdateTaxRequestInterface, } from './tax-rate.interface';
14
17
  export { AppliedBundleInterface, AppliedBundleItemInterface, } from './applied-bundle.interface';
15
18
  export { AddBundleRequestInterface, AddBundleResponseInterface, AddLineItemRequestInterface, AddLineItemResponseInterface, ChargeInvoiceRequestInterface, CreateInvoiceRequestInterface, CreateInvoiceResponseInterface, CreatePaymentLinkRequestInterface, CreatePaymentLinkResponseInterface, InvoiceCustomerAddressInterface, ListInvoicesRequestFiltersDateFilterInterface, DeleteInvoiceRequestInterface, DeleteLineItemRequestInterface, DeleteLineItemResponseInterface, DuplicateInvoiceRequestInterface, DuplicateInvoiceResponseInterface, ListInvoicesRequestFiltersInterface, GetInvoiceRequestInterface, GetInvoiceResponseInterface, InvoiceInterface, InvoiceItemInterface, ListInvoicesRequestInterface, ListInvoicesResponseInterface, PayInvoiceRequestInterface, PaymentLinkItemInterface, RemoveBundleRequestInterface, RemoveBundleResponseInterface, SendInvoiceRequestInterface, UpdateBundleRequestInterface, UpdateBundleResponseInterface, UpdateDefaultTaxRatesRequestInterface, UpdateDefaultTaxRatesResponseInterface, UpdateInvoiceRequestInterface, UpdateInvoiceResponseInterface, UpdateLineItemRequestInterface, UpdateLineItemResponseInterface, VoidInvoiceRequestInterface, } from './invoice.interface';
16
19
  export { AccountBalanceInterface, BalanceInterface, BalanceAmountInterface, } from './balance.interface';
@@ -21,11 +24,8 @@ export { ListMerchantBillingReportsRequestInterface, ListMerchantBillingReportsR
21
24
  export { CreateMeteredComponentRequestInterface, MeteredComponentInterface, TickComponentUsageRequestInterface, } from './metered-component.interface';
22
25
  export { AdjustmentInterface, RetailPaymentCardDetailsInterface, CloseRetailDisputeRequestInterface, ConfigureRetailPaymentProviderRequestInterface, ConfigureRetailPaymentProviderResponseInterface, ConfirmRetailPaymentRequestInterface, DisputeInterface, DisputeEvidenceInterface, SubmitEvidenceRequestDisputeEvidenceInterface, DisputeEvidenceDetailsInterface, FileInterface, GetRetailDisputeRequestInterface, GetRetailDisputeResponseInterface, GetRetailPaymentProviderRequestInterface, GetRetailPaymentProviderResponseInterface, GetRetailPaymentRequestInterface, GetRetailPaymentResponseInterface, GetWholesaleProviderPublicKeyRequestInterface, GetWholesaleProviderPublicKeyResponseInterface, ListPaymentRequestListPaymentFiltersInterface, ListPaymentRequestInterface, ListPaymentResponseInterface, ListRetailDisputesRequestInterface, ListRetailDisputesResponseInterface, ListRetailPaymentsRequestListRetailPaymentsFiltersInterface, ListRetailPaymentsRequestInterface, ListRetailPaymentsResponseInterface, ListRetailTransactionsRequestListRetailTransactionsFiltersInterface, ListRetailTransactionsRequestInterface, ListRetailTransactionsResponseInterface, PrepareRetailPaymentRequestOrderInterface, PaymentInterface, PaymentPaymentAllocationInterface, PrepareRetailPaymentRequestInterface, PrepareRetailPaymentResponseInterface, RefundRetailPaymentRequestInterface, RefundRetailPaymentResponseInterface, RetailPaymentInterface, RetailPaymentsEnabledRequestInterface, RetailPaymentsEnabledResponseInterface, RetailRefundInterface, RetailStatusRequestInterface, RetailStatusResponseInterface, RetailTransactionInterface, SubmitEvidenceRequestInterface, UpdateRetailPaymentProviderRequestInterface, RetailStatusResponseVerificationErrorInterface, RetailStatusResponseVerificationRequirementsInterface, } from './payment.interface';
23
26
  export { CreatePaymentCardRequestInterface, DeletePaymentCardRequestInterface, ListPaymentCardsRequestInterface, ListPaymentCardsResponseInterface, PaymentCardInterface, SetDefaultPaymentMethodRequestInterface, UpdatePaymentCardRequestInterface, } from './payment-card.interface';
24
- export { AppliedFeeInterface, FeeInterface, } from './fee.interface';
25
- export { ComponentPricingInterface, CreatePricingPlanRequestInterface, CreatePricingPlanResponseInterface, GetMultiPricingPlanRequestInterface, GetMultiPricingPlanResponseInterface, PricingPlanInterface, PricingPlanProductPricingInterface, ProductPricingRuleInterface, UpdatePricingPlanRequestInterface, UpdatePricingPlanResponseInterface, } from './pricing-plan.interface';
26
27
  export { CreatePricingPlanProductRequestInterface, CreatePricingPlanProductResponseInterface, DeletePricingPlanProductRequestInterface, GetMultiPricingPlanProductRequestInterface, GetMultiPricingPlanProductResponseInterface, GetPricingPlanProductRequestInterface, GetPricingPlanProductResponseInterface, ListPricingPlanProductsRequestListPricingPlanProductsFiltersInterface, ListPricingPlanProductsRequestInterface, ListPricingPlanProductsResponseInterface, PricingPlanProductPricingEntryInterface, CreatePricingPlanProductRequestPricingEntryInterface, UpdatePricingPlanProductRequestPricingEntryInterface, PricingPlanProductInterface, UpdatePricingPlanProductRequestInterface, UpdatePricingPlanProductResponseInterface, UpsertWholesalePricingRequestInterface, } from './pricing-plan-product.interface';
27
28
  export { CreateProductRequestInterface, DeleteProductRequestInterface, GetMultiProductRequestInterface, GetMultiProductResponseInterface, ListProductsRequestListProductsFiltersInterface, ListProductsRequestInterface, ListProductsResponseInterface, ProductInterface, GetMultiProductResponseProductsEntryInterface, UpdateProductRequestInterface, } from './product.interface';
28
- export { ProductPricesInterface, ProductPricingInterface, WholesaleCostItemRequestInterface, } from './product-pricing.interface';
29
29
  export { AppliedCreditInterface, ListPurchaseRequestListPurchaseBillingStrategyFilterInterface, ListPurchaseRequestListPurchaseFiltersInterface, ListPurchaseItemsRequestListPurchaseItemsFiltersInterface, ListPurchaseItemsRequestInterface, ListPurchaseItemsResponseInterface, ListPurchaseRequestInterface, ListPurchaseResponseInterface, PauseDunningRequestInterface, PurchaseInterface, PurchaseItemInterface, ResumeDunningRequestInterface, RetryPurchaseRequestInterface, StopDunningRequestInterface, VoidPurchaseRequestInterface, } from './purchase.interface';
30
30
  export { CreateRefundRequestInterface, ListRefundsRequestInterface, ListRefundsResponseInterface, RefundInterface, } from './refund.interface';
31
31
  export { CreateSalesCreditNoteRequestInterface, ListSalesCreditNoteRequestListSalesCreditNoteFiltersInterface, ListSalesCreditNoteRequestInterface, ListSalesCreditNoteResponseInterface, SalesCreditNoteInterface, } from './sales-credit-note.interface';
@@ -35,7 +35,6 @@ export { AlignmentSubscriptionInterface, CanCreateSubscriptionsRequestInterface,
35
35
  export { ContractDocumentInterface, DeleteContractDocumentRequestInterface, ListContractDocumentsRequestFiltersInterface, ListContractDocumentsRequestInterface, ListContractDocumentsResponseInterface, } from './contract-document.interface';
36
36
  export { GetRetailCustomerConfigurationRequestInterface, GetRetailCustomerConfigurationResponseInterface, RetailCustomerConfigurationInterface, UpsertRetailCustomerConfigurationRequestInterface, } from './retail-customer-configuration.interface';
37
37
  export { AddCreditRequestInterface, CreditBalanceInterface, GetBalanceRequestInterface, GetBalanceResponseInterface, } from './credit.interface';
38
- export { AddTemplateBundleRequestInterface, AddTemplateBundleResponseInterface, AddTemplateLineItemRequestInterface, AddTemplateLineItemResponseInterface, CreateTemplateRequestInterface, CreateTemplateResponseInterface, DeleteInvoiceTemplateRequestInterface, DeleteTemplateLineItemRequestInterface, DeleteTemplateLineItemResponseInterface, GetInvoiceTemplateRequestInterface, GetInvoiceTemplateResponseInterface, InvoiceTemplateInterface, InvoiceTemplateItemInterface, UpsertInvoiceTemplateRequestInvoiceTemplateItemRequestInterface, UpdateTemplateBundleRequestInterface, UpdateTemplateBundleResponseInterface, UpdateTemplateDefaultTaxRatesRequestInterface, UpdateTemplateDefaultTaxRatesResponseInterface, UpdateTemplateLineItemRequestInterface, UpdateTemplateLineItemResponseInterface, UpsertInvoiceTemplateRequestInterface, UpsertInvoiceTemplateResponseInterface, } from './invoice-template.interface';
39
38
  export { RecurringInvoiceCustomerAddressInterface, ListRecurringInvoicesFiltersDateFilterInterface, DeleteRecurringInvoiceRequestInterface, ListRecurringInvoicesFiltersDetailedIntervalInterface, GetRecurringInvoiceRequestInterface, ListRecurringInvoicesFiltersInterface, ListRecurringInvoicesRequestInterface, ListRecurringInvoicesResponseInterface, RecurringInvoiceInterface, RecurringInvoiceBundleInterface, RecurringInvoiceItemInterface, RecurringInvoiceLineItemInterface, UpdateRecurringInvoiceRequestInterface, } from './recurring-invoice.interface';
40
39
  export { CreateMerchantServicesReportRunInterface, GetMerchantServicesReportRunInterface, MerchantServicesReportRunInterface, } from './report-run.interface';
41
40
  export { AccessInterface, } from './annotations.interface';
@@ -3,6 +3,16 @@ export interface ArchiveTaxRequestInterface {
3
3
  merchantId?: string;
4
4
  id?: string;
5
5
  }
6
+ export interface CalculateLineItemTaxesRequestInterface {
7
+ merchantId?: string;
8
+ customerId?: string;
9
+ lineItems?: CalculateLineItemTaxesRequestLineItemInterface[];
10
+ }
11
+ export interface CalculateLineItemTaxesResponseInterface {
12
+ lineItemTaxes?: CalculateLineItemTaxesResponseLineItemTaxesInterface[];
13
+ totalTaxableAmount?: number;
14
+ taxRates?: TaxRateInterface[];
15
+ }
6
16
  export interface CalculateTaxRequestInterface {
7
17
  merchantId?: string;
8
18
  customerId?: string;
@@ -32,6 +42,14 @@ export interface GetMultiTaxRequestInterface {
32
42
  export interface GetMultiTaxResponseInterface {
33
43
  taxRates?: TaxRateInterface[];
34
44
  }
45
+ export interface CalculateLineItemTaxesRequestLineItemInterface {
46
+ sku?: string;
47
+ amount?: number;
48
+ }
49
+ export interface CalculateLineItemTaxesResponseLineItemTaxesInterface {
50
+ sku?: string;
51
+ taxableAmount?: number;
52
+ }
35
53
  export interface ListTaxRequestInterface {
36
54
  filters?: ListTaxRequestFiltersInterface;
37
55
  pagingOptions?: PagedRequestOptionsInterface;
@@ -1,5 +1,6 @@
1
1
  import * as i from '../interfaces';
2
2
  import { PagedRequestOptions, PagedResponseMetadata } from './common';
3
+ import { ProductPricing } from './product-pricing';
3
4
  import * as e from '../enums';
4
5
  export declare function enumStringToValue<E>(enumRef: any, value: string): E;
5
6
  export declare class BillItemRequest implements i.BillItemRequestInterface {
@@ -45,6 +46,7 @@ export declare class BillableItem implements i.BillableItemInterface {
45
46
  nextRetailRenewal: Date;
46
47
  retailUnitPrice: number;
47
48
  status: e.SubscriptionStatus;
49
+ price: ProductPricing;
48
50
  static fromProto(proto: any): BillableItem;
49
51
  constructor(kwargs?: i.BillableItemInterface);
50
52
  toApiJson(): object;
@@ -186,6 +188,7 @@ export declare class ListBillableItemsResponse implements i.ListBillableItemsRes
186
188
  export declare class ListSubscriptionsRequest implements i.ListSubscriptionsRequestInterface {
187
189
  filters: ListSubscriptionsRequestFilters;
188
190
  pagingOptions: PagedRequestOptions;
191
+ projectionFilter: ListSubscriptionsRequestProjectionFilter;
189
192
  static fromProto(proto: any): ListSubscriptionsRequest;
190
193
  constructor(kwargs?: i.ListSubscriptionsRequestInterface);
191
194
  toApiJson(): object;
@@ -197,3 +200,9 @@ export declare class ListSubscriptionsResponse implements i.ListSubscriptionsRes
197
200
  constructor(kwargs?: i.ListSubscriptionsResponseInterface);
198
201
  toApiJson(): object;
199
202
  }
203
+ export declare class ListSubscriptionsRequestProjectionFilter implements i.ListSubscriptionsRequestProjectionFilterInterface {
204
+ price: boolean;
205
+ static fromProto(proto: any): ListSubscriptionsRequestProjectionFilter;
206
+ constructor(kwargs?: i.ListSubscriptionsRequestProjectionFilterInterface);
207
+ toApiJson(): object;
208
+ }
@@ -1,16 +1,19 @@
1
1
  export { ExportResponse, PagedRequestOptions, PagedResponseMetadata, } from './common';
2
- export { BillItemRequest, BillMultipleItemsRequest, BillMultipleItemsResponse, BillableItem, CanBillItemRequest, CreateUsageRequest, BillableItemCustomerAddress, DeleteBillableItemRequest, ExpireBillableItemRequest, ExportSubscriptionsRequest, ListSubscriptionsRequestFilters, ListBillableItemsRequestFilters, GetBillableItemRequest, GetBillableItemResponse, GetMultiSubscriptionsRequest, GetMultiSubscriptionsResponse, Item, GetMultiSubscriptionsRequestKey, ListBillableItemsRequest, ListBillableItemsResponse, ListSubscriptionsRequest, ListSubscriptionsResponse, } from './billable-item';
2
+ export { Commitment, } from './commitment';
3
+ export { AppliedFee, Fee, } from './fee';
4
+ export { FieldMask, } from './field-mask';
5
+ export { ComponentPricing, CreatePricingPlanRequest, CreatePricingPlanResponse, GetMultiPricingPlanRequest, GetMultiPricingPlanResponse, PricingPlan, PricingPlanProductPricing, ProductPricingRule, UpdatePricingPlanRequest, UpdatePricingPlanResponse, } from './pricing-plan';
6
+ export { ProductPrices, ProductPricing, WholesaleCostItemRequest, } from './product-pricing';
7
+ export { BillItemRequest, BillMultipleItemsRequest, BillMultipleItemsResponse, BillableItem, CanBillItemRequest, CreateUsageRequest, BillableItemCustomerAddress, DeleteBillableItemRequest, ExpireBillableItemRequest, ExportSubscriptionsRequest, ListSubscriptionsRequestFilters, ListBillableItemsRequestFilters, GetBillableItemRequest, GetBillableItemResponse, GetMultiSubscriptionsRequest, GetMultiSubscriptionsResponse, Item, GetMultiSubscriptionsRequestKey, ListBillableItemsRequest, ListBillableItemsResponse, ListSubscriptionsRequest, ListSubscriptionsResponse, ListSubscriptionsRequestProjectionFilter, } from './billable-item';
3
8
  export { AppliedDiscount, } from './applied-discount';
4
9
  export { Bundle, BundleItem, BundlePricing, GetMultiBundleResponseBundlesEntry, ListBundlesRequestFilters, GetMultiBundleRequest, GetMultiBundleResponse, ListBundlesRequest, ListBundlesResponse, BundleItemPrice, BundlePricingPriceAndFrequency, UpsertBundleRequest, } from './bundle';
5
- export { Commitment, } from './commitment';
6
10
  export { Contract, GetMultiContractsResponseContractsEntry, CreateContractRequest, CreateContractResponse, GetContractRequest, GetContractResponse, GetMultiContractsRequest, GetMultiContractsResponse, ListContractsRequest, ListContractsResponse, UpdateContractRequestMutation, ResetContractPricingRequest, UpdateContractRequest, UpdateContractResponse, UpdateContractSubscriptionRequest, } from './contract';
7
11
  export { CustomerSummary, GetMultiCustomerSummariesRequest, GetMultiCustomerSummariesResponse, } from './customer-summary';
8
12
  export { BankAccount, CreateStripeExternalAccountRequest, DeleteBankAccountRequest, ListBankAccountsRequest, ListBankAccountsResponse, SetDefaultBankAccountRequest, } from './external-account';
9
13
  export { ProductSummaryDiscount, ListSubscriptionRetentionRequestFilters, GetProductSummariesTotalRequest, GetProductSummariesTotalResponse, ListProductSummariesRequest, ListProductSummariesResponse, ListSubscriptionRetentionByGroupResponse, ListSubscriptionRetentionBySKUResponse, ListSubscriptionRetentionRequest, Pricing, ProductSummary, RetentionMetrics, PricingRule, ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup, } from './product-summary';
10
14
  export { CreateDiscountRequest, Discount, ExpireDiscountRequest, ListDiscountsRequestFilters, ListDiscountsRequest, ListDiscountsResponse, UpdateDiscountRequest, } from './discount';
11
15
  export { AppliedTaxRate, } from './applied-tax-rate';
12
- export { FieldMask, } from './field-mask';
13
- export { ArchiveTaxRequest, CalculateTaxRequest, CalculateTaxResponse, CreateTaxRequest, ListTaxRequestFilters, GetMultiTaxRequest, GetMultiTaxResponse, ListTaxRequest, ListTaxResponse, TaxRate, UpdateTaxRequest, } from './tax-rate';
16
+ export { ArchiveTaxRequest, CalculateLineItemTaxesRequest, CalculateLineItemTaxesResponse, CalculateTaxRequest, CalculateTaxResponse, CreateTaxRequest, ListTaxRequestFilters, GetMultiTaxRequest, GetMultiTaxResponse, CalculateLineItemTaxesRequestLineItem, CalculateLineItemTaxesResponseLineItemTaxes, ListTaxRequest, ListTaxResponse, TaxRate, UpdateTaxRequest, } from './tax-rate';
14
17
  export { AppliedBundle, AppliedBundleItem, } from './applied-bundle';
15
18
  export { AddBundleRequest, AddBundleResponse, AddLineItemRequest, AddLineItemResponse, ChargeInvoiceRequest, CreateInvoiceRequest, CreateInvoiceResponse, CreatePaymentLinkRequest, CreatePaymentLinkResponse, InvoiceCustomerAddress, ListInvoicesRequestFiltersDateFilter, DeleteInvoiceRequest, DeleteLineItemRequest, DeleteLineItemResponse, DuplicateInvoiceRequest, DuplicateInvoiceResponse, ListInvoicesRequestFilters, GetInvoiceRequest, GetInvoiceResponse, Invoice, InvoiceItem, ListInvoicesRequest, ListInvoicesResponse, PayInvoiceRequest, PaymentLinkItem, RemoveBundleRequest, RemoveBundleResponse, SendInvoiceRequest, UpdateBundleRequest, UpdateBundleResponse, UpdateDefaultTaxRatesRequest, UpdateDefaultTaxRatesResponse, UpdateInvoiceRequest, UpdateInvoiceResponse, UpdateLineItemRequest, UpdateLineItemResponse, VoidInvoiceRequest, } from './invoice';
16
19
  export { AccountBalance, Balance, BalanceAmount, } from './balance';
@@ -21,11 +24,8 @@ export { ListMerchantBillingReportsRequest, ListMerchantBillingReportsResponse,
21
24
  export { CreateMeteredComponentRequest, MeteredComponent, TickComponentUsageRequest, } from './metered-component';
22
25
  export { Adjustment, RetailPaymentCardDetails, CloseRetailDisputeRequest, ConfigureRetailPaymentProviderRequest, ConfigureRetailPaymentProviderResponse, ConfirmRetailPaymentRequest, Dispute, DisputeEvidence, SubmitEvidenceRequestDisputeEvidence, DisputeEvidenceDetails, File, GetRetailDisputeRequest, GetRetailDisputeResponse, GetRetailPaymentProviderRequest, GetRetailPaymentProviderResponse, GetRetailPaymentRequest, GetRetailPaymentResponse, GetWholesaleProviderPublicKeyRequest, GetWholesaleProviderPublicKeyResponse, ListPaymentRequestListPaymentFilters, ListPaymentRequest, ListPaymentResponse, ListRetailDisputesRequest, ListRetailDisputesResponse, ListRetailPaymentsRequestListRetailPaymentsFilters, ListRetailPaymentsRequest, ListRetailPaymentsResponse, ListRetailTransactionsRequestListRetailTransactionsFilters, ListRetailTransactionsRequest, ListRetailTransactionsResponse, PrepareRetailPaymentRequestOrder, Payment, PaymentPaymentAllocation, PrepareRetailPaymentRequest, PrepareRetailPaymentResponse, RefundRetailPaymentRequest, RefundRetailPaymentResponse, RetailPayment, RetailPaymentsEnabledRequest, RetailPaymentsEnabledResponse, RetailRefund, RetailStatusRequest, RetailStatusResponse, RetailTransaction, SubmitEvidenceRequest, UpdateRetailPaymentProviderRequest, RetailStatusResponseVerificationError, RetailStatusResponseVerificationRequirements, } from './payment';
23
26
  export { CreatePaymentCardRequest, DeletePaymentCardRequest, ListPaymentCardsRequest, ListPaymentCardsResponse, PaymentCard, SetDefaultPaymentMethodRequest, UpdatePaymentCardRequest, } from './payment-card';
24
- export { AppliedFee, Fee, } from './fee';
25
- export { ComponentPricing, CreatePricingPlanRequest, CreatePricingPlanResponse, GetMultiPricingPlanRequest, GetMultiPricingPlanResponse, PricingPlan, PricingPlanProductPricing, ProductPricingRule, UpdatePricingPlanRequest, UpdatePricingPlanResponse, } from './pricing-plan';
26
27
  export { CreatePricingPlanProductRequest, CreatePricingPlanProductResponse, DeletePricingPlanProductRequest, GetMultiPricingPlanProductRequest, GetMultiPricingPlanProductResponse, GetPricingPlanProductRequest, GetPricingPlanProductResponse, ListPricingPlanProductsRequestListPricingPlanProductsFilters, ListPricingPlanProductsRequest, ListPricingPlanProductsResponse, PricingPlanProductPricingEntry, CreatePricingPlanProductRequestPricingEntry, UpdatePricingPlanProductRequestPricingEntry, PricingPlanProduct, UpdatePricingPlanProductRequest, UpdatePricingPlanProductResponse, UpsertWholesalePricingRequest, } from './pricing-plan-product';
27
28
  export { CreateProductRequest, DeleteProductRequest, GetMultiProductRequest, GetMultiProductResponse, ListProductsRequestListProductsFilters, ListProductsRequest, ListProductsResponse, Product, GetMultiProductResponseProductsEntry, UpdateProductRequest, } from './product';
28
- export { ProductPrices, ProductPricing, WholesaleCostItemRequest, } from './product-pricing';
29
29
  export { AppliedCredit, ListPurchaseRequestListPurchaseBillingStrategyFilter, ListPurchaseRequestListPurchaseFilters, ListPurchaseItemsRequestListPurchaseItemsFilters, ListPurchaseItemsRequest, ListPurchaseItemsResponse, ListPurchaseRequest, ListPurchaseResponse, PauseDunningRequest, Purchase, PurchaseItem, ResumeDunningRequest, RetryPurchaseRequest, StopDunningRequest, VoidPurchaseRequest, } from './purchase';
30
30
  export { CreateRefundRequest, ListRefundsRequest, ListRefundsResponse, Refund, } from './refund';
31
31
  export { CreateSalesCreditNoteRequest, ListSalesCreditNoteRequestListSalesCreditNoteFilters, ListSalesCreditNoteRequest, ListSalesCreditNoteResponse, SalesCreditNote, } from './sales-credit-note';
@@ -35,7 +35,6 @@ export { AlignmentSubscription, CanCreateSubscriptionsRequest, CanCreateSubscrip
35
35
  export { ContractDocument, DeleteContractDocumentRequest, ListContractDocumentsRequestFilters, ListContractDocumentsRequest, ListContractDocumentsResponse, } from './contract-document';
36
36
  export { GetRetailCustomerConfigurationRequest, GetRetailCustomerConfigurationResponse, RetailCustomerConfiguration, UpsertRetailCustomerConfigurationRequest, } from './retail-customer-configuration';
37
37
  export { AddCreditRequest, CreditBalance, GetBalanceRequest, GetBalanceResponse, } from './credit';
38
- export { AddTemplateBundleRequest, AddTemplateBundleResponse, AddTemplateLineItemRequest, AddTemplateLineItemResponse, CreateTemplateRequest, CreateTemplateResponse, DeleteInvoiceTemplateRequest, DeleteTemplateLineItemRequest, DeleteTemplateLineItemResponse, GetInvoiceTemplateRequest, GetInvoiceTemplateResponse, InvoiceTemplate, InvoiceTemplateItem, UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest, UpdateTemplateBundleRequest, UpdateTemplateBundleResponse, UpdateTemplateDefaultTaxRatesRequest, UpdateTemplateDefaultTaxRatesResponse, UpdateTemplateLineItemRequest, UpdateTemplateLineItemResponse, UpsertInvoiceTemplateRequest, UpsertInvoiceTemplateResponse, } from './invoice-template';
39
38
  export { RecurringInvoiceCustomerAddress, ListRecurringInvoicesFiltersDateFilter, DeleteRecurringInvoiceRequest, ListRecurringInvoicesFiltersDetailedInterval, GetRecurringInvoiceRequest, ListRecurringInvoicesFilters, ListRecurringInvoicesRequest, ListRecurringInvoicesResponse, RecurringInvoice, RecurringInvoiceBundle, RecurringInvoiceItem, RecurringInvoiceLineItem, UpdateRecurringInvoiceRequest, } from './recurring-invoice';
40
39
  export { CreateMerchantServicesReportRun, GetMerchantServicesReportRun, MerchantServicesReportRun, } from './report-run';
41
40
  export { Access, } from './annotations';
@@ -8,6 +8,22 @@ export declare class ArchiveTaxRequest implements i.ArchiveTaxRequestInterface {
8
8
  constructor(kwargs?: i.ArchiveTaxRequestInterface);
9
9
  toApiJson(): object;
10
10
  }
11
+ export declare class CalculateLineItemTaxesRequest implements i.CalculateLineItemTaxesRequestInterface {
12
+ merchantId: string;
13
+ customerId: string;
14
+ lineItems: CalculateLineItemTaxesRequestLineItem[];
15
+ static fromProto(proto: any): CalculateLineItemTaxesRequest;
16
+ constructor(kwargs?: i.CalculateLineItemTaxesRequestInterface);
17
+ toApiJson(): object;
18
+ }
19
+ export declare class CalculateLineItemTaxesResponse implements i.CalculateLineItemTaxesResponseInterface {
20
+ lineItemTaxes: CalculateLineItemTaxesResponseLineItemTaxes[];
21
+ totalTaxableAmount: number;
22
+ taxRates: TaxRate[];
23
+ static fromProto(proto: any): CalculateLineItemTaxesResponse;
24
+ constructor(kwargs?: i.CalculateLineItemTaxesResponseInterface);
25
+ toApiJson(): object;
26
+ }
11
27
  export declare class CalculateTaxRequest implements i.CalculateTaxRequestInterface {
12
28
  merchantId: string;
13
29
  customerId: string;
@@ -55,6 +71,20 @@ export declare class GetMultiTaxResponse implements i.GetMultiTaxResponseInterfa
55
71
  constructor(kwargs?: i.GetMultiTaxResponseInterface);
56
72
  toApiJson(): object;
57
73
  }
74
+ export declare class CalculateLineItemTaxesRequestLineItem implements i.CalculateLineItemTaxesRequestLineItemInterface {
75
+ sku: string;
76
+ amount: number;
77
+ static fromProto(proto: any): CalculateLineItemTaxesRequestLineItem;
78
+ constructor(kwargs?: i.CalculateLineItemTaxesRequestLineItemInterface);
79
+ toApiJson(): object;
80
+ }
81
+ export declare class CalculateLineItemTaxesResponseLineItemTaxes implements i.CalculateLineItemTaxesResponseLineItemTaxesInterface {
82
+ sku: string;
83
+ taxableAmount: number;
84
+ static fromProto(proto: any): CalculateLineItemTaxesResponseLineItemTaxes;
85
+ constructor(kwargs?: i.CalculateLineItemTaxesResponseLineItemTaxesInterface);
86
+ toApiJson(): object;
87
+ }
58
88
  export declare class ListTaxRequest implements i.ListTaxRequestInterface {
59
89
  filters: ListTaxRequestFilters;
60
90
  pagingOptions: PagedRequestOptions;
@@ -1,5 +1,5 @@
1
- import { ArchiveTaxRequest, CalculateTaxRequest, CalculateTaxResponse, CreateTaxRequest, GetMultiTaxRequest, GetMultiTaxResponse, ListTaxRequest, ListTaxResponse, UpdateTaxRequest } from './objects/';
2
- import { ArchiveTaxRequestInterface, CalculateTaxRequestInterface, CreateTaxRequestInterface, GetMultiTaxRequestInterface, ListTaxRequestInterface, UpdateTaxRequestInterface } from './interfaces/';
1
+ import { ArchiveTaxRequest, CalculateLineItemTaxesRequest, CalculateLineItemTaxesResponse, CalculateTaxRequest, CalculateTaxResponse, CreateTaxRequest, GetMultiTaxRequest, GetMultiTaxResponse, ListTaxRequest, ListTaxResponse, UpdateTaxRequest } from './objects/';
2
+ import { ArchiveTaxRequestInterface, CalculateLineItemTaxesRequestInterface, CalculateTaxRequestInterface, CreateTaxRequestInterface, GetMultiTaxRequestInterface, ListTaxRequestInterface, UpdateTaxRequestInterface } from './interfaces/';
3
3
  import { HttpClient, HttpResponse } from '@angular/common/http';
4
4
  import { HostService } from '../_generated/host.service';
5
5
  import { Observable } from 'rxjs';
@@ -11,6 +11,7 @@ export declare class TaxApiService {
11
11
  constructor(http: HttpClient, hostService: HostService);
12
12
  private apiOptions;
13
13
  calculate(r: CalculateTaxRequest | CalculateTaxRequestInterface): Observable<CalculateTaxResponse>;
14
+ calculateLineItems(r: CalculateLineItemTaxesRequest | CalculateLineItemTaxesRequestInterface): Observable<CalculateLineItemTaxesResponse>;
14
15
  create(r: CreateTaxRequest | CreateTaxRequestInterface): Observable<HttpResponse<null>>;
15
16
  getMulti(r: GetMultiTaxRequest | GetMultiTaxRequestInterface): Observable<GetMultiTaxResponse>;
16
17
  update(r: UpdateTaxRequest | UpdateTaxRequestInterface): Observable<HttpResponse<null>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendasta/billing",
3
- "version": "11.10.0",
3
+ "version": "12.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.1.0",
6
6
  "@angular/core": "^15.1.0"
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS10ZW1wbGF0ZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9pbnRlcmZhY2VzL2ludm9pY2UtdGVtcGxhdGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7IEFwcGxpZWRCdW5kbGVJbnRlcmZhY2UgfSBmcm9tICcuL2FwcGxpZWQtYnVuZGxlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsaWVkRGlzY291bnRJbnRlcmZhY2UgfSBmcm9tICcuL2FwcGxpZWQtZGlzY291bnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxpZWRUYXhSYXRlSW50ZXJmYWNlIH0gZnJvbSAnLi9hcHBsaWVkLXRheC1yYXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYXhSYXRlSW50ZXJmYWNlIH0gZnJvbSAnLi90YXgtcmF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkVGVtcGxhdGVCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgIGN1c3RvbWVySWQ/OiBzdHJpbmc7XG4gICAgYnVuZGxlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkVGVtcGxhdGVCdW5kbGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgaW52b2ljZVRlbXBsYXRlPzogSW52b2ljZVRlbXBsYXRlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZFRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgIGN1c3RvbWVySWQ/OiBzdHJpbmc7XG4gICAgc2t1Pzogc3RyaW5nO1xuICAgIHVuaXRQcmljZT86IG51bWJlcjtcbiAgICBxdWFudGl0eT86IG51bWJlcjtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB0YXhSYXRlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZFRlbXBsYXRlTGluZUl0ZW1SZXNwb25zZUludGVyZmFjZSB7XG4gICAgaW52b2ljZVRlbXBsYXRlPzogSW52b2ljZVRlbXBsYXRlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVyY2hhbnRJZD86IHN0cmluZztcbiAgICBjdXN0b21lcklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGludm9pY2VUZW1wbGF0ZT86IEludm9pY2VUZW1wbGF0ZUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgIGN1c3RvbWVySWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlVGVtcGxhdGVMaW5lSXRlbVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lcmNoYW50SWQ/OiBzdHJpbmc7XG4gICAgY3VzdG9tZXJJZD86IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVUZW1wbGF0ZUxpbmVJdGVtUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGludm9pY2VUZW1wbGF0ZT86IEludm9pY2VUZW1wbGF0ZUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgIGN1c3RvbWVySWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0SW52b2ljZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGludm9pY2VUZW1wbGF0ZT86IEludm9pY2VUZW1wbGF0ZUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlVGVtcGxhdGVJbnRlcmZhY2Uge1xuICAgIG1lcmNoYW50SWQ/OiBzdHJpbmc7XG4gICAgY3VzdG9tZXJJZD86IHN0cmluZztcbiAgICBhcHBsaWVkVGF4ZXM/OiBBcHBsaWVkVGF4UmF0ZUludGVyZmFjZVtdO1xuICAgIGl0ZW1zPzogSW52b2ljZVRlbXBsYXRlSXRlbUludGVyZmFjZVtdO1xuICAgIGN1cnJlbmN5PzogZS5DdXJyZW5jeTtcbiAgICB0b3RhbD86IG51bWJlcjtcbiAgICBzdWJ0b3RhbD86IG51bWJlcjtcbiAgICBjcmVhdGVkPzogRGF0ZTtcbiAgICB1cGRhdGVkPzogRGF0ZTtcbiAgICBkZWZhdWx0VGF4UmF0ZXM/OiBUYXhSYXRlSW50ZXJmYWNlW107XG4gICAgYXBwbGllZEJ1bmRsZXM/OiBBcHBsaWVkQnVuZGxlSW50ZXJmYWNlW107XG4gICAgYW1vdW50RGlzY291bnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52b2ljZVRlbXBsYXRlSXRlbUludGVyZmFjZSB7XG4gICAgc2t1Pzogc3RyaW5nO1xuICAgIHVuaXRQcmljZT86IG51bWJlcjtcbiAgICBxdWFudGl0eT86IG51bWJlcjtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB0b3RhbD86IG51bWJlcjtcbiAgICBhcHBsaWVkVGF4ZXM/OiBBcHBsaWVkVGF4UmF0ZUludGVyZmFjZVtdO1xuICAgIHRheFJhdGVzPzogVGF4UmF0ZUludGVyZmFjZVtdO1xuICAgIHN1YnRvdGFsPzogbnVtYmVyO1xuICAgIGJ1bmRsZUlkPzogc3RyaW5nO1xuICAgIGRpc2NvdW50cz86IEFwcGxpZWREaXNjb3VudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VydEludm9pY2VUZW1wbGF0ZVJlcXVlc3RJbnZvaWNlVGVtcGxhdGVJdGVtUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc2t1Pzogc3RyaW5nO1xuICAgIHVuaXRQcmljZT86IG51bWJlcjtcbiAgICBxdWFudGl0eT86IG51bWJlcjtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB0YXhSYXRlcz86IHN0cmluZ1tdO1xuICAgIGJ1bmRsZUlkPzogc3RyaW5nO1xuICAgIGFwcGxpZWREaXNjb3VudHM/OiBBcHBsaWVkRGlzY291bnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVUZW1wbGF0ZUJ1bmRsZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lcmNoYW50SWQ/OiBzdHJpbmc7XG4gICAgY3VzdG9tZXJJZD86IHN0cmluZztcbiAgICBidW5kbGVJZD86IHN0cmluZztcbiAgICBoaWRlQnVuZGxlSXRlbXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVRlbXBsYXRlQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGludm9pY2VUZW1wbGF0ZT86IEludm9pY2VUZW1wbGF0ZUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVUZW1wbGF0ZURlZmF1bHRUYXhSYXRlc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGN1c3RvbWVySWQ/OiBzdHJpbmc7XG4gICAgbWVyY2hhbnRJZD86IHN0cmluZztcbiAgICB0YXhSYXRlSWRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlVGVtcGxhdGVEZWZhdWx0VGF4UmF0ZXNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgaW52b2ljZVRlbXBsYXRlPzogSW52b2ljZVRlbXBsYXRlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgIGN1c3RvbWVySWQ/OiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgc2t1Pzogc3RyaW5nO1xuICAgIHVuaXRQcmljZT86IG51bWJlcjtcbiAgICBxdWFudGl0eT86IG51bWJlcjtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB0YXhSYXRlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVRlbXBsYXRlTGluZUl0ZW1SZXNwb25zZUludGVyZmFjZSB7XG4gICAgaW52b2ljZVRlbXBsYXRlPzogSW52b2ljZVRlbXBsYXRlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VydEludm9pY2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lcmNoYW50SWQ/OiBzdHJpbmc7XG4gICAgY3VzdG9tZXJJZD86IHN0cmluZztcbiAgICBpdGVtcz86IFVwc2VydEludm9pY2VUZW1wbGF0ZVJlcXVlc3RJbnZvaWNlVGVtcGxhdGVJdGVtUmVxdWVzdEludGVyZmFjZVtdO1xuICAgIGRlZmF1bHRUYXhSYXRlcz86IHN0cmluZ1tdO1xuICAgIGN1cnJlbmN5Q29kZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcHNlcnRJbnZvaWNlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgaW52b2ljZVRlbXBsYXRlPzogSW52b2ljZVRlbXBsYXRlSW50ZXJmYWNlO1xufVxuXG4iXX0=
@@ -1,85 +0,0 @@
1
- // *********************************
2
- // Code generated by sdkgen
3
- // DO NOT EDIT!.
4
- //
5
- // API Service.
6
- // *********************************
7
- import { Injectable } from '@angular/core';
8
- import { AddTemplateBundleRequest, AddTemplateBundleResponse, AddTemplateLineItemRequest, AddTemplateLineItemResponse, CreateTemplateRequest, CreateTemplateResponse, DeleteInvoiceTemplateRequest, DeleteTemplateLineItemRequest, DeleteTemplateLineItemResponse, GetInvoiceTemplateRequest, GetInvoiceTemplateResponse, UpdateTemplateBundleRequest, UpdateTemplateBundleResponse, UpdateTemplateDefaultTaxRatesRequest, UpdateTemplateDefaultTaxRatesResponse, UpdateTemplateLineItemRequest, UpdateTemplateLineItemResponse, UpsertInvoiceTemplateRequest, UpsertInvoiceTemplateResponse, } from './objects/';
9
- import { HttpHeaders, HttpClient } from '@angular/common/http';
10
- import { HostService } from '../_generated/host.service';
11
- import { map } from 'rxjs/operators';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common/http";
14
- import * as i2 from "../_generated/host.service";
15
- export class InvoiceTemplateApiService {
16
- constructor(http, hostService) {
17
- this.http = http;
18
- this.hostService = hostService;
19
- this._host = this.hostService.hostWithScheme;
20
- }
21
- apiOptions() {
22
- return {
23
- headers: new HttpHeaders({
24
- 'Content-Type': 'application/json'
25
- }),
26
- withCredentials: true
27
- };
28
- }
29
- addBundle(r) {
30
- const request = (r.toApiJson) ? r : new AddTemplateBundleRequest(r);
31
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/AddBundle", request.toApiJson(), this.apiOptions())
32
- .pipe(map(resp => AddTemplateBundleResponse.fromProto(resp)));
33
- }
34
- addLineItem(r) {
35
- const request = (r.toApiJson) ? r : new AddTemplateLineItemRequest(r);
36
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/AddLineItem", request.toApiJson(), this.apiOptions())
37
- .pipe(map(resp => AddTemplateLineItemResponse.fromProto(resp)));
38
- }
39
- create(r) {
40
- const request = (r.toApiJson) ? r : new CreateTemplateRequest(r);
41
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/Create", request.toApiJson(), this.apiOptions())
42
- .pipe(map(resp => CreateTemplateResponse.fromProto(resp)));
43
- }
44
- upsert(r) {
45
- const request = (r.toApiJson) ? r : new UpsertInvoiceTemplateRequest(r);
46
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/Upsert", request.toApiJson(), this.apiOptions())
47
- .pipe(map(resp => UpsertInvoiceTemplateResponse.fromProto(resp)));
48
- }
49
- get(r) {
50
- const request = (r.toApiJson) ? r : new GetInvoiceTemplateRequest(r);
51
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/Get", request.toApiJson(), this.apiOptions())
52
- .pipe(map(resp => GetInvoiceTemplateResponse.fromProto(resp)));
53
- }
54
- delete(r) {
55
- const request = (r.toApiJson) ? r : new DeleteInvoiceTemplateRequest(r);
56
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/Delete", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
57
- }
58
- deleteLineItem(r) {
59
- const request = (r.toApiJson) ? r : new DeleteTemplateLineItemRequest(r);
60
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/DeleteLineItem", request.toApiJson(), this.apiOptions())
61
- .pipe(map(resp => DeleteTemplateLineItemResponse.fromProto(resp)));
62
- }
63
- updateBundle(r) {
64
- const request = (r.toApiJson) ? r : new UpdateTemplateBundleRequest(r);
65
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/UpdateBundle", request.toApiJson(), this.apiOptions())
66
- .pipe(map(resp => UpdateTemplateBundleResponse.fromProto(resp)));
67
- }
68
- updateLineItem(r) {
69
- const request = (r.toApiJson) ? r : new UpdateTemplateLineItemRequest(r);
70
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/UpdateLineItem", request.toApiJson(), this.apiOptions())
71
- .pipe(map(resp => UpdateTemplateLineItemResponse.fromProto(resp)));
72
- }
73
- updateTemplateDefaultTaxRates(r) {
74
- const request = (r.toApiJson) ? r : new UpdateTemplateDefaultTaxRatesRequest(r);
75
- return this.http.post(this._host + "/billing.v1.InvoiceTemplateService/UpdateTemplateDefaultTaxRates", request.toApiJson(), this.apiOptions())
76
- .pipe(map(resp => UpdateTemplateDefaultTaxRatesResponse.fromProto(resp)));
77
- }
78
- }
79
- InvoiceTemplateApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: InvoiceTemplateApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable });
80
- InvoiceTemplateApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: InvoiceTemplateApiService, providedIn: 'root' });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: InvoiceTemplateApiService, decorators: [{
82
- type: Injectable,
83
- args: [{ providedIn: 'root' }]
84
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS10ZW1wbGF0ZS5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2JpbGxpbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL2ludm9pY2UtdGVtcGxhdGUuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0Msd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLG9DQUFvQyxFQUNwQyxxQ0FBcUMsRUFDckMsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEdBQ3BDLE1BQU0sWUFBWSxDQUFDO0FBc0JwQixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHbkMsTUFBTSxPQUFPLHlCQUF5QjtJQUdsQyxZQUFvQixJQUFnQixFQUFVLFdBQXdCO1FBQWxELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUY5RCxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7SUFHaEQsQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPO1lB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QUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHFDQUFxQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNyRSxDQUFDO0lBQ1YsQ0FBQzs7c0hBakZRLHlCQUF5QjswSEFBekIseUJBQXlCLGNBRGIsTUFBTTsyRkFDbEIseUJBQXlCO2tCQURyQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBBZGRUZW1wbGF0ZUJ1bmRsZVJlcXVlc3QsXG4gICAgICAgIEFkZFRlbXBsYXRlQnVuZGxlUmVzcG9uc2UsXG4gICAgICAgIEFkZFRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0LFxuICAgICAgICBBZGRUZW1wbGF0ZUxpbmVJdGVtUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlVGVtcGxhdGVSZXNwb25zZSxcbiAgICAgICAgRGVsZXRlSW52b2ljZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgRGVsZXRlVGVtcGxhdGVMaW5lSXRlbVJlcXVlc3QsXG4gICAgICAgIERlbGV0ZVRlbXBsYXRlTGluZUl0ZW1SZXNwb25zZSxcbiAgICAgICAgR2V0SW52b2ljZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgR2V0SW52b2ljZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZVRlbXBsYXRlQnVuZGxlUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlVGVtcGxhdGVCdW5kbGVSZXNwb25zZSxcbiAgICAgICAgVXBkYXRlVGVtcGxhdGVEZWZhdWx0VGF4UmF0ZXNSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVUZW1wbGF0ZURlZmF1bHRUYXhSYXRlc1Jlc3BvbnNlLFxuICAgICAgICBVcGRhdGVUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlLFxuICAgICAgICBVcHNlcnRJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBVcHNlcnRJbnZvaWNlVGVtcGxhdGVSZXNwb25zZSxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBBZGRUZW1wbGF0ZUJ1bmRsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEFkZFRlbXBsYXRlQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEFkZFRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBBZGRUZW1wbGF0ZUxpbmVJdGVtUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlSW52b2ljZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlVGVtcGxhdGVMaW5lSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZVRlbXBsYXRlTGluZUl0ZW1SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0SW52b2ljZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0SW52b2ljZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVRlbXBsYXRlQnVuZGxlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlVGVtcGxhdGVCdW5kbGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlVGVtcGxhdGVEZWZhdWx0VGF4UmF0ZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVUZW1wbGF0ZURlZmF1bHRUYXhSYXRlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcHNlcnRJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcHNlcnRJbnZvaWNlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlVGVtcGxhdGVBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBhZGRCdW5kbGUocjogQWRkVGVtcGxhdGVCdW5kbGVSZXF1ZXN0IHwgQWRkVGVtcGxhdGVCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxBZGRUZW1wbGF0ZUJ1bmRsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxBZGRUZW1wbGF0ZUJ1bmRsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8QWRkVGVtcGxhdGVCdW5kbGVSZXF1ZXN0PnIpIDogbmV3IEFkZFRlbXBsYXRlQnVuZGxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFkZFRlbXBsYXRlQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkludm9pY2VUZW1wbGF0ZVNlcnZpY2UvQWRkQnVuZGxlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQWRkVGVtcGxhdGVCdW5kbGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBhZGRMaW5lSXRlbShyOiBBZGRUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdCB8IEFkZFRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxBZGRUZW1wbGF0ZUxpbmVJdGVtUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEFkZFRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEFkZFRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0PnIpIDogbmV3IEFkZFRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QWRkVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5JbnZvaWNlVGVtcGxhdGVTZXJ2aWNlL0FkZExpbmVJdGVtXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQWRkVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZShyOiBDcmVhdGVUZW1wbGF0ZVJlcXVlc3QgfCBDcmVhdGVUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuSW52b2ljZVRlbXBsYXRlU2VydmljZS9DcmVhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVUZW1wbGF0ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwc2VydChyOiBVcHNlcnRJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0IHwgVXBzZXJ0SW52b2ljZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBzZXJ0SW52b2ljZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwc2VydEludm9pY2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBzZXJ0SW52b2ljZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBVcHNlcnRJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VXBzZXJ0SW52b2ljZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkludm9pY2VUZW1wbGF0ZVNlcnZpY2UvVXBzZXJ0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBzZXJ0SW52b2ljZVRlbXBsYXRlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0KHI6IEdldEludm9pY2VUZW1wbGF0ZVJlcXVlc3QgfCBHZXRJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRJbnZvaWNlVGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0SW52b2ljZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IEdldEludm9pY2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRJbnZvaWNlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuSW52b2ljZVRlbXBsYXRlU2VydmljZS9HZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRJbnZvaWNlVGVtcGxhdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGUocjogRGVsZXRlSW52b2ljZVRlbXBsYXRlUmVxdWVzdCB8IERlbGV0ZUludm9pY2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlSW52b2ljZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZUludm9pY2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5JbnZvaWNlVGVtcGxhdGVTZXJ2aWNlL0RlbGV0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZGVsZXRlTGluZUl0ZW0ocjogRGVsZXRlVGVtcGxhdGVMaW5lSXRlbVJlcXVlc3QgfCBEZWxldGVUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8RGVsZXRlVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PERlbGV0ZVRlbXBsYXRlTGluZUl0ZW1SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuSW52b2ljZVRlbXBsYXRlU2VydmljZS9EZWxldGVMaW5lSXRlbVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IERlbGV0ZVRlbXBsYXRlTGluZUl0ZW1SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVCdW5kbGUocjogVXBkYXRlVGVtcGxhdGVCdW5kbGVSZXF1ZXN0IHwgVXBkYXRlVGVtcGxhdGVCdW5kbGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxVcGRhdGVUZW1wbGF0ZUJ1bmRsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVUZW1wbGF0ZUJ1bmRsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlVGVtcGxhdGVCdW5kbGVSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZVRlbXBsYXRlQnVuZGxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVwZGF0ZVRlbXBsYXRlQnVuZGxlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLkludm9pY2VUZW1wbGF0ZVNlcnZpY2UvVXBkYXRlQnVuZGxlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlVGVtcGxhdGVCdW5kbGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVMaW5lSXRlbShyOiBVcGRhdGVUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdCB8IFVwZGF0ZVRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxVcGRhdGVUZW1wbGF0ZUxpbmVJdGVtUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZVRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZVRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VXBkYXRlVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5JbnZvaWNlVGVtcGxhdGVTZXJ2aWNlL1VwZGF0ZUxpbmVJdGVtXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVRlbXBsYXRlRGVmYXVsdFRheFJhdGVzKHI6IFVwZGF0ZVRlbXBsYXRlRGVmYXVsdFRheFJhdGVzUmVxdWVzdCB8IFVwZGF0ZVRlbXBsYXRlRGVmYXVsdFRheFJhdGVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlVGVtcGxhdGVEZWZhdWx0VGF4UmF0ZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlVGVtcGxhdGVEZWZhdWx0VGF4UmF0ZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVRlbXBsYXRlRGVmYXVsdFRheFJhdGVzUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVUZW1wbGF0ZURlZmF1bHRUYXhSYXRlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVUZW1wbGF0ZURlZmF1bHRUYXhSYXRlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5JbnZvaWNlVGVtcGxhdGVTZXJ2aWNlL1VwZGF0ZVRlbXBsYXRlRGVmYXVsdFRheFJhdGVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlVGVtcGxhdGVEZWZhdWx0VGF4UmF0ZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==