@vendasta/billing 8.2.0 → 9.0.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.
- package/esm2020/lib/_generated/host.service.mjs +25 -0
- package/esm2020/lib/_generated/index.mjs +2 -0
- package/esm2020/lib/_internal/bank-reconciliation.api.service.mjs +46 -0
- package/esm2020/lib/_internal/billing.api.service.mjs +216 -0
- package/esm2020/lib/_internal/bundle.api.service.mjs +50 -0
- package/esm2020/lib/_internal/contract-document.api.service.mjs +45 -0
- package/esm2020/lib/_internal/contract.api.service.mjs +55 -0
- package/esm2020/lib/_internal/credit.api.service.mjs +45 -0
- package/esm2020/lib/_internal/discount.api.service.mjs +53 -0
- package/esm2020/lib/_internal/enums/applied-discount.enum.mjs +14 -0
- package/esm2020/lib/_internal/enums/card.enum.mjs +17 -0
- package/esm2020/lib/_internal/enums/contract.enum.mjs +14 -0
- package/esm2020/lib/_internal/enums/currency.enum.mjs +35 -0
- package/esm2020/lib/_internal/enums/frequency.enum.mjs +14 -0
- package/esm2020/lib/_internal/enums/index.mjs +31 -0
- package/esm2020/lib/_internal/enums/invoice.enum.mjs +18 -0
- package/esm2020/lib/_internal/enums/merchant-report.enum.mjs +13 -0
- package/{esm2015/lib/_internal/enums/merchant.enum.js → esm2020/lib/_internal/enums/merchant.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/month.enum.mjs +23 -0
- package/esm2020/lib/_internal/enums/payment-card.enum.mjs +24 -0
- package/esm2020/lib/_internal/enums/payment-processor.enum.mjs +13 -0
- package/{esm2015/lib/_internal/enums/payment.enum.js → esm2020/lib/_internal/enums/payment.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/payout.enum.mjs +22 -0
- package/esm2020/lib/_internal/enums/pricing-plan.enum.mjs +22 -0
- package/{esm2015/lib/_internal/enums/product-summary.enum.js → esm2020/lib/_internal/enums/product-summary.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/product.enum.mjs +17 -0
- package/esm2020/lib/_internal/enums/purchase.enum.mjs +27 -0
- package/esm2020/lib/_internal/enums/recurring-invoice.enum.mjs +29 -0
- package/esm2020/lib/_internal/enums/refund.enum.mjs +25 -0
- package/esm2020/lib/_internal/enums/sales-credit-note.enum.mjs +14 -0
- package/{esm2015/lib/_internal/enums/sales-invoice.enum.js → esm2020/lib/_internal/enums/sales-invoice.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/sort-direction.enum.mjs +12 -0
- package/{esm2015/lib/_internal/enums/subscribe-validation.enum.js → esm2020/lib/_internal/enums/subscribe-validation.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/subscription.enum.mjs +12 -0
- package/esm2020/lib/_internal/index.mjs +33 -0
- package/esm2020/lib/_internal/interfaces/api.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/applied-bundle.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/applied-discount.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/applied-tax-rate.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/balance.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/billable-item.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/bundle.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/card.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/commitment.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/common.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/contract-document.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/contract.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/credit.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/currency.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/customer-summary.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/date-range.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/discount.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/external-account.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/frequency.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/invoice-template.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/invoice.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/merchant-report.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/merchant.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/metered-component.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/month.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/payment-card.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/payment-processor.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/payment.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/payout.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/pricing-plan-product.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/pricing-plan.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/product-pricing.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/product-summary.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/product.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/purchase.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/recurring-invoice.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/refund.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/retail-customer-configuration.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/sales-credit-note.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/sales-invoice.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/sort-direction.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/subscribe-validation.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/subscription.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/tax-rate.interface.mjs +2 -0
- package/esm2020/lib/_internal/invoice-template.api.service.mjs +85 -0
- package/esm2020/lib/_internal/invoice.api.service.mjs +116 -0
- package/esm2020/lib/_internal/merchant.api.service.mjs +159 -0
- package/esm2020/lib/_internal/objects/api.mjs +841 -0
- package/esm2020/lib/_internal/objects/applied-bundle.mjs +77 -0
- package/esm2020/lib/_internal/objects/applied-discount.mjs +46 -0
- package/esm2020/lib/_internal/objects/applied-tax-rate.mjs +39 -0
- package/esm2020/lib/_internal/objects/balance.mjs +45 -0
- package/esm2020/lib/_internal/objects/billable-item.mjs +562 -0
- package/esm2020/lib/_internal/objects/bundle.mjs +390 -0
- package/esm2020/lib/_internal/objects/card.mjs +7 -0
- package/esm2020/lib/_internal/objects/commitment.mjs +36 -0
- package/esm2020/lib/_internal/objects/common.mjs +56 -0
- package/esm2020/lib/_internal/objects/contract-document.mjs +141 -0
- package/esm2020/lib/_internal/objects/contract.mjs +474 -0
- package/esm2020/lib/_internal/objects/credit.mjs +114 -0
- package/esm2020/lib/_internal/objects/currency.mjs +7 -0
- package/esm2020/lib/_internal/objects/customer-summary.mjs +104 -0
- package/esm2020/lib/_internal/objects/date-range.mjs +36 -0
- package/esm2020/lib/_internal/objects/discount.mjs +299 -0
- package/esm2020/lib/_internal/objects/external-account.mjs +160 -0
- package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
- package/esm2020/lib/_internal/objects/frequency.mjs +7 -0
- package/esm2020/lib/_internal/objects/index.mjs +46 -0
- package/esm2020/lib/_internal/objects/invoice-template.mjs +707 -0
- package/esm2020/lib/_internal/objects/invoice.mjs +1117 -0
- package/esm2020/lib/_internal/objects/merchant-report.mjs +108 -0
- package/esm2020/lib/_internal/objects/merchant.mjs +991 -0
- package/esm2020/lib/_internal/objects/metered-component.mjs +97 -0
- package/esm2020/lib/_internal/objects/month.mjs +7 -0
- package/esm2020/lib/_internal/objects/payment-card.mjs +211 -0
- package/esm2020/lib/_internal/objects/payment-processor.mjs +7 -0
- package/esm2020/lib/_internal/objects/payment.mjs +1219 -0
- package/esm2020/lib/_internal/objects/payout.mjs +258 -0
- package/esm2020/lib/_internal/objects/pricing-plan-product.mjs +565 -0
- package/esm2020/lib/_internal/objects/pricing-plan.mjs +290 -0
- package/esm2020/lib/_internal/objects/product-pricing.mjs +107 -0
- package/esm2020/lib/_internal/objects/product-summary.mjs +538 -0
- package/esm2020/lib/_internal/objects/product.mjs +302 -0
- package/esm2020/lib/_internal/objects/purchase.mjs +524 -0
- package/esm2020/lib/_internal/objects/recurring-invoice.mjs +324 -0
- package/esm2020/lib/_internal/objects/refund.mjs +181 -0
- package/esm2020/lib/_internal/objects/retail-customer-configuration.mjs +159 -0
- package/esm2020/lib/_internal/objects/sales-credit-note.mjs +211 -0
- package/esm2020/lib/_internal/objects/sales-invoice.mjs +300 -0
- package/esm2020/lib/_internal/objects/sort-direction.mjs +7 -0
- package/esm2020/lib/_internal/objects/subscribe-validation.mjs +31 -0
- package/esm2020/lib/_internal/objects/subscription.mjs +555 -0
- package/esm2020/lib/_internal/objects/tax-rate.mjs +342 -0
- package/esm2020/lib/_internal/payment-method.api.service.mjs +49 -0
- package/esm2020/lib/_internal/payment.api.service.mjs +102 -0
- package/esm2020/lib/_internal/pricing.api.service.mjs +76 -0
- package/esm2020/lib/_internal/product-summary.api.service.mjs +46 -0
- package/esm2020/lib/_internal/product.api.service.mjs +47 -0
- package/esm2020/lib/_internal/purchase.api.service.mjs +59 -0
- package/esm2020/lib/_internal/recurring-invoice.api.service.mjs +60 -0
- package/esm2020/lib/_internal/refund.api.service.mjs +45 -0
- package/esm2020/lib/_internal/retail-customer-configuration.api.service.mjs +45 -0
- package/esm2020/lib/_internal/sales-credit-note.api.service.mjs +45 -0
- package/esm2020/lib/_internal/sales-invoice.api.service.mjs +50 -0
- package/esm2020/lib/_internal/tax.api.service.mjs +63 -0
- package/esm2020/lib/_internal/vendor.api.service.mjs +46 -0
- package/esm2020/lib/index.mjs +3 -0
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/vendasta-billing.mjs +5 -0
- package/fesm2015/{vendasta-billing.js → vendasta-billing.mjs} +622 -5227
- package/fesm2015/vendasta-billing.mjs.map +1 -0
- package/fesm2020/vendasta-billing.mjs +14368 -0
- package/fesm2020/vendasta-billing.mjs.map +1 -0
- package/lib/_generated/host.service.d.ts +5 -9
- package/lib/_internal/bank-reconciliation.api.service.d.ts +4 -0
- package/lib/_internal/billing.api.service.d.ts +4 -0
- package/lib/_internal/bundle.api.service.d.ts +4 -0
- package/lib/_internal/contract-document.api.service.d.ts +4 -0
- package/lib/_internal/contract.api.service.d.ts +4 -0
- package/lib/_internal/credit.api.service.d.ts +4 -0
- package/lib/_internal/discount.api.service.d.ts +4 -0
- package/lib/_internal/invoice-template.api.service.d.ts +4 -0
- package/lib/_internal/invoice.api.service.d.ts +4 -0
- package/lib/_internal/merchant.api.service.d.ts +4 -0
- package/lib/_internal/payment-method.api.service.d.ts +4 -0
- package/lib/_internal/payment.api.service.d.ts +4 -0
- package/lib/_internal/pricing.api.service.d.ts +4 -0
- package/lib/_internal/product-summary.api.service.d.ts +4 -0
- package/lib/_internal/product.api.service.d.ts +4 -0
- package/lib/_internal/purchase.api.service.d.ts +4 -0
- package/lib/_internal/recurring-invoice.api.service.d.ts +4 -0
- package/lib/_internal/refund.api.service.d.ts +4 -0
- package/lib/_internal/retail-customer-configuration.api.service.d.ts +4 -0
- package/lib/_internal/sales-credit-note.api.service.d.ts +4 -0
- package/lib/_internal/sales-invoice.api.service.d.ts +4 -0
- package/lib/_internal/tax.api.service.d.ts +4 -0
- package/lib/_internal/vendor.api.service.d.ts +4 -0
- package/lib/index.d.ts +2 -37
- package/package.json +26 -15
- package/src/README.md +1 -0
- package/vendasta-billing.d.ts +1 -0
- package/bundles/vendasta-billing.umd.js +0 -19912
- package/bundles/vendasta-billing.umd.js.map +0 -1
- package/bundles/vendasta-billing.umd.min.js +0 -16
- package/bundles/vendasta-billing.umd.min.js.map +0 -1
- package/esm2015/lib/_generated/host.service.js +0 -65
- package/esm2015/lib/_generated/index.js +0 -2
- package/esm2015/lib/_internal/bank-reconciliation.api.service.js +0 -47
- package/esm2015/lib/_internal/billing.api.service.js +0 -217
- package/esm2015/lib/_internal/bundle.api.service.js +0 -51
- package/esm2015/lib/_internal/contract-document.api.service.js +0 -46
- package/esm2015/lib/_internal/contract.api.service.js +0 -56
- package/esm2015/lib/_internal/credit.api.service.js +0 -46
- package/esm2015/lib/_internal/discount.api.service.js +0 -54
- package/esm2015/lib/_internal/enums/applied-discount.enum.js +0 -14
- package/esm2015/lib/_internal/enums/card.enum.js +0 -17
- package/esm2015/lib/_internal/enums/contract.enum.js +0 -14
- package/esm2015/lib/_internal/enums/currency.enum.js +0 -35
- package/esm2015/lib/_internal/enums/frequency.enum.js +0 -14
- package/esm2015/lib/_internal/enums/index.js +0 -31
- package/esm2015/lib/_internal/enums/invoice.enum.js +0 -18
- package/esm2015/lib/_internal/enums/merchant-report.enum.js +0 -13
- package/esm2015/lib/_internal/enums/month.enum.js +0 -23
- package/esm2015/lib/_internal/enums/payment-card.enum.js +0 -24
- package/esm2015/lib/_internal/enums/payment-processor.enum.js +0 -13
- package/esm2015/lib/_internal/enums/payout.enum.js +0 -22
- package/esm2015/lib/_internal/enums/pricing-plan.enum.js +0 -22
- package/esm2015/lib/_internal/enums/product.enum.js +0 -17
- package/esm2015/lib/_internal/enums/purchase.enum.js +0 -27
- package/esm2015/lib/_internal/enums/recurring-invoice.enum.js +0 -29
- package/esm2015/lib/_internal/enums/refund.enum.js +0 -25
- package/esm2015/lib/_internal/enums/sales-credit-note.enum.js +0 -14
- package/esm2015/lib/_internal/enums/sort-direction.enum.js +0 -12
- package/esm2015/lib/_internal/enums/subscription.enum.js +0 -12
- package/esm2015/lib/_internal/index.js +0 -33
- package/esm2015/lib/_internal/interfaces/api.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/applied-bundle.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/applied-discount.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/applied-tax-rate.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/balance.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/billable-item.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/bundle.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/card.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/commitment.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/common.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/contract-document.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/contract.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/credit.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/currency.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/customer-summary.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/date-range.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/discount.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/external-account.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/frequency.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/index.js +0 -2
- package/esm2015/lib/_internal/interfaces/invoice-template.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/invoice.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/merchant-report.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/merchant.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/metered-component.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/month.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/payment-card.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/payment-processor.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/payment.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/payout.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/pricing-plan-product.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/pricing-plan.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/product-pricing.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/product-summary.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/product.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/purchase.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/recurring-invoice.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/refund.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/retail-customer-configuration.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/sales-credit-note.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/sales-invoice.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/sort-direction.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/subscribe-validation.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/subscription.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/tax-rate.interface.js +0 -2
- package/esm2015/lib/_internal/invoice-template.api.service.js +0 -86
- package/esm2015/lib/_internal/invoice.api.service.js +0 -117
- package/esm2015/lib/_internal/merchant.api.service.js +0 -160
- package/esm2015/lib/_internal/objects/api.js +0 -841
- package/esm2015/lib/_internal/objects/applied-bundle.js +0 -77
- package/esm2015/lib/_internal/objects/applied-discount.js +0 -46
- package/esm2015/lib/_internal/objects/applied-tax-rate.js +0 -39
- package/esm2015/lib/_internal/objects/balance.js +0 -45
- package/esm2015/lib/_internal/objects/billable-item.js +0 -562
- package/esm2015/lib/_internal/objects/bundle.js +0 -390
- package/esm2015/lib/_internal/objects/card.js +0 -7
- package/esm2015/lib/_internal/objects/commitment.js +0 -36
- package/esm2015/lib/_internal/objects/common.js +0 -56
- package/esm2015/lib/_internal/objects/contract-document.js +0 -141
- package/esm2015/lib/_internal/objects/contract.js +0 -474
- package/esm2015/lib/_internal/objects/credit.js +0 -114
- package/esm2015/lib/_internal/objects/currency.js +0 -7
- package/esm2015/lib/_internal/objects/customer-summary.js +0 -104
- package/esm2015/lib/_internal/objects/date-range.js +0 -36
- package/esm2015/lib/_internal/objects/discount.js +0 -299
- package/esm2015/lib/_internal/objects/external-account.js +0 -160
- package/esm2015/lib/_internal/objects/field-mask.js +0 -27
- package/esm2015/lib/_internal/objects/frequency.js +0 -7
- package/esm2015/lib/_internal/objects/index.js +0 -46
- package/esm2015/lib/_internal/objects/invoice-template.js +0 -707
- package/esm2015/lib/_internal/objects/invoice.js +0 -1117
- package/esm2015/lib/_internal/objects/merchant-report.js +0 -108
- package/esm2015/lib/_internal/objects/merchant.js +0 -991
- package/esm2015/lib/_internal/objects/metered-component.js +0 -97
- package/esm2015/lib/_internal/objects/month.js +0 -7
- package/esm2015/lib/_internal/objects/payment-card.js +0 -211
- package/esm2015/lib/_internal/objects/payment-processor.js +0 -7
- package/esm2015/lib/_internal/objects/payment.js +0 -1219
- package/esm2015/lib/_internal/objects/payout.js +0 -258
- package/esm2015/lib/_internal/objects/pricing-plan-product.js +0 -565
- package/esm2015/lib/_internal/objects/pricing-plan.js +0 -290
- package/esm2015/lib/_internal/objects/product-pricing.js +0 -107
- package/esm2015/lib/_internal/objects/product-summary.js +0 -538
- package/esm2015/lib/_internal/objects/product.js +0 -302
- package/esm2015/lib/_internal/objects/purchase.js +0 -524
- package/esm2015/lib/_internal/objects/recurring-invoice.js +0 -324
- package/esm2015/lib/_internal/objects/refund.js +0 -181
- package/esm2015/lib/_internal/objects/retail-customer-configuration.js +0 -159
- package/esm2015/lib/_internal/objects/sales-credit-note.js +0 -211
- package/esm2015/lib/_internal/objects/sales-invoice.js +0 -300
- package/esm2015/lib/_internal/objects/sort-direction.js +0 -7
- package/esm2015/lib/_internal/objects/subscribe-validation.js +0 -31
- package/esm2015/lib/_internal/objects/subscription.js +0 -555
- package/esm2015/lib/_internal/objects/tax-rate.js +0 -342
- package/esm2015/lib/_internal/payment-method.api.service.js +0 -50
- package/esm2015/lib/_internal/payment.api.service.js +0 -103
- package/esm2015/lib/_internal/pricing.api.service.js +0 -77
- package/esm2015/lib/_internal/product-summary.api.service.js +0 -47
- package/esm2015/lib/_internal/product.api.service.js +0 -48
- package/esm2015/lib/_internal/purchase.api.service.js +0 -60
- package/esm2015/lib/_internal/recurring-invoice.api.service.js +0 -61
- package/esm2015/lib/_internal/refund.api.service.js +0 -46
- package/esm2015/lib/_internal/retail-customer-configuration.api.service.js +0 -46
- package/esm2015/lib/_internal/sales-credit-note.api.service.js +0 -46
- package/esm2015/lib/_internal/sales-invoice.api.service.js +0 -51
- package/esm2015/lib/_internal/tax.api.service.js +0 -64
- package/esm2015/lib/_internal/vendor.api.service.js +0 -47
- package/esm2015/lib/applied_bundle/applied_bundle.js +0 -12
- package/esm2015/lib/applied_bundle/index.js +0 -2
- package/esm2015/lib/applied_discount/applied_discount.js +0 -48
- package/esm2015/lib/applied_discount/index.js +0 -2
- package/esm2015/lib/bank_account/bank-account.service.js +0 -38
- package/esm2015/lib/bank_account/bank_account.js +0 -13
- package/esm2015/lib/bank_account/index.js +0 -3
- package/esm2015/lib/bank_reconciliation/bank-reconciliation.service.js +0 -54
- package/esm2015/lib/bank_reconciliation/index.js +0 -3
- package/esm2015/lib/bank_reconciliation/payout.js +0 -53
- package/esm2015/lib/billable-item/billable-item.js +0 -40
- package/esm2015/lib/billable-item/billable-item.service.js +0 -31
- package/esm2015/lib/billable-item/index.js +0 -2
- package/esm2015/lib/billing-host.service.js +0 -41
- package/esm2015/lib/billing.service.js +0 -376
- package/esm2015/lib/bundle/bundle.js +0 -37
- package/esm2015/lib/bundle/bundle.service.js +0 -56
- package/esm2015/lib/bundle/index.js +0 -2
- package/esm2015/lib/contract/contract.js +0 -21
- package/esm2015/lib/contract/contract.service.js +0 -39
- package/esm2015/lib/contract/dimension.js +0 -21
- package/esm2015/lib/contract/index.js +0 -5
- package/esm2015/lib/contract/mutations.js +0 -11
- package/esm2015/lib/contract-document/contract-document.js +0 -9
- package/esm2015/lib/contract-document/contract-document.service.js +0 -68
- package/esm2015/lib/contract-document/index.js +0 -2
- package/esm2015/lib/contract-document/list-contract-document.js +0 -2
- package/esm2015/lib/core/index.js +0 -3
- package/esm2015/lib/core/paged-response.js +0 -8
- package/esm2015/lib/core/sort-direction.js +0 -6
- package/esm2015/lib/credit/credit.js +0 -8
- package/esm2015/lib/credit/credit.service.js +0 -33
- package/esm2015/lib/credit/index.js +0 -2
- package/esm2015/lib/customer_summary/customer-summary.js +0 -15
- package/esm2015/lib/discount/discount.js +0 -18
- package/esm2015/lib/discount/discount.service.js +0 -73
- package/esm2015/lib/discount/discount_type.js +0 -32
- package/esm2015/lib/discount/index.js +0 -3
- package/esm2015/lib/discount/list-discount.js +0 -2
- package/esm2015/lib/http-shared/error-handlers.js +0 -20
- package/esm2015/lib/index.js +0 -38
- package/esm2015/lib/invoice/index.js +0 -3
- package/esm2015/lib/invoice/invoice.js +0 -198
- package/esm2015/lib/invoice/invoice.service.js +0 -254
- package/esm2015/lib/invoice/list-invoice.js +0 -2
- package/esm2015/lib/invoice-template/index.js +0 -2
- package/esm2015/lib/invoice-template/invoice-template.js +0 -38
- package/esm2015/lib/invoice-template/invoice-template.service.js +0 -78
- package/esm2015/lib/merchant/balance.js +0 -2
- package/esm2015/lib/merchant/index.js +0 -5
- package/esm2015/lib/merchant/merchant.interface.js +0 -2
- package/esm2015/lib/merchant/merchant.js +0 -20
- package/esm2015/lib/merchant/merchant.service.js +0 -212
- package/esm2015/lib/merchant/payout-summary.js +0 -32
- package/esm2015/lib/merchant/retail-configuration.js +0 -57
- package/esm2015/lib/merchant-report/index.js +0 -2
- package/esm2015/lib/merchant-report/merchant-report-status.js +0 -2
- package/esm2015/lib/merchant-report/merchant-report.interfaces.js +0 -2
- package/esm2015/lib/merchant-report/merchant-report.js +0 -2
- package/esm2015/lib/merchant-report/merchant-report.service.js +0 -38
- package/esm2015/lib/payment/dispute.js +0 -92
- package/esm2015/lib/payment/index.js +0 -10
- package/esm2015/lib/payment/payment-allocation-type.js +0 -18
- package/esm2015/lib/payment/payment-source.js +0 -18
- package/esm2015/lib/payment/payment-status.js +0 -17
- package/esm2015/lib/payment/payment.js +0 -292
- package/esm2015/lib/payment/payment.service.js +0 -138
- package/esm2015/lib/payment/retail-payment.js +0 -70
- package/esm2015/lib/payment/retail-status.js +0 -50
- package/esm2015/lib/payment-card/index.js +0 -3
- package/esm2015/lib/payment-card/payment-card.js +0 -60
- package/esm2015/lib/payment-card/payment-card.service.js +0 -45
- package/esm2015/lib/payment-method/index.js +0 -2
- package/esm2015/lib/payment-method/payment-method.service.js +0 -43
- package/esm2015/lib/pricing/billing-strategy.js +0 -39
- package/esm2015/lib/pricing/commitment.js +0 -7
- package/esm2015/lib/pricing/currency.js +0 -86
- package/esm2015/lib/pricing/frequency.js +0 -42
- package/esm2015/lib/pricing/index.js +0 -12
- package/esm2015/lib/pricing/list-pricing-plan-product-filter.js +0 -2
- package/esm2015/lib/pricing/pricing-plan-product.js +0 -53
- package/esm2015/lib/pricing/pricing-plan.js +0 -14
- package/esm2015/lib/pricing/pricing-plan.service.js +0 -287
- package/esm2015/lib/pricing/product-pricing-rules.js +0 -10
- package/esm2015/lib/pricing/product-pricing-type.js +0 -31
- package/esm2015/lib/pricing/product-pricing.js +0 -44
- package/esm2015/lib/pricing/wholesale-pricing.service.js +0 -61
- package/esm2015/lib/product/index.js +0 -3
- package/esm2015/lib/product/list-products.js +0 -30
- package/esm2015/lib/product/product.js +0 -10
- package/esm2015/lib/product-summary/index.js +0 -3
- package/esm2015/lib/product-summary/product-summary.service.js +0 -42
- package/esm2015/lib/product-summary/subscription-retention.js +0 -19
- package/esm2015/lib/purchase/index.js +0 -4
- package/esm2015/lib/purchase/list-purchases.js +0 -17
- package/esm2015/lib/purchase/purchase.js +0 -79
- package/esm2015/lib/purchase/purchase.service.js +0 -31
- package/esm2015/lib/purchase/purchase_status.js +0 -26
- package/esm2015/lib/recurring_invoice/collection-method.js +0 -31
- package/esm2015/lib/recurring_invoice/index.js +0 -6
- package/esm2015/lib/recurring_invoice/interval.js +0 -42
- package/esm2015/lib/recurring_invoice/payment-processor.js +0 -32
- package/esm2015/lib/recurring_invoice/recurring-invoice.js +0 -123
- package/esm2015/lib/recurring_invoice/recurring-invoice.service.js +0 -64
- package/esm2015/lib/recurring_invoice/status.js +0 -37
- package/esm2015/lib/refund/index.js +0 -3
- package/esm2015/lib/refund/refund.js +0 -81
- package/esm2015/lib/refund/refund.service.js +0 -53
- package/esm2015/lib/retail-customer-configuration/index.js +0 -3
- package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.js +0 -44
- package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.service.js +0 -39
- package/esm2015/lib/revenue/index.js +0 -2
- package/esm2015/lib/revenue/revenue.interfaces.js +0 -2
- package/esm2015/lib/revenue/revenue.service.js +0 -34
- package/esm2015/lib/sales-credit-note/index.js +0 -3
- package/esm2015/lib/sales-credit-note/sales-credit-note.js +0 -53
- package/esm2015/lib/sales-credit-note/sales-credit-note.service.js +0 -72
- package/esm2015/lib/sales-invoice/index.js +0 -3
- package/esm2015/lib/sales-invoice/sales-invoice.js +0 -87
- package/esm2015/lib/sales-invoice/sales-invoice.service.js +0 -77
- package/esm2015/lib/sku.js +0 -4
- package/esm2015/lib/stripe-file/file.js +0 -2
- package/esm2015/lib/stripe-file/index.js +0 -3
- package/esm2015/lib/stripe-file/purpose.js +0 -13
- package/esm2015/lib/stripe-file/stripe-file.service.js +0 -35
- package/esm2015/lib/subscription/can-create-subscriptions-item.js +0 -2
- package/esm2015/lib/subscription/index.js +0 -2
- package/esm2015/lib/tax-rate/index.js +0 -2
- package/esm2015/lib/tax-rate/tax-rate.js +0 -13
- package/esm2015/lib/tax-rate/tax-rate.service.js +0 -86
- package/esm2015/public_api.js +0 -2
- package/esm2015/vendasta-billing.js +0 -5
- package/fesm2015/vendasta-billing.js.map +0 -1
- package/lib/applied_bundle/applied_bundle.d.ts +0 -15
- package/lib/applied_bundle/index.d.ts +0 -1
- package/lib/applied_discount/applied_discount.d.ts +0 -26
- package/lib/applied_discount/index.d.ts +0 -1
- package/lib/bank_account/bank-account.service.d.ts +0 -11
- package/lib/bank_account/bank_account.d.ts +0 -12
- package/lib/bank_account/index.d.ts +0 -3
- package/lib/bank_reconciliation/bank-reconciliation.service.d.ts +0 -10
- package/lib/bank_reconciliation/index.d.ts +0 -2
- package/lib/bank_reconciliation/payout.d.ts +0 -37
- package/lib/billable-item/billable-item.d.ts +0 -40
- package/lib/billable-item/billable-item.service.d.ts +0 -10
- package/lib/billable-item/index.d.ts +0 -2
- package/lib/billing-host.service.d.ts +0 -11
- package/lib/billing.service.d.ts +0 -88
- package/lib/bundle/bundle.d.ts +0 -26
- package/lib/bundle/bundle.service.d.ts +0 -14
- package/lib/bundle/index.d.ts +0 -2
- package/lib/contract/contract.d.ts +0 -20
- package/lib/contract/contract.service.d.ts +0 -23
- package/lib/contract/dimension.d.ts +0 -11
- package/lib/contract/index.d.ts +0 -5
- package/lib/contract/mutations.d.ts +0 -11
- package/lib/contract-document/contract-document.d.ts +0 -8
- package/lib/contract-document/contract-document.service.d.ts +0 -17
- package/lib/contract-document/index.d.ts +0 -3
- package/lib/contract-document/list-contract-document.d.ts +0 -3
- package/lib/core/index.d.ts +0 -2
- package/lib/core/paged-response.d.ts +0 -6
- package/lib/core/sort-direction.d.ts +0 -4
- package/lib/credit/credit.d.ts +0 -7
- package/lib/credit/credit.service.d.ts +0 -9
- package/lib/credit/index.d.ts +0 -2
- package/lib/customer_summary/customer-summary.d.ts +0 -9
- package/lib/discount/discount.d.ts +0 -17
- package/lib/discount/discount.service.d.ts +0 -15
- package/lib/discount/discount_type.d.ts +0 -9
- package/lib/discount/index.d.ts +0 -4
- package/lib/discount/list-discount.d.ts +0 -5
- package/lib/http-shared/error-handlers.d.ts +0 -4
- package/lib/invoice/index.d.ts +0 -3
- package/lib/invoice/invoice.d.ts +0 -86
- package/lib/invoice/invoice.service.d.ts +0 -40
- package/lib/invoice/list-invoice.d.ts +0 -15
- package/lib/invoice-template/index.d.ts +0 -2
- package/lib/invoice-template/invoice-template.d.ts +0 -35
- package/lib/invoice-template/invoice-template.service.d.ts +0 -14
- package/lib/merchant/balance.d.ts +0 -5
- package/lib/merchant/index.d.ts +0 -7
- package/lib/merchant/merchant.d.ts +0 -19
- package/lib/merchant/merchant.interface.d.ts +0 -3
- package/lib/merchant/merchant.service.d.ts +0 -59
- package/lib/merchant/payout-summary.d.ts +0 -19
- package/lib/merchant/retail-configuration.d.ts +0 -24
- package/lib/merchant-report/index.d.ts +0 -4
- package/lib/merchant-report/merchant-report-status.d.ts +0 -1
- package/lib/merchant-report/merchant-report.d.ts +0 -8
- package/lib/merchant-report/merchant-report.interfaces.d.ts +0 -5
- package/lib/merchant-report/merchant-report.service.d.ts +0 -12
- package/lib/payment/dispute.d.ts +0 -61
- package/lib/payment/index.d.ts +0 -9
- package/lib/payment/payment-allocation-type.d.ts +0 -7
- package/lib/payment/payment-source.d.ts +0 -7
- package/lib/payment/payment-status.d.ts +0 -7
- package/lib/payment/payment.d.ts +0 -42
- package/lib/payment/payment.service.d.ts +0 -24
- package/lib/payment/retail-payment.d.ts +0 -33
- package/lib/payment/retail-status.d.ts +0 -24
- package/lib/payment-card/index.d.ts +0 -2
- package/lib/payment-card/payment-card.d.ts +0 -41
- package/lib/payment-card/payment-card.service.d.ts +0 -13
- package/lib/payment-method/index.d.ts +0 -1
- package/lib/payment-method/payment-method.service.d.ts +0 -10
- package/lib/pricing/billing-strategy.d.ts +0 -11
- package/lib/pricing/commitment.d.ts +0 -6
- package/lib/pricing/currency.d.ts +0 -29
- package/lib/pricing/frequency.d.ts +0 -10
- package/lib/pricing/index.d.ts +0 -11
- package/lib/pricing/list-pricing-plan-product-filter.d.ts +0 -4
- package/lib/pricing/pricing-plan-product.d.ts +0 -34
- package/lib/pricing/pricing-plan.d.ts +0 -13
- package/lib/pricing/pricing-plan.service.d.ts +0 -17
- package/lib/pricing/product-pricing-rules.d.ts +0 -7
- package/lib/pricing/product-pricing-type.d.ts +0 -9
- package/lib/pricing/product-pricing.d.ts +0 -37
- package/lib/pricing/wholesale-pricing.service.d.ts +0 -19
- package/lib/product/index.d.ts +0 -2
- package/lib/product/list-products.d.ts +0 -16
- package/lib/product/product.d.ts +0 -9
- package/lib/product-summary/index.d.ts +0 -2
- package/lib/product-summary/product-summary.service.d.ts +0 -10
- package/lib/product-summary/subscription-retention.d.ts +0 -20
- package/lib/purchase/index.d.ts +0 -4
- package/lib/purchase/list-purchases.d.ts +0 -27
- package/lib/purchase/purchase.d.ts +0 -56
- package/lib/purchase/purchase.service.d.ts +0 -10
- package/lib/purchase/purchase_status.d.ts +0 -10
- package/lib/recurring_invoice/collection-method.d.ts +0 -4
- package/lib/recurring_invoice/index.d.ts +0 -5
- package/lib/recurring_invoice/interval.d.ts +0 -10
- package/lib/recurring_invoice/payment-processor.d.ts +0 -8
- package/lib/recurring_invoice/recurring-invoice.d.ts +0 -62
- package/lib/recurring_invoice/recurring-invoice.service.d.ts +0 -14
- package/lib/recurring_invoice/status.d.ts +0 -9
- package/lib/refund/index.d.ts +0 -2
- package/lib/refund/refund.d.ts +0 -36
- package/lib/refund/refund.service.d.ts +0 -11
- package/lib/retail-customer-configuration/index.d.ts +0 -2
- package/lib/retail-customer-configuration/retail-customer-configuration.d.ts +0 -20
- package/lib/retail-customer-configuration/retail-customer-configuration.service.d.ts +0 -9
- package/lib/revenue/index.d.ts +0 -2
- package/lib/revenue/revenue.interfaces.d.ts +0 -3
- package/lib/revenue/revenue.service.d.ts +0 -11
- package/lib/sales-credit-note/index.d.ts +0 -2
- package/lib/sales-credit-note/sales-credit-note.d.ts +0 -30
- package/lib/sales-credit-note/sales-credit-note.service.d.ts +0 -16
- package/lib/sales-invoice/index.d.ts +0 -2
- package/lib/sales-invoice/sales-invoice.d.ts +0 -42
- package/lib/sales-invoice/sales-invoice.service.d.ts +0 -16
- package/lib/sku.d.ts +0 -3
- package/lib/stripe-file/file.d.ts +0 -6
- package/lib/stripe-file/index.d.ts +0 -3
- package/lib/stripe-file/purpose.d.ts +0 -11
- package/lib/stripe-file/stripe-file.service.d.ts +0 -12
- package/lib/subscription/can-create-subscriptions-item.d.ts +0 -6
- package/lib/subscription/index.d.ts +0 -1
- package/lib/tax-rate/index.d.ts +0 -2
- package/lib/tax-rate/tax-rate.d.ts +0 -20
- package/lib/tax-rate/tax-rate.service.d.ts +0 -15
- package/vendasta-billing.metadata.json +0 -1
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { convertApiAppliedBundle } from '../applied_bundle';
|
|
2
|
-
import { appliedDiscountFromApi } from '../applied_discount';
|
|
3
|
-
import { currencyFromApi } from '../pricing';
|
|
4
|
-
import { collectionMethodFromApi, } from '../retail-customer-configuration';
|
|
5
|
-
import { AppliedTaxRate as ApiAppliedTaxRate, InvoiceItem as ApiInvoiceItem, InvoiceStatus as ApiInvoiceStatus, InvoiceStatus as InternalInvoiceStatus, ListInvoicesRequestFilters, TaxRate as ApiTaxRate, ListInvoicesRequestFiltersDateFilterDateField, } from '../_internal';
|
|
6
|
-
export var InvoiceStatus;
|
|
7
|
-
(function (InvoiceStatus) {
|
|
8
|
-
InvoiceStatus["DRAFT"] = "Draft";
|
|
9
|
-
InvoiceStatus["DUE"] = "Due";
|
|
10
|
-
InvoiceStatus["PAID"] = "Paid";
|
|
11
|
-
InvoiceStatus["VOID"] = "Void";
|
|
12
|
-
})(InvoiceStatus || (InvoiceStatus = {}));
|
|
13
|
-
export var InvoiceDateField;
|
|
14
|
-
(function (InvoiceDateField) {
|
|
15
|
-
InvoiceDateField["CREATED"] = "Created";
|
|
16
|
-
})(InvoiceDateField || (InvoiceDateField = {}));
|
|
17
|
-
export var InvoiceOrigin;
|
|
18
|
-
(function (InvoiceOrigin) {
|
|
19
|
-
InvoiceOrigin["MANUAL"] = "Manual";
|
|
20
|
-
InvoiceOrigin["SALES_ORDER"] = "Sales Order";
|
|
21
|
-
InvoiceOrigin["RENEWAL"] = "Renewal";
|
|
22
|
-
InvoiceOrigin["UNSET"] = "Unset";
|
|
23
|
-
})(InvoiceOrigin || (InvoiceOrigin = {}));
|
|
24
|
-
function convertApiStatus(s) {
|
|
25
|
-
switch (s) {
|
|
26
|
-
case ApiInvoiceStatus.DUE:
|
|
27
|
-
return InvoiceStatus.DUE;
|
|
28
|
-
case ApiInvoiceStatus.PAID:
|
|
29
|
-
return InvoiceStatus.PAID;
|
|
30
|
-
case ApiInvoiceStatus.VOID:
|
|
31
|
-
return InvoiceStatus.VOID;
|
|
32
|
-
default:
|
|
33
|
-
return InvoiceStatus.DRAFT;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function invoiceStatusToApi(status) {
|
|
37
|
-
switch (status) {
|
|
38
|
-
case InvoiceStatus.DUE:
|
|
39
|
-
return InternalInvoiceStatus.DUE;
|
|
40
|
-
case InvoiceStatus.PAID:
|
|
41
|
-
return InternalInvoiceStatus.PAID;
|
|
42
|
-
case InvoiceStatus.VOID:
|
|
43
|
-
return InternalInvoiceStatus.VOID;
|
|
44
|
-
default:
|
|
45
|
-
return InternalInvoiceStatus.DRAFT;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
function invoiceDateFilterFieldToApi(dateField) {
|
|
49
|
-
switch (dateField) {
|
|
50
|
-
default:
|
|
51
|
-
return ListInvoicesRequestFiltersDateFilterDateField.CREATED;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
function convertApiOrigin(s) {
|
|
55
|
-
switch (s) {
|
|
56
|
-
case 'manual':
|
|
57
|
-
return InvoiceOrigin.MANUAL;
|
|
58
|
-
case 'sales-order':
|
|
59
|
-
return InvoiceOrigin.SALES_ORDER;
|
|
60
|
-
case 'renewal':
|
|
61
|
-
return InvoiceOrigin.RENEWAL;
|
|
62
|
-
default:
|
|
63
|
-
return InvoiceOrigin.UNSET;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
export function convertApiAppliedTaxRate(at) {
|
|
67
|
-
if (!at) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
amount: at.amount || 0,
|
|
72
|
-
taxRateId: at.taxRateId || '',
|
|
73
|
-
percentage: at.percentage || 0,
|
|
74
|
-
name: at.name || '',
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
export function convertAppliedTaxRate(at) {
|
|
78
|
-
if (!at) {
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
return new ApiAppliedTaxRate({
|
|
82
|
-
amount: at.amount,
|
|
83
|
-
taxRateId: at.taxRateId
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
export function convertApiTaxRate(tr) {
|
|
87
|
-
if (!tr) {
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
id: tr.id || '',
|
|
92
|
-
name: tr.name || '',
|
|
93
|
-
description: tr.description || '',
|
|
94
|
-
percentage: tr.percentage || 0,
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
export function convertTaxRate(tr) {
|
|
98
|
-
if (!tr) {
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
return new ApiTaxRate({
|
|
102
|
-
id: tr.id,
|
|
103
|
-
name: tr.name,
|
|
104
|
-
description: tr.description,
|
|
105
|
-
percentage: tr.percentage,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
function convertApiCustomerAddress(ca) {
|
|
109
|
-
return {
|
|
110
|
-
address: (ca === null || ca === void 0 ? void 0 : ca.address) || '',
|
|
111
|
-
address2: (ca === null || ca === void 0 ? void 0 : ca.address2) || '',
|
|
112
|
-
city: (ca === null || ca === void 0 ? void 0 : ca.city) || '',
|
|
113
|
-
state: (ca === null || ca === void 0 ? void 0 : ca.state) || '',
|
|
114
|
-
zip: (ca === null || ca === void 0 ? void 0 : ca.zip) || '',
|
|
115
|
-
country: (ca === null || ca === void 0 ? void 0 : ca.country) || '',
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
export function convertApiInvoiceItem(ii) {
|
|
119
|
-
if (!ii) {
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
const appliedTaxes = (ii.appliedTaxes || []).map((at) => convertApiAppliedTaxRate(at));
|
|
123
|
-
const taxRates = (ii.taxRates || []).map((tr) => convertApiTaxRate(tr));
|
|
124
|
-
const appliedDiscounts = (ii.discounts || []).map((ad) => appliedDiscountFromApi(ad));
|
|
125
|
-
return {
|
|
126
|
-
id: ii.id || '',
|
|
127
|
-
sku: ii.sku || '',
|
|
128
|
-
amount: ii.amount || 0,
|
|
129
|
-
quantity: ii.quantity || 0,
|
|
130
|
-
description: ii.description || '',
|
|
131
|
-
subtotal: ii.subtotal || 0,
|
|
132
|
-
total: ii.total || 0,
|
|
133
|
-
appliedDiscounts: appliedDiscounts || [],
|
|
134
|
-
appliedTaxes: appliedTaxes || [],
|
|
135
|
-
taxRates: taxRates || [],
|
|
136
|
-
bundleId: ii.bundleId || '',
|
|
137
|
-
bundleInstanceId: ii.bundleInstanceId || '',
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
export function convertInvoiceItem(ii) {
|
|
141
|
-
if (!ii) {
|
|
142
|
-
return null;
|
|
143
|
-
}
|
|
144
|
-
return new ApiInvoiceItem({
|
|
145
|
-
sku: ii.sku,
|
|
146
|
-
amount: ii.amount,
|
|
147
|
-
quantity: ii.quantity,
|
|
148
|
-
description: ii.description,
|
|
149
|
-
total: ii.total,
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
export function convertApiInvoice(i) {
|
|
153
|
-
if (!i) {
|
|
154
|
-
return null;
|
|
155
|
-
}
|
|
156
|
-
const zeroDate = new Date('0001-01-01T00:00:00Z').valueOf();
|
|
157
|
-
const invoiceItems = (i.items || []).map((ii) => convertApiInvoiceItem(ii));
|
|
158
|
-
const appliedTaxes = (i.appliedTaxes || []).map((at) => convertApiAppliedTaxRate(at));
|
|
159
|
-
const taxRates = (i.defaultTaxRates || []).map((tr) => convertApiTaxRate(tr));
|
|
160
|
-
const appliedBundles = (i.appliedBundles || []).map((at) => convertApiAppliedBundle(at));
|
|
161
|
-
return {
|
|
162
|
-
id: i.id || '',
|
|
163
|
-
number: i.number || '',
|
|
164
|
-
customerId: i.customerId || '',
|
|
165
|
-
customerName: i.customerName || '',
|
|
166
|
-
contactId: i.contactId || '',
|
|
167
|
-
status: convertApiStatus(i.status),
|
|
168
|
-
subtotal: i.subtotal || 0,
|
|
169
|
-
total: i.total || 0,
|
|
170
|
-
discountTotal: i.amountDiscount || 0,
|
|
171
|
-
paid: i.paid.valueOf() !== zeroDate ? i.paid : null,
|
|
172
|
-
issued: i.issued.valueOf() !== zeroDate ? i.issued : null,
|
|
173
|
-
due: i.due.valueOf() !== zeroDate ? i.due : null,
|
|
174
|
-
created: i.created.valueOf() !== zeroDate ? i.created : null,
|
|
175
|
-
updated: i.updated.valueOf() !== zeroDate ? i.updated : null,
|
|
176
|
-
items: invoiceItems || [],
|
|
177
|
-
currency: currencyFromApi(i.currency),
|
|
178
|
-
orderId: i.orderId || '',
|
|
179
|
-
appliedTaxes: appliedTaxes || [],
|
|
180
|
-
defaultTaxRates: taxRates || [],
|
|
181
|
-
appliedBundles: appliedBundles || [],
|
|
182
|
-
origin: convertApiOrigin(i.origin),
|
|
183
|
-
collectionMethod: collectionMethodFromApi(i.collectionMethod),
|
|
184
|
-
memo: i.memo || '',
|
|
185
|
-
defaultPaymentMethod: i.defaultPaymentMethod || '',
|
|
186
|
-
customerAddress: convertApiCustomerAddress(i.customerAddress),
|
|
187
|
-
externalCustomerIdentifier: i.externalCustomerIdentifier || '',
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
export function listInvoiceFiltersToApi(filters) {
|
|
191
|
-
var _a, _b, _c;
|
|
192
|
-
return new ListInvoicesRequestFilters(Object.assign(Object.assign({}, filters), { statuses: (filters.statuses || []).map(s => invoiceStatusToApi(s)), dateFilter: {
|
|
193
|
-
dateGte: (_a = filters.dateFilter) === null || _a === void 0 ? void 0 : _a.dateGte,
|
|
194
|
-
dateLte: (_b = filters.dateFilter) === null || _b === void 0 ? void 0 : _b.dateLte,
|
|
195
|
-
dateField: invoiceDateFilterFieldToApi((_c = filters.dateFilter) === null || _c === void 0 ? void 0 : _c.dateField),
|
|
196
|
-
} }));
|
|
197
|
-
}
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIvd29ya3NwYWNlL3Nka3MvdHlwZXNjcmlwdC9zcmMvYmlsbGluZ19zZGsvc3JjLyIsInNvdXJjZXMiOlsibGliL2ludm9pY2UvaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFtQixzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlFLE9BQU8sRUFBWSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkQsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFDSCxjQUFjLElBQUksaUJBQWlCLEVBR25DLFdBQVcsSUFBSSxjQUFjLEVBQzdCLGFBQWEsSUFBSSxnQkFBZ0IsRUFDakMsYUFBYSxJQUFJLHFCQUFxQixFQUN0QywwQkFBMEIsRUFDMUIsT0FBTyxJQUFJLFVBQVUsRUFDckIsNkNBQTZDLEdBQ2hELE1BQU0sY0FBYyxDQUFDO0FBR3RCLE1BQU0sQ0FBTixJQUFZLGFBS1g7QUFMRCxXQUFZLGFBQWE7SUFDckIsZ0NBQWUsQ0FBQTtJQUNmLDRCQUFXLENBQUE7SUFDWCw4QkFBYSxDQUFBO0lBQ2IsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFFWDtBQUZELFdBQVksZ0JBQWdCO0lBQ3hCLHVDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFGVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRTNCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUNyQixrQ0FBaUIsQ0FBQTtJQUNqQiw0Q0FBMkIsQ0FBQTtJQUMzQixvQ0FBbUIsQ0FBQTtJQUNuQixnQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFMVyxhQUFhLEtBQWIsYUFBYSxRQUt4QjtBQXFERCxTQUFTLGdCQUFnQixDQUFDLENBQW1CO0lBQ3pDLFFBQVEsQ0FBQyxFQUFFO1FBQ1AsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHO1lBQ3JCLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQztRQUM3QixLQUFLLGdCQUFnQixDQUFDLElBQUk7WUFDdEIsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQzlCLEtBQUssZ0JBQWdCLENBQUMsSUFBSTtZQUN0QixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7UUFDOUI7WUFDSSxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUM7S0FDbEM7QUFDTCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxNQUFxQjtJQUM3QyxRQUFRLE1BQU0sRUFBRTtRQUNaLEtBQUssYUFBYSxDQUFDLEdBQUc7WUFDbEIsT0FBTyxxQkFBcUIsQ0FBQyxHQUFHLENBQUM7UUFDckMsS0FBSyxhQUFhLENBQUMsSUFBSTtZQUNuQixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQztRQUN0QyxLQUFLLGFBQWEsQ0FBQyxJQUFJO1lBQ25CLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDO1FBQ3RDO1lBQ0ksT0FBTyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7S0FDMUM7QUFDTCxDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxTQUEyQjtJQUM1RCxRQUFRLFNBQVMsRUFBRTtRQUNmO1lBQ0ksT0FBTyw2Q0FBNkMsQ0FBQyxPQUFPLENBQUE7S0FDbkU7QUFDTCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFTO0lBQy9CLFFBQVEsQ0FBQyxFQUFFO1FBQ1AsS0FBSyxRQUFRO1lBQ1QsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ2hDLEtBQUssYUFBYTtZQUNkLE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxLQUFLLFNBQVM7WUFDVixPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDakM7WUFDSSxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUM7S0FDbEM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEVBQXFCO0lBQzFELElBQUksQ0FBQyxFQUFFLEVBQUU7UUFDTCxPQUFPLElBQUksQ0FBQTtLQUNkO0lBRUQsT0FBTztRQUNMLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUM7UUFDdEIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLElBQUksRUFBRTtRQUM3QixVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsSUFBSSxDQUFDO1FBQzlCLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUU7S0FDcEIsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsRUFBa0I7SUFDcEQsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNMLE9BQU8sSUFBSSxDQUFBO0tBQ2Q7SUFFRCxPQUFPLElBQUksaUJBQWlCLENBQUM7UUFDekIsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNO1FBQ2pCLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUztLQUMxQixDQUFDLENBQUE7QUFDTixDQUFDO0FBR0QsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEVBQWM7SUFDNUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNMLE9BQU8sSUFBSSxDQUFBO0tBQ2Q7SUFFRCxPQUFPO1FBQ0gsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRTtRQUNmLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDbkIsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLElBQUksRUFBRTtRQUNqQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsSUFBSSxDQUFDO0tBQ2pDLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUFXO0lBQ3RDLElBQUksQ0FBQyxFQUFFLEVBQUU7UUFDTCxPQUFPLElBQUksQ0FBQTtLQUNkO0lBRUQsT0FBTyxJQUFJLFVBQVUsQ0FBQztRQUNsQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDVCxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUk7UUFDYixXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVc7UUFDM0IsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVO0tBQzVCLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFXRCxTQUFTLHlCQUF5QixDQUFDLEVBQTZCO0lBQzVELE9BQU87UUFDSCxPQUFPLEVBQUUsQ0FBQSxFQUFFLGFBQUYsRUFBRSx1QkFBRixFQUFFLENBQUUsT0FBTyxLQUFJLEVBQUU7UUFDMUIsUUFBUSxFQUFFLENBQUEsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLFFBQVEsS0FBSSxFQUFFO1FBQzVCLElBQUksRUFBRSxDQUFBLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxJQUFJLEtBQUksRUFBRTtRQUNwQixLQUFLLEVBQUUsQ0FBQSxFQUFFLGFBQUYsRUFBRSx1QkFBRixFQUFFLENBQUUsS0FBSyxLQUFJLEVBQUU7UUFDdEIsR0FBRyxFQUFFLENBQUEsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLEdBQUcsS0FBSSxFQUFFO1FBQ2xCLE9BQU8sRUFBRSxDQUFBLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxPQUFPLEtBQUksRUFBRTtLQUM3QixDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxFQUFrQjtJQUNwRCxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ0wsT0FBTyxJQUFJLENBQUE7S0FDZDtJQUVELE1BQU0sWUFBWSxHQUFxQixDQUFDLEVBQUUsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pHLE1BQU0sUUFBUSxHQUFjLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkYsTUFBTSxnQkFBZ0IsR0FBc0IsQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV6RyxPQUFPO1FBQ0gsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRTtRQUNmLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUU7UUFDakIsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQztRQUN0QixRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDO1FBQzFCLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxJQUFJLEVBQUU7UUFDakMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLElBQUksQ0FBQztRQUMxQixLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDO1FBQ3BCLGdCQUFnQixFQUFFLGdCQUFnQixJQUFJLEVBQUU7UUFDeEMsWUFBWSxFQUFFLFlBQVksSUFBSSxFQUFFO1FBQ2hDLFFBQVEsRUFBRSxRQUFRLElBQUksRUFBRTtRQUN4QixRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsSUFBSSxFQUFFO1FBQzNCLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFO0tBQzlDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEVBQWU7SUFDOUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNMLE9BQU8sSUFBSSxDQUFBO0tBQ2Q7SUFFRCxPQUFPLElBQUksY0FBYyxDQUFDO1FBQ3RCLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRztRQUNYLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTTtRQUNqQixRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVE7UUFDckIsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXO1FBQzNCLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSztLQUNsQixDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLENBQWE7SUFDM0MsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFBO0tBQ2Q7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVELE1BQU0sWUFBWSxHQUFrQixDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNGLE1BQU0sWUFBWSxHQUFxQixDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLE1BQU0sUUFBUSxHQUFjLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekYsTUFBTSxjQUFjLEdBQW9CLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUcsT0FBTztRQUNILEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUU7UUFDZCxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFO1FBQ3RCLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLEVBQUU7UUFDOUIsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksRUFBRTtRQUNsQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFO1FBQzVCLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2xDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUM7UUFDekIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQztRQUNuQixhQUFhLEVBQUUsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDO1FBQ3BDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNuRCxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDekQsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ2hELE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUM1RCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDNUQsS0FBSyxFQUFFLFlBQVksSUFBSSxFQUFFO1FBQ3pCLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNyQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFO1FBQ3hCLFlBQVksRUFBRSxZQUFZLElBQUksRUFBRTtRQUNoQyxlQUFlLEVBQUUsUUFBUSxJQUFJLEVBQUU7UUFDL0IsY0FBYyxFQUFFLGNBQWMsSUFBSSxFQUFFO1FBQ3BDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2xDLGdCQUFnQixFQUFFLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3RCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFO1FBQ2xCLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxvQkFBb0IsSUFBSSxFQUFFO1FBQ2xELGVBQWUsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQzdELDBCQUEwQixFQUFFLENBQUMsQ0FBQywwQkFBMEIsSUFBSSxFQUFFO0tBQ2pFLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQTJCOztJQUMvRCxPQUFPLElBQUksMEJBQTBCLGlDQUM5QixPQUFPLEtBQ1YsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsRSxVQUFVLEVBQUU7WUFDUixPQUFPLFFBQUUsT0FBTyxDQUFDLFVBQVUsMENBQUUsT0FBTztZQUNwQyxPQUFPLFFBQUUsT0FBTyxDQUFDLFVBQVUsMENBQUUsT0FBTztZQUNwQyxTQUFTLEVBQUUsMkJBQTJCLE9BQUMsT0FBTyxDQUFDLFVBQVUsMENBQUUsU0FBUyxDQUFDO1NBQ3hFLElBQ0gsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWVkQnVuZGxlLCBjb252ZXJ0QXBpQXBwbGllZEJ1bmRsZSB9IGZyb20gJy4uL2FwcGxpZWRfYnVuZGxlJztcbmltcG9ydCB7IEFwcGxpZWREaXNjb3VudCwgYXBwbGllZERpc2NvdW50RnJvbUFwaSB9IGZyb20gJy4uL2FwcGxpZWRfZGlzY291bnQnO1xuaW1wb3J0IHsgQ3VycmVuY3ksIGN1cnJlbmN5RnJvbUFwaSB9IGZyb20gJy4uL3ByaWNpbmcnO1xuaW1wb3J0IHtcbiAgQ29sbGVjdGlvbk1ldGhvZCxcbiAgY29sbGVjdGlvbk1ldGhvZEZyb21BcGksXG59IGZyb20gJy4uL3JldGFpbC1jdXN0b21lci1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFRheFJhdGUgfSBmcm9tICcuLi90YXgtcmF0ZSc7XG5pbXBvcnQge1xuICAgIEFwcGxpZWRUYXhSYXRlIGFzIEFwaUFwcGxpZWRUYXhSYXRlLFxuICAgIEludm9pY2VDdXN0b21lckFkZHJlc3MgYXMgQXBpSW52b2ljZUN1c3RvbWVyQWRkcmVzcyxcbiAgICBJbnZvaWNlIGFzIEFwaUludm9pY2UsXG4gICAgSW52b2ljZUl0ZW0gYXMgQXBpSW52b2ljZUl0ZW0sXG4gICAgSW52b2ljZVN0YXR1cyBhcyBBcGlJbnZvaWNlU3RhdHVzLFxuICAgIEludm9pY2VTdGF0dXMgYXMgSW50ZXJuYWxJbnZvaWNlU3RhdHVzLFxuICAgIExpc3RJbnZvaWNlc1JlcXVlc3RGaWx0ZXJzLFxuICAgIFRheFJhdGUgYXMgQXBpVGF4UmF0ZSxcbiAgICBMaXN0SW52b2ljZXNSZXF1ZXN0RmlsdGVyc0RhdGVGaWx0ZXJEYXRlRmllbGQsXG59IGZyb20gJy4uL19pbnRlcm5hbCc7XG5pbXBvcnQgeyBMaXN0SW52b2ljZXNGaWx0ZXIgfSBmcm9tICcuL2xpc3QtaW52b2ljZSc7XG5cbmV4cG9ydCBlbnVtIEludm9pY2VTdGF0dXMge1xuICAgIERSQUZUID0gJ0RyYWZ0JyxcbiAgICBEVUUgPSAnRHVlJyxcbiAgICBQQUlEID0gJ1BhaWQnLFxuICAgIFZPSUQgPSAnVm9pZCdcbn1cblxuZXhwb3J0IGVudW0gSW52b2ljZURhdGVGaWVsZCB7XG4gICAgQ1JFQVRFRCA9ICdDcmVhdGVkJ1xufVxuXG5leHBvcnQgZW51bSBJbnZvaWNlT3JpZ2luIHtcbiAgICBNQU5VQUwgPSAnTWFudWFsJyxcbiAgICBTQUxFU19PUkRFUiA9ICdTYWxlcyBPcmRlcicsXG4gICAgUkVORVdBTCA9ICdSZW5ld2FsJyxcbiAgICBVTlNFVCA9ICdVbnNldCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlSXRlbSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBza3U6IHN0cmluZztcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBxdWFudGl0eTogbnVtYmVyO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc3VidG90YWw6IG51bWJlcjtcbiAgICB0b3RhbDogbnVtYmVyO1xuICAgIGFwcGxpZWRUYXhlczogQXBwbGllZFRheFJhdGVbXTtcbiAgICBhcHBsaWVkRGlzY291bnRzOiBBcHBsaWVkRGlzY291bnRbXTtcbiAgICB0YXhSYXRlczogVGF4UmF0ZVtdO1xuICAgIGJ1bmRsZUlkOiBzdHJpbmc7XG4gICAgYnVuZGxlSW5zdGFuY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG51bWJlcjogc3RyaW5nO1xuICAgIGN1c3RvbWVySWQ6IHN0cmluZztcbiAgICBjdXN0b21lck5hbWU6IHN0cmluZztcbiAgICBjb250YWN0SWQ6IHN0cmluZztcbiAgICBzdGF0dXM6IEludm9pY2VTdGF0dXM7XG4gICAgc3VidG90YWw6IG51bWJlcjtcbiAgICBkaXNjb3VudFRvdGFsOiBudW1iZXI7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBwYWlkOiBEYXRlO1xuICAgIGlzc3VlZDogRGF0ZTtcbiAgICBkdWU6IERhdGU7XG4gICAgY3JlYXRlZDogRGF0ZTtcbiAgICB1cGRhdGVkOiBEYXRlO1xuICAgIGl0ZW1zOiBJbnZvaWNlSXRlbVtdO1xuICAgIGN1cnJlbmN5OiBDdXJyZW5jeTtcbiAgICBvcmRlcklkOiBzdHJpbmc7XG4gICAgYXBwbGllZFRheGVzOiBBcHBsaWVkVGF4UmF0ZVtdO1xuICAgIGRlZmF1bHRUYXhSYXRlczogVGF4UmF0ZVtdO1xuICAgIGFwcGxpZWRCdW5kbGVzOiBBcHBsaWVkQnVuZGxlW107XG4gICAgb3JpZ2luOiBJbnZvaWNlT3JpZ2luO1xuICAgIGNvbGxlY3Rpb25NZXRob2Q6IENvbGxlY3Rpb25NZXRob2Q7XG4gICAgbWVtbzogc3RyaW5nO1xuICAgIGRlZmF1bHRQYXltZW50TWV0aG9kOiBzdHJpbmc7XG4gICAgY3VzdG9tZXJBZGRyZXNzOiBJbnZvaWNlQ3VzdG9tZXJBZGRyZXNzLFxuICAgIGV4dGVybmFsQ3VzdG9tZXJJZGVudGlmaWVyOiBzdHJpbmcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGllZFRheFJhdGUge1xuICBhbW91bnQ/OiBudW1iZXI7XG4gIHRheFJhdGVJZD86IHN0cmluZztcbiAgcGVyY2VudGFnZT86IG51bWJlcjtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gY29udmVydEFwaVN0YXR1cyhzOiBBcGlJbnZvaWNlU3RhdHVzKTogSW52b2ljZVN0YXR1cyB7XG4gICAgc3dpdGNoIChzKSB7XG4gICAgICAgIGNhc2UgQXBpSW52b2ljZVN0YXR1cy5EVUU6XG4gICAgICAgICAgICByZXR1cm4gSW52b2ljZVN0YXR1cy5EVUU7XG4gICAgICAgIGNhc2UgQXBpSW52b2ljZVN0YXR1cy5QQUlEOlxuICAgICAgICAgICAgcmV0dXJuIEludm9pY2VTdGF0dXMuUEFJRDtcbiAgICAgICAgY2FzZSBBcGlJbnZvaWNlU3RhdHVzLlZPSUQ6XG4gICAgICAgICAgICByZXR1cm4gSW52b2ljZVN0YXR1cy5WT0lEO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIEludm9pY2VTdGF0dXMuRFJBRlQ7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpbnZvaWNlU3RhdHVzVG9BcGkoc3RhdHVzOiBJbnZvaWNlU3RhdHVzKTogSW50ZXJuYWxJbnZvaWNlU3RhdHVzIHtcbiAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICBjYXNlIEludm9pY2VTdGF0dXMuRFVFOlxuICAgICAgICAgICAgcmV0dXJuIEludGVybmFsSW52b2ljZVN0YXR1cy5EVUU7XG4gICAgICAgIGNhc2UgSW52b2ljZVN0YXR1cy5QQUlEOlxuICAgICAgICAgICAgcmV0dXJuIEludGVybmFsSW52b2ljZVN0YXR1cy5QQUlEO1xuICAgICAgICBjYXNlIEludm9pY2VTdGF0dXMuVk9JRDpcbiAgICAgICAgICAgIHJldHVybiBJbnRlcm5hbEludm9pY2VTdGF0dXMuVk9JRDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBJbnRlcm5hbEludm9pY2VTdGF0dXMuRFJBRlQ7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpbnZvaWNlRGF0ZUZpbHRlckZpZWxkVG9BcGkoZGF0ZUZpZWxkOiBJbnZvaWNlRGF0ZUZpZWxkKTogTGlzdEludm9pY2VzUmVxdWVzdEZpbHRlcnNEYXRlRmlsdGVyRGF0ZUZpZWxkIHtcbiAgICBzd2l0Y2ggKGRhdGVGaWVsZCkge1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIExpc3RJbnZvaWNlc1JlcXVlc3RGaWx0ZXJzRGF0ZUZpbHRlckRhdGVGaWVsZC5DUkVBVEVEXG4gICAgfVxufVxuXG5mdW5jdGlvbiBjb252ZXJ0QXBpT3JpZ2luKHM6IHN0cmluZyk6IEludm9pY2VPcmlnaW4ge1xuICAgIHN3aXRjaCAocykge1xuICAgICAgICBjYXNlICdtYW51YWwnOlxuICAgICAgICAgICAgcmV0dXJuIEludm9pY2VPcmlnaW4uTUFOVUFMO1xuICAgICAgICBjYXNlICdzYWxlcy1vcmRlcic6XG4gICAgICAgICAgICByZXR1cm4gSW52b2ljZU9yaWdpbi5TQUxFU19PUkRFUjtcbiAgICAgICAgY2FzZSAncmVuZXdhbCc6XG4gICAgICAgICAgICByZXR1cm4gSW52b2ljZU9yaWdpbi5SRU5FV0FMO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIEludm9pY2VPcmlnaW4uVU5TRVQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEFwaUFwcGxpZWRUYXhSYXRlKGF0OiBBcGlBcHBsaWVkVGF4UmF0ZSk6IEFwcGxpZWRUYXhSYXRlIHtcbiAgICBpZiAoIWF0KSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFtb3VudDogYXQuYW1vdW50IHx8IDAsXG4gICAgICB0YXhSYXRlSWQ6IGF0LnRheFJhdGVJZCB8fCAnJyxcbiAgICAgIHBlcmNlbnRhZ2U6IGF0LnBlcmNlbnRhZ2UgfHwgMCxcbiAgICAgIG5hbWU6IGF0Lm5hbWUgfHwgJycsXG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEFwcGxpZWRUYXhSYXRlKGF0OiBBcHBsaWVkVGF4UmF0ZSk6IEFwaUFwcGxpZWRUYXhSYXRlIHtcbiAgICBpZiAoIWF0KSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBBcGlBcHBsaWVkVGF4UmF0ZSh7XG4gICAgICAgIGFtb3VudDogYXQuYW1vdW50LFxuICAgICAgICB0YXhSYXRlSWQ6IGF0LnRheFJhdGVJZFxuICAgIH0pXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRBcGlUYXhSYXRlKHRyOiBBcGlUYXhSYXRlKTogVGF4UmF0ZSB7XG4gICAgaWYgKCF0cikge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB0ci5pZCB8fCAnJyxcbiAgICAgICAgbmFtZTogdHIubmFtZSB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHRyLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBwZXJjZW50YWdlOiB0ci5wZXJjZW50YWdlIHx8IDAsXG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRheFJhdGUodHI6IFRheFJhdGUpOiBBcGlUYXhSYXRlIHtcbiAgICBpZiAoIXRyKSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBBcGlUYXhSYXRlKHtcbiAgICAgICAgaWQ6IHRyLmlkLFxuICAgICAgICBuYW1lOiB0ci5uYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogdHIuZGVzY3JpcHRpb24sXG4gICAgICAgIHBlcmNlbnRhZ2U6IHRyLnBlcmNlbnRhZ2UsXG4gICAgfSlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlQ3VzdG9tZXJBZGRyZXNzIHtcbiAgICBhZGRyZXNzPzogc3RyaW5nO1xuICAgIGFkZHJlc3MyPzogc3RyaW5nO1xuICAgIGNpdHk/OiBzdHJpbmc7XG4gICAgc3RhdGU/OiBzdHJpbmc7XG4gICAgemlwPzogc3RyaW5nO1xuICAgIGNvdW50cnk/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRBcGlDdXN0b21lckFkZHJlc3MoY2E6IEFwaUludm9pY2VDdXN0b21lckFkZHJlc3MpOiBJbnZvaWNlQ3VzdG9tZXJBZGRyZXNzIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBhZGRyZXNzOiBjYT8uYWRkcmVzcyB8fCAnJyxcbiAgICAgICAgYWRkcmVzczI6IGNhPy5hZGRyZXNzMiB8fCAnJyxcbiAgICAgICAgY2l0eTogY2E/LmNpdHkgfHwgJycsXG4gICAgICAgIHN0YXRlOiBjYT8uc3RhdGUgfHwgJycsXG4gICAgICAgIHppcDogY2E/LnppcCB8fCAnJyxcbiAgICAgICAgY291bnRyeTogY2E/LmNvdW50cnkgfHwgJycsXG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRBcGlJbnZvaWNlSXRlbShpaTogQXBpSW52b2ljZUl0ZW0pOiBJbnZvaWNlSXRlbSB7XG4gICAgaWYgKCFpaSkge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IGFwcGxpZWRUYXhlczogQXBwbGllZFRheFJhdGVbXSA9IChpaS5hcHBsaWVkVGF4ZXMgfHwgW10pLm1hcCgoYXQpID0+IGNvbnZlcnRBcGlBcHBsaWVkVGF4UmF0ZShhdCkpO1xuICAgIGNvbnN0IHRheFJhdGVzOiBUYXhSYXRlW10gPSAoaWkudGF4UmF0ZXMgfHwgW10pLm1hcCgodHIpID0+IGNvbnZlcnRBcGlUYXhSYXRlKHRyKSk7XG4gICAgY29uc3QgYXBwbGllZERpc2NvdW50czogQXBwbGllZERpc2NvdW50W10gPSAoaWkuZGlzY291bnRzIHx8IFtdKS5tYXAoKGFkKSA9PiBhcHBsaWVkRGlzY291bnRGcm9tQXBpKGFkKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogaWkuaWQgfHwgJycsXG4gICAgICAgIHNrdTogaWkuc2t1IHx8ICcnLFxuICAgICAgICBhbW91bnQ6IGlpLmFtb3VudCB8fCAwLFxuICAgICAgICBxdWFudGl0eTogaWkucXVhbnRpdHkgfHwgMCxcbiAgICAgICAgZGVzY3JpcHRpb246IGlpLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBzdWJ0b3RhbDogaWkuc3VidG90YWwgfHwgMCxcbiAgICAgICAgdG90YWw6IGlpLnRvdGFsIHx8IDAsXG4gICAgICAgIGFwcGxpZWREaXNjb3VudHM6IGFwcGxpZWREaXNjb3VudHMgfHwgW10sXG4gICAgICAgIGFwcGxpZWRUYXhlczogYXBwbGllZFRheGVzIHx8IFtdLFxuICAgICAgICB0YXhSYXRlczogdGF4UmF0ZXMgfHwgW10sXG4gICAgICAgIGJ1bmRsZUlkOiBpaS5idW5kbGVJZCB8fCAnJyxcbiAgICAgICAgYnVuZGxlSW5zdGFuY2VJZDogaWkuYnVuZGxlSW5zdGFuY2VJZCB8fCAnJyxcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEludm9pY2VJdGVtKGlpOiBJbnZvaWNlSXRlbSk6IEFwaUludm9pY2VJdGVtIHtcbiAgICBpZiAoIWlpKSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBBcGlJbnZvaWNlSXRlbSh7XG4gICAgICAgIHNrdTogaWkuc2t1LFxuICAgICAgICBhbW91bnQ6IGlpLmFtb3VudCxcbiAgICAgICAgcXVhbnRpdHk6IGlpLnF1YW50aXR5LFxuICAgICAgICBkZXNjcmlwdGlvbjogaWkuZGVzY3JpcHRpb24sXG4gICAgICAgIHRvdGFsOiBpaS50b3RhbCxcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRBcGlJbnZvaWNlKGk6IEFwaUludm9pY2UpOiBJbnZvaWNlIHtcbiAgICBpZiAoIWkpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBjb25zdCB6ZXJvRGF0ZSA9IG5ldyBEYXRlKCcwMDAxLTAxLTAxVDAwOjAwOjAwWicpLnZhbHVlT2YoKTtcbiAgICBjb25zdCBpbnZvaWNlSXRlbXM6IEludm9pY2VJdGVtW10gPSAoaS5pdGVtcyB8fCBbXSkubWFwKChpaSkgPT4gY29udmVydEFwaUludm9pY2VJdGVtKGlpKSk7XG4gICAgY29uc3QgYXBwbGllZFRheGVzOiBBcHBsaWVkVGF4UmF0ZVtdID0gKGkuYXBwbGllZFRheGVzIHx8IFtdKS5tYXAoKGF0KSA9PiBjb252ZXJ0QXBpQXBwbGllZFRheFJhdGUoYXQpKTtcbiAgICBjb25zdCB0YXhSYXRlczogVGF4UmF0ZVtdID0gKGkuZGVmYXVsdFRheFJhdGVzIHx8IFtdKS5tYXAoKHRyKSA9PiBjb252ZXJ0QXBpVGF4UmF0ZSh0cikpO1xuICAgIGNvbnN0IGFwcGxpZWRCdW5kbGVzOiBBcHBsaWVkQnVuZGxlW10gPSAoaS5hcHBsaWVkQnVuZGxlcyB8fCBbXSkubWFwKChhdCkgPT4gY29udmVydEFwaUFwcGxpZWRCdW5kbGUoYXQpKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBpLmlkIHx8ICcnLFxuICAgICAgICBudW1iZXI6IGkubnVtYmVyIHx8ICcnLFxuICAgICAgICBjdXN0b21lcklkOiBpLmN1c3RvbWVySWQgfHwgJycsXG4gICAgICAgIGN1c3RvbWVyTmFtZTogaS5jdXN0b21lck5hbWUgfHwgJycsXG4gICAgICAgIGNvbnRhY3RJZDogaS5jb250YWN0SWQgfHwgJycsXG4gICAgICAgIHN0YXR1czogY29udmVydEFwaVN0YXR1cyhpLnN0YXR1cyksXG4gICAgICAgIHN1YnRvdGFsOiBpLnN1YnRvdGFsIHx8IDAsXG4gICAgICAgIHRvdGFsOiBpLnRvdGFsIHx8IDAsXG4gICAgICAgIGRpc2NvdW50VG90YWw6IGkuYW1vdW50RGlzY291bnQgfHwgMCxcbiAgICAgICAgcGFpZDogaS5wYWlkLnZhbHVlT2YoKSAhPT0gemVyb0RhdGUgPyBpLnBhaWQgOiBudWxsLFxuICAgICAgICBpc3N1ZWQ6IGkuaXNzdWVkLnZhbHVlT2YoKSAhPT0gemVyb0RhdGUgPyBpLmlzc3VlZCA6IG51bGwsXG4gICAgICAgIGR1ZTogaS5kdWUudmFsdWVPZigpICE9PSB6ZXJvRGF0ZSA/IGkuZHVlIDogbnVsbCxcbiAgICAgICAgY3JlYXRlZDogaS5jcmVhdGVkLnZhbHVlT2YoKSAhPT0gemVyb0RhdGUgPyBpLmNyZWF0ZWQgOiBudWxsLFxuICAgICAgICB1cGRhdGVkOiBpLnVwZGF0ZWQudmFsdWVPZigpICE9PSB6ZXJvRGF0ZSA/IGkudXBkYXRlZCA6IG51bGwsXG4gICAgICAgIGl0ZW1zOiBpbnZvaWNlSXRlbXMgfHwgW10sXG4gICAgICAgIGN1cnJlbmN5OiBjdXJyZW5jeUZyb21BcGkoaS5jdXJyZW5jeSksXG4gICAgICAgIG9yZGVySWQ6IGkub3JkZXJJZCB8fCAnJyxcbiAgICAgICAgYXBwbGllZFRheGVzOiBhcHBsaWVkVGF4ZXMgfHwgW10sXG4gICAgICAgIGRlZmF1bHRUYXhSYXRlczogdGF4UmF0ZXMgfHwgW10sXG4gICAgICAgIGFwcGxpZWRCdW5kbGVzOiBhcHBsaWVkQnVuZGxlcyB8fCBbXSxcbiAgICAgICAgb3JpZ2luOiBjb252ZXJ0QXBpT3JpZ2luKGkub3JpZ2luKSxcbiAgICAgICAgY29sbGVjdGlvbk1ldGhvZDogY29sbGVjdGlvbk1ldGhvZEZyb21BcGkoaS5jb2xsZWN0aW9uTWV0aG9kKSxcbiAgICAgICAgbWVtbzogaS5tZW1vIHx8ICcnLFxuICAgICAgICBkZWZhdWx0UGF5bWVudE1ldGhvZDogaS5kZWZhdWx0UGF5bWVudE1ldGhvZCB8fCAnJyxcbiAgICAgICAgY3VzdG9tZXJBZGRyZXNzOiBjb252ZXJ0QXBpQ3VzdG9tZXJBZGRyZXNzKGkuY3VzdG9tZXJBZGRyZXNzKSxcbiAgICAgICAgZXh0ZXJuYWxDdXN0b21lcklkZW50aWZpZXI6IGkuZXh0ZXJuYWxDdXN0b21lcklkZW50aWZpZXIgfHwgJycsXG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RJbnZvaWNlRmlsdGVyc1RvQXBpKGZpbHRlcnM6IExpc3RJbnZvaWNlc0ZpbHRlcik6IExpc3RJbnZvaWNlc1JlcXVlc3RGaWx0ZXJzIHtcbiAgICByZXR1cm4gbmV3IExpc3RJbnZvaWNlc1JlcXVlc3RGaWx0ZXJzKHtcbiAgICAgICAgLi4uZmlsdGVycyxcbiAgICAgICAgc3RhdHVzZXM6IChmaWx0ZXJzLnN0YXR1c2VzIHx8IFtdKS5tYXAocyA9PiBpbnZvaWNlU3RhdHVzVG9BcGkocykpLFxuICAgICAgICBkYXRlRmlsdGVyOiB7XG4gICAgICAgICAgICBkYXRlR3RlOiBmaWx0ZXJzLmRhdGVGaWx0ZXI/LmRhdGVHdGUsXG4gICAgICAgICAgICBkYXRlTHRlOiBmaWx0ZXJzLmRhdGVGaWx0ZXI/LmRhdGVMdGUsXG4gICAgICAgICAgICBkYXRlRmllbGQ6IGludm9pY2VEYXRlRmlsdGVyRmllbGRUb0FwaShmaWx0ZXJzLmRhdGVGaWx0ZXI/LmRhdGVGaWVsZCksXG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { map, share } from 'rxjs/operators';
|
|
4
|
-
import { PagedResponse } from '../core';
|
|
5
|
-
import { currencyFromApi } from '../pricing';
|
|
6
|
-
import { collectionMethodToApi, } from '../retail-customer-configuration';
|
|
7
|
-
import { HostService } from '../_generated';
|
|
8
|
-
import { AddBundleRequest, AddLineItemRequest, ChargeInvoiceRequest, CreateInvoiceRequest, DeleteInvoiceRequest, DeleteLineItemRequest, DuplicateInvoiceRequest, FieldMask, GetInvoiceRequest, Invoice as ApiInvoice, InvoiceApiService, ListInvoicesRequest, PagedRequestOptions, PayInvoiceRequest, RemoveBundleRequest, SendInvoiceRequest, UpdateBundleRequest, UpdateDefaultTaxRatesRequest, UpdateInvoiceRequest, UpdateLineItemRequest, VoidInvoiceRequest, } from '../_internal';
|
|
9
|
-
import { convertApiInvoice, listInvoiceFiltersToApi } from './invoice';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../_generated/host.service";
|
|
12
|
-
import * as i2 from "@angular/common/http";
|
|
13
|
-
import * as i3 from "../_internal/invoice.api.service";
|
|
14
|
-
export class InvoiceService {
|
|
15
|
-
constructor(hostService, http, invoiceApiService) {
|
|
16
|
-
this.hostService = hostService;
|
|
17
|
-
this.http = http;
|
|
18
|
-
this.invoiceApiService = invoiceApiService;
|
|
19
|
-
}
|
|
20
|
-
addBundle(merchantId, invoiceId, bundleId) {
|
|
21
|
-
return this.invoiceApiService.addBundle(new AddBundleRequest({
|
|
22
|
-
merchantId,
|
|
23
|
-
invoiceId,
|
|
24
|
-
bundleId,
|
|
25
|
-
})).pipe(map((res) => convertApiInvoice(res.invoice)));
|
|
26
|
-
}
|
|
27
|
-
addLineItem(merchantId, invoiceId, sku, amount, quantity, description, taxRates) {
|
|
28
|
-
return this.invoiceApiService.addLineItem(new AddLineItemRequest({
|
|
29
|
-
merchantId,
|
|
30
|
-
invoiceId,
|
|
31
|
-
sku,
|
|
32
|
-
amount,
|
|
33
|
-
quantity,
|
|
34
|
-
description,
|
|
35
|
-
taxRates
|
|
36
|
-
})).pipe(map((res) => convertApiInvoice(res.invoice)));
|
|
37
|
-
}
|
|
38
|
-
charge(merchantId, customerId, invoiceId, paymentMethodId) {
|
|
39
|
-
return this.invoiceApiService.charge(new ChargeInvoiceRequest({
|
|
40
|
-
merchantId,
|
|
41
|
-
customerId,
|
|
42
|
-
invoiceId,
|
|
43
|
-
paymentMethodId
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
create(merchantId, customerId, orderId, currencyCode) {
|
|
47
|
-
return this.invoiceApiService.create(new CreateInvoiceRequest({
|
|
48
|
-
merchantId: merchantId,
|
|
49
|
-
customerId: customerId,
|
|
50
|
-
orderId: orderId,
|
|
51
|
-
currencyCode: currencyCode
|
|
52
|
-
})).pipe(map((res) => res ? res.invoiceId : ''));
|
|
53
|
-
}
|
|
54
|
-
delete(merchantId, invoiceId) {
|
|
55
|
-
return this.invoiceApiService.delete(new DeleteInvoiceRequest({
|
|
56
|
-
merchantId,
|
|
57
|
-
invoiceId
|
|
58
|
-
}));
|
|
59
|
-
}
|
|
60
|
-
deleteLineItem(merchantId, invoiceId, id) {
|
|
61
|
-
return this.invoiceApiService.deleteLineItem(new DeleteLineItemRequest({
|
|
62
|
-
merchantId,
|
|
63
|
-
invoiceId,
|
|
64
|
-
id,
|
|
65
|
-
})).pipe(map((res) => convertApiInvoice(res.invoice)));
|
|
66
|
-
}
|
|
67
|
-
exportCSV(merchantId, filters) {
|
|
68
|
-
const url = `${this.hostService.httpsHostWithScheme()}/invoice/export`;
|
|
69
|
-
return this.http.post(url, {
|
|
70
|
-
merchant_id: merchantId,
|
|
71
|
-
filters: filters
|
|
72
|
-
}, {
|
|
73
|
-
observe: 'body',
|
|
74
|
-
responseType: 'blob',
|
|
75
|
-
withCredentials: true
|
|
76
|
-
}).pipe(share());
|
|
77
|
-
}
|
|
78
|
-
generatePDF(merchantId, invoiceId, documentType) {
|
|
79
|
-
const url = `${this.hostService.httpsHostWithScheme()}/invoice/generate-pdf`;
|
|
80
|
-
return this.http.post(url, {
|
|
81
|
-
merchant_id: merchantId, invoice_id: invoiceId, document_type: documentType
|
|
82
|
-
}, {
|
|
83
|
-
observe: 'body',
|
|
84
|
-
responseType: 'blob',
|
|
85
|
-
}).pipe(share());
|
|
86
|
-
}
|
|
87
|
-
get(merchantId, invoiceId) {
|
|
88
|
-
return this.invoiceApiService.get(new GetInvoiceRequest({
|
|
89
|
-
merchantId, invoiceId
|
|
90
|
-
})).pipe(map((res) => convertApiInvoice(res.invoice)));
|
|
91
|
-
}
|
|
92
|
-
list(filters, cursor, pageSize) {
|
|
93
|
-
const req = new ListInvoicesRequest({
|
|
94
|
-
filters: listInvoiceFiltersToApi(filters),
|
|
95
|
-
pagingOptions: new PagedRequestOptions({ cursor, pageSize }),
|
|
96
|
-
});
|
|
97
|
-
return this.invoiceApiService.list(req).pipe(map(response => {
|
|
98
|
-
const invoices = (response.invoices || []).map(item => convertApiInvoice(item));
|
|
99
|
-
return new PagedResponse(invoices, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);
|
|
100
|
-
}));
|
|
101
|
-
}
|
|
102
|
-
pay(merchantId, invoiceId) {
|
|
103
|
-
return this.invoiceApiService.pay(new PayInvoiceRequest({
|
|
104
|
-
merchantId,
|
|
105
|
-
invoiceId
|
|
106
|
-
}));
|
|
107
|
-
}
|
|
108
|
-
preview(merchantId, invoiceId) {
|
|
109
|
-
const url = `${this.hostService.httpsHostWithScheme()}/retail-invoice/preview`;
|
|
110
|
-
return this.http.post(url, {
|
|
111
|
-
merchant_id: merchantId,
|
|
112
|
-
invoice_id: invoiceId
|
|
113
|
-
}, {
|
|
114
|
-
responseType: 'text',
|
|
115
|
-
withCredentials: true
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
removeBundle(merchantId, invoiceId, bundleId, bundleInstanceId) {
|
|
119
|
-
return this.invoiceApiService.removeBundle(new RemoveBundleRequest({
|
|
120
|
-
merchantId,
|
|
121
|
-
invoiceId,
|
|
122
|
-
bundleId,
|
|
123
|
-
bundleInstanceId,
|
|
124
|
-
})).pipe(map((res) => convertApiInvoice(res.invoice)));
|
|
125
|
-
}
|
|
126
|
-
send(merchantId, invoiceId, emailAddresses) {
|
|
127
|
-
return this.invoiceApiService.send(new SendInvoiceRequest({
|
|
128
|
-
merchantId, invoiceId, emailAddresses
|
|
129
|
-
}));
|
|
130
|
-
}
|
|
131
|
-
updateBundle(merchantId, invoiceId, bundleId, hideBundleItems, bundleInstanceId) {
|
|
132
|
-
return this.invoiceApiService.updateBundle(new UpdateBundleRequest({
|
|
133
|
-
merchantId,
|
|
134
|
-
invoiceId,
|
|
135
|
-
bundleId,
|
|
136
|
-
hideBundleItems,
|
|
137
|
-
bundleInstanceId,
|
|
138
|
-
})).pipe(map((res) => convertApiInvoice(res.invoice)));
|
|
139
|
-
}
|
|
140
|
-
updateCurrency(merchantId, id, currency) {
|
|
141
|
-
const pbInvoice = new ApiInvoice({
|
|
142
|
-
merchantId,
|
|
143
|
-
id,
|
|
144
|
-
currency: currencyFromApi(currency),
|
|
145
|
-
});
|
|
146
|
-
const fm = new FieldMask({
|
|
147
|
-
paths: ['currency']
|
|
148
|
-
});
|
|
149
|
-
return this.update(pbInvoice, fm);
|
|
150
|
-
}
|
|
151
|
-
updateDueDate(merchantId, id, due) {
|
|
152
|
-
const pbInvoice = new ApiInvoice({
|
|
153
|
-
merchantId,
|
|
154
|
-
id,
|
|
155
|
-
due,
|
|
156
|
-
});
|
|
157
|
-
const fm = new FieldMask({
|
|
158
|
-
paths: ['due']
|
|
159
|
-
});
|
|
160
|
-
return this.update(pbInvoice, fm);
|
|
161
|
-
}
|
|
162
|
-
updateContact(merchantId, id, contactId) {
|
|
163
|
-
const pbInvoice = new ApiInvoice({
|
|
164
|
-
merchantId,
|
|
165
|
-
id,
|
|
166
|
-
contactId,
|
|
167
|
-
});
|
|
168
|
-
const fm = new FieldMask({
|
|
169
|
-
paths: ['contactId']
|
|
170
|
-
});
|
|
171
|
-
return this.update(pbInvoice, fm);
|
|
172
|
-
}
|
|
173
|
-
updateCollectionMethod(merchantId, id, collectionMethod) {
|
|
174
|
-
const apiCollectionMethod = collectionMethodToApi(collectionMethod);
|
|
175
|
-
const pbInvoice = new ApiInvoice({
|
|
176
|
-
merchantId,
|
|
177
|
-
id,
|
|
178
|
-
collectionMethod: apiCollectionMethod,
|
|
179
|
-
});
|
|
180
|
-
const fm = new FieldMask({
|
|
181
|
-
paths: ['collectionMethod']
|
|
182
|
-
});
|
|
183
|
-
return this.update(pbInvoice, fm);
|
|
184
|
-
}
|
|
185
|
-
updateMemo(merchantId, id, memo) {
|
|
186
|
-
const pbInvoice = new ApiInvoice({
|
|
187
|
-
merchantId,
|
|
188
|
-
id,
|
|
189
|
-
memo,
|
|
190
|
-
});
|
|
191
|
-
const fm = new FieldMask({
|
|
192
|
-
paths: ['memo']
|
|
193
|
-
});
|
|
194
|
-
return this.update(pbInvoice, fm);
|
|
195
|
-
}
|
|
196
|
-
updateDefaultPaymentMethod(merchantId, id, defaultPaymentMethod) {
|
|
197
|
-
const pbInvoice = new ApiInvoice({
|
|
198
|
-
merchantId,
|
|
199
|
-
id,
|
|
200
|
-
defaultPaymentMethod,
|
|
201
|
-
});
|
|
202
|
-
const fm = new FieldMask({
|
|
203
|
-
paths: ['defaultPaymentMethod']
|
|
204
|
-
});
|
|
205
|
-
return this.update(pbInvoice, fm);
|
|
206
|
-
}
|
|
207
|
-
updateDefaultTaxes(merchantId, invoiceId, taxRateIds) {
|
|
208
|
-
return this.invoiceApiService.updateDefaultTaxRates(new UpdateDefaultTaxRatesRequest({
|
|
209
|
-
merchantId,
|
|
210
|
-
invoiceId,
|
|
211
|
-
taxRateIds
|
|
212
|
-
})).pipe(map((res) => convertApiInvoice(res.invoice)));
|
|
213
|
-
}
|
|
214
|
-
updateLineItem(merchantId, invoiceId, id, sku, amount, quantity, description, taxRates) {
|
|
215
|
-
return this.invoiceApiService.updateLineItem(new UpdateLineItemRequest({
|
|
216
|
-
merchantId,
|
|
217
|
-
invoiceId,
|
|
218
|
-
id,
|
|
219
|
-
sku,
|
|
220
|
-
amount,
|
|
221
|
-
quantity,
|
|
222
|
-
description,
|
|
223
|
-
taxRates
|
|
224
|
-
})).pipe(map((res) => convertApiInvoice(res.invoice)));
|
|
225
|
-
}
|
|
226
|
-
update(invoice, mask) {
|
|
227
|
-
return this.invoiceApiService.update(new UpdateInvoiceRequest({
|
|
228
|
-
invoice: invoice,
|
|
229
|
-
fieldMask: mask
|
|
230
|
-
})).pipe(map((res) => convertApiInvoice(res.invoice)));
|
|
231
|
-
}
|
|
232
|
-
void(merchantId, invoiceId) {
|
|
233
|
-
return this.invoiceApiService.void(new VoidInvoiceRequest({
|
|
234
|
-
merchantId,
|
|
235
|
-
invoiceId
|
|
236
|
-
}));
|
|
237
|
-
}
|
|
238
|
-
duplicate(merchantId, invoiceId) {
|
|
239
|
-
return this.invoiceApiService.duplicate(new DuplicateInvoiceRequest({
|
|
240
|
-
merchantId,
|
|
241
|
-
invoiceId
|
|
242
|
-
})).pipe(map((res) => res ? res.invoiceId : ''));
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
InvoiceService.ɵprov = i0.ɵɵdefineInjectable({ factory: function InvoiceService_Factory() { return new InvoiceService(i0.ɵɵinject(i1.HostService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.InvoiceApiService)); }, token: InvoiceService, providedIn: "root" });
|
|
246
|
-
InvoiceService.decorators = [
|
|
247
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
248
|
-
];
|
|
249
|
-
InvoiceService.ctorParameters = () => [
|
|
250
|
-
{ type: HostService },
|
|
251
|
-
{ type: HttpClient },
|
|
252
|
-
{ type: InvoiceApiService }
|
|
253
|
-
];
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii93b3Jrc3BhY2Uvc2Rrcy90eXBlc2NyaXB0L3NyYy9iaWxsaW5nX3Nkay9zcmMvIiwic291cmNlcyI6WyJsaWIvaW52b2ljZS9pbnZvaWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFFTCxxQkFBcUIsR0FDdEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFDTCxnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBRWxCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFHcEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUVyQix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGlCQUFpQixFQUVqQixPQUFPLElBQUksVUFBVSxFQUNyQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBRW5CLGtCQUFrQixFQUNsQixtQkFBbUIsRUFFbkIsNEJBQTRCLEVBRTVCLG9CQUFvQixFQUVwQixxQkFBcUIsRUFFckIsa0JBQWtCLEdBQ25CLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBVyx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFJaEYsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFDWSxXQUF3QixFQUN4QixJQUFnQixFQUNo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LENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM5RCxDQUFDLENBQUM7SUFDUCxDQUFDOzs7O1lBcFNKLFVBQVUsU0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OztZQXZDdkIsV0FBVztZQVZYLFVBQVU7WUE2QmpCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQYWdlZFJlc3BvbnNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBjdXJyZW5jeUZyb21BcGkgfSBmcm9tICcuLi9wcmljaW5nJztcbmltcG9ydCB7XG4gIENvbGxlY3Rpb25NZXRob2QsXG4gIGNvbGxlY3Rpb25NZXRob2RUb0FwaSxcbn0gZnJvbSAnLi4vcmV0YWlsLWN1c3RvbWVyLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgSG9zdFNlcnZpY2UgfSBmcm9tICcuLi9fZ2VuZXJhdGVkJztcbmltcG9ydCB7XG4gIEFkZEJ1bmRsZVJlcXVlc3QsXG4gIEFkZEJ1bmRsZVJlc3BvbnNlLFxuICBBZGRMaW5lSXRlbVJlcXVlc3QsXG4gIEFkZExpbmVJdGVtUmVzcG9uc2UsXG4gIENoYXJnZUludm9pY2VSZXF1ZXN0LFxuICBDcmVhdGVJbnZvaWNlUmVxdWVzdCxcbiAgQ3JlYXRlSW52b2ljZVJlc3BvbnNlLFxuICBDdXJyZW5jeSxcbiAgRGVsZXRlSW52b2ljZVJlcXVlc3QsXG4gIERlbGV0ZUxpbmVJdGVtUmVxdWVzdCxcbiAgRGVsZXRlTGluZUl0ZW1SZXNwb25zZSxcbiAgRHVwbGljYXRlSW52b2ljZVJlcXVlc3QsXG4gIER1cGxpY2F0ZUludm9pY2VSZXNwb25zZSxcbiAgRmllbGRNYXNrLFxuICBHZXRJbnZvaWNlUmVxdWVzdCxcbiAgR2V0SW52b2ljZVJlc3BvbnNlLFxuICBJbnZvaWNlIGFzIEFwaUludm9pY2UsXG4gIEludm9pY2VBcGlTZXJ2aWNlLFxuICBMaXN0SW52b2ljZXNSZXF1ZXN0LFxuICBQYWdlZFJlcXVlc3RPcHRpb25zLFxuICBQYXlJbnZvaWNlUmVxdWVzdCxcbiAgUmVtb3ZlQnVuZGxlUmVxdWVzdCxcbiAgUmVtb3ZlQnVuZGxlUmVzcG9uc2UsXG4gIFNlbmRJbnZvaWNlUmVxdWVzdCxcbiAgVXBkYXRlQnVuZGxlUmVxdWVzdCxcbiAgVXBkYXRlQnVuZGxlUmVzcG9uc2UsXG4gIFVwZGF0ZURlZmF1bHRUYXhSYXRlc1JlcXVlc3QsXG4gIFVwZGF0ZURlZmF1bHRUYXhSYXRlc1Jlc3BvbnNlLFxuICBVcGRhdGVJbnZvaWNlUmVxdWVzdCxcbiAgVXBkYXRlSW52b2ljZVJlc3BvbnNlLFxuICBVcGRhdGVMaW5lSXRlbVJlcXVlc3QsXG4gIFVwZGF0ZUxpbmVJdGVtUmVzcG9uc2UsXG4gIFZvaWRJbnZvaWNlUmVxdWVzdCxcbn0gZnJvbSAnLi4vX2ludGVybmFsJztcbmltcG9ydCB7IGNvbnZlcnRBcGlJbnZvaWNlLCBJbnZvaWNlLCBsaXN0SW52b2ljZUZpbHRlcnNUb0FwaSB9IGZyb20gJy4vaW52b2ljZSc7XG5pbXBvcnQgeyBMaXN0SW52b2ljZXNGaWx0ZXIgfSBmcm9tICcuL2xpc3QtaW52b2ljZSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEludm9pY2VTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBpbnZvaWNlQXBpU2VydmljZTogSW52b2ljZUFwaVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgYWRkQnVuZGxlKG1lcmNoYW50SWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmcsIGJ1bmRsZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEludm9pY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW52b2ljZUFwaVNlcnZpY2UuYWRkQnVuZGxlKG5ldyBBZGRCdW5kbGVSZXF1ZXN0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1lcmNoYW50SWQsXG4gICAgICAgICAgICAgICAgaW52b2ljZUlkLFxuICAgICAgICAgICAgICAgIGJ1bmRsZUlkLFxuICAgICAgICAgICAgfVxuICAgICAgICApKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXM6IEFkZEJ1bmRsZVJlc3BvbnNlKSA9PiBjb252ZXJ0QXBpSW52b2ljZShyZXMuaW52b2ljZSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYWRkTGluZUl0ZW0obWVyY2hhbnRJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZywgc2t1OiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBxdWFudGl0eTogbnVtYmVyLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsIHRheFJhdGVzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8SW52b2ljZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS5hZGRMaW5lSXRlbShuZXcgQWRkTGluZUl0ZW1SZXF1ZXN0KHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQsXG4gICAgICAgICAgICBpbnZvaWNlSWQsXG4gICAgICAgICAgICBza3UsXG4gICAgICAgICAgICBhbW91bnQsXG4gICAgICAgICAgICBxdWFudGl0eSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgdGF4UmF0ZXNcbiAgICAgICAgfSkpLnBpcGUobWFwKChyZXM6IEFkZExpbmVJdGVtUmVzcG9uc2UpID0+IGNvbnZlcnRBcGlJbnZvaWNlKHJlcy5pbnZvaWNlKSkpXG4gICAgfVxuXG4gICAgY2hhcmdlKG1lcmNoYW50SWQ6IHN0cmluZywgY3VzdG9tZXJJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZywgcGF5bWVudE1ldGhvZElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS5jaGFyZ2UobmV3IENoYXJnZUludm9pY2VSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQsXG4gICAgICAgICAgICBjdXN0b21lcklkLFxuICAgICAgICAgICAgaW52b2ljZUlkLFxuICAgICAgICAgICAgcGF5bWVudE1ldGhvZElkXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBjcmVhdGUobWVyY2hhbnRJZDogc3RyaW5nLCBjdXN0b21lcklkOiBzdHJpbmcsIG9yZGVySWQ/OiBzdHJpbmcsIGN1cnJlbmN5Q29kZT86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludm9pY2VBcGlTZXJ2aWNlLmNyZWF0ZShuZXcgQ3JlYXRlSW52b2ljZVJlcXVlc3Qoe1xuICAgICAgICAgICAgbWVyY2hhbnRJZDogbWVyY2hhbnRJZCxcbiAgICAgICAgICAgIGN1c3RvbWVySWQ6IGN1c3RvbWVySWQsXG4gICAgICAgICAgICBvcmRlcklkOiBvcmRlcklkLFxuICAgICAgICAgICAgY3VycmVuY3lDb2RlOiBjdXJyZW5jeUNvZGVcbiAgICAgICAgfSkpLnBpcGUobWFwKFxuICAgICAgICAgICAgKHJlczogQ3JlYXRlSW52b2ljZVJlc3BvbnNlKSA9PiByZXMgPyByZXMuaW52b2ljZUlkIDogJydcbiAgICAgICAgKSlcbiAgICB9XG5cbiAgICBkZWxldGUobWVyY2hhbnRJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludm9pY2VBcGlTZXJ2aWNlLmRlbGV0ZShuZXcgRGVsZXRlSW52b2ljZVJlcXVlc3Qoe1xuICAgICAgICAgICAgbWVyY2hhbnRJZCxcbiAgICAgICAgICAgIGludm9pY2VJZFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgZGVsZXRlTGluZUl0ZW0obWVyY2hhbnRJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZywgaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SW52b2ljZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS5kZWxldGVMaW5lSXRlbShuZXcgRGVsZXRlTGluZUl0ZW1SZXF1ZXN0KHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQsXG4gICAgICAgICAgICBpbnZvaWNlSWQsXG4gICAgICAgICAgICBpZCxcbiAgICAgICAgfSkpLnBpcGUobWFwKChyZXM6IERlbGV0ZUxpbmVJdGVtUmVzcG9uc2UpID0+IGNvbnZlcnRBcGlJbnZvaWNlKHJlcy5pbnZvaWNlKSkpXG4gICAgfVxuXG4gICAgZXhwb3J0Q1NWKG1lcmNoYW50SWQ6IHN0cmluZywgZmlsdGVycz86IExpc3RJbnZvaWNlc0ZpbHRlcik6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmhvc3RTZXJ2aWNlLmh0dHBzSG9zdFdpdGhTY2hlbWUoKX0vaW52b2ljZS9leHBvcnRgO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCB7XG4gICAgICAgICAgICBtZXJjaGFudF9pZDogbWVyY2hhbnRJZCxcbiAgICAgICAgICAgIGZpbHRlcnM6IGZpbHRlcnNcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIHNoYXJlKCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGVQREYobWVyY2hhbnRJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZywgZG9jdW1lbnRUeXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5ob3N0U2VydmljZS5odHRwc0hvc3RXaXRoU2NoZW1lKCl9L2ludm9pY2UvZ2VuZXJhdGUtcGRmYDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwge1xuICAgICAgICAgICAgbWVyY2hhbnRfaWQ6IG1lcmNoYW50SWQsIGludm9pY2VfaWQ6IGludm9pY2VJZCwgZG9jdW1lbnRfdHlwZTogZG9jdW1lbnRUeXBlXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgc2hhcmUoKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQobWVyY2hhbnRJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SW52b2ljZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS5nZXQobmV3IEdldEludm9pY2VSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQsIGludm9pY2VJZFxuICAgICAgICB9KSkucGlwZShtYXAoKHJlczogR2V0SW52b2ljZVJlc3BvbnNlKSA9PiBjb252ZXJ0QXBpSW52b2ljZShyZXMuaW52b2ljZSkpKVxuICAgIH1cblxuICAgIGxpc3QoZmlsdGVyczogTGlzdEludm9pY2VzRmlsdGVyLCBjdXJzb3I6IHN0cmluZywgcGFnZVNpemU6IG51bWJlcik6IE9ic2VydmFibGU8UGFnZWRSZXNwb25zZTxJbnZvaWNlPj4ge1xuICAgICAgICBjb25zdCByZXEgPSBuZXcgTGlzdEludm9pY2VzUmVxdWVzdCh7XG4gICAgICAgICAgICBmaWx0ZXJzOiBsaXN0SW52b2ljZUZpbHRlcnNUb0FwaShmaWx0ZXJzKSxcbiAgICAgICAgICAgIHBhZ2luZ09wdGlvbnM6IG5ldyBQYWdlZFJlcXVlc3RPcHRpb25zKHtjdXJzb3IsIHBhZ2VTaXplfSksXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS5saXN0KHJlcSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW52b2ljZXMgPSAocmVzcG9uc2UuaW52b2ljZXMgfHwgW10pLm1hcChpdGVtID0+IGNvbnZlcnRBcGlJbnZvaWNlKGl0ZW0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFBhZ2VkUmVzcG9uc2UoaW52b2ljZXMsIHJlc3BvbnNlLnBhZ2luZ01ldGFkYXRhLm5leHRDdXJzb3IsIHJlc3BvbnNlLnBhZ2luZ01ldGFkYXRhLmhhc01vcmUpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcGF5KG1lcmNoYW50SWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS5wYXkobmV3IFBheUludm9pY2VSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQsXG4gICAgICAgICAgICBpbnZvaWNlSWRcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByZXZpZXcobWVyY2hhbnRJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaG9zdFNlcnZpY2UuaHR0cHNIb3N0V2l0aFNjaGVtZSgpfS9yZXRhaWwtaW52b2ljZS9wcmV2aWV3YDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtZXJjaGFudF9pZDogbWVyY2hhbnRJZCxcbiAgICAgICAgICAgICAgICBpbnZvaWNlX2lkOiBpbnZvaWNlSWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVCdW5kbGUobWVyY2hhbnRJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZywgYnVuZGxlSWQ6IHN0cmluZywgYnVuZGxlSW5zdGFuY2VJZD86IHN0cmluZyk6IE9ic2VydmFibGU8SW52b2ljZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS5yZW1vdmVCdW5kbGUobmV3IFJlbW92ZUJ1bmRsZVJlcXVlc3QoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWVyY2hhbnRJZCxcbiAgICAgICAgICAgICAgICBpbnZvaWNlSWQsXG4gICAgICAgICAgICAgICAgYnVuZGxlSWQsXG4gICAgICAgICAgICAgICAgYnVuZGxlSW5zdGFuY2VJZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzOiBSZW1vdmVCdW5kbGVSZXNwb25zZSkgPT4gY29udmVydEFwaUludm9pY2UocmVzLmludm9pY2UpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNlbmQobWVyY2hhbnRJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZywgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW52b2ljZUFwaVNlcnZpY2Uuc2VuZChuZXcgU2VuZEludm9pY2VSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQsIGludm9pY2VJZCwgZW1haWxBZGRyZXNzZXNcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHVwZGF0ZUJ1bmRsZShtZXJjaGFudElkOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nLCBidW5kbGVJZDogc3RyaW5nLCBoaWRlQnVuZGxlSXRlbXM6IGJvb2xlYW4sXG4gICAgICAgICAgICAgICAgIGJ1bmRsZUluc3RhbmNlSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEludm9pY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW52b2ljZUFwaVNlcnZpY2UudXBkYXRlQnVuZGxlKG5ldyBVcGRhdGVCdW5kbGVSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQsXG4gICAgICAgICAgICBpbnZvaWNlSWQsXG4gICAgICAgICAgICBidW5kbGVJZCxcbiAgICAgICAgICAgIGhpZGVCdW5kbGVJdGVtcyxcbiAgICAgICAgICAgIGJ1bmRsZUluc3RhbmNlSWQsXG4gICAgICAgIH0pKS5waXBlKG1hcCgocmVzOiBVcGRhdGVCdW5kbGVSZXNwb25zZSkgPT4gY29udmVydEFwaUludm9pY2UocmVzLmludm9pY2UpKSlcbiAgICB9XG5cbiAgICB1cGRhdGVDdXJyZW5jeShtZXJjaGFudElkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGN1cnJlbmN5OiBDdXJyZW5jeSk6IE9ic2VydmFibGU8SW52b2ljZT4ge1xuICAgICAgICBjb25zdCBwYkludm9pY2UgPSBuZXcgQXBpSW52b2ljZSh7XG4gICAgICAgICAgICBtZXJjaGFudElkLFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBjdXJyZW5jeTogY3VycmVuY3lGcm9tQXBpKGN1cnJlbmN5KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZm0gPSBuZXcgRmllbGRNYXNrKHtcbiAgICAgICAgICAgIHBhdGhzOiBbJ2N1cnJlbmN5J11cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlKHBiSW52b2ljZSwgZm0pO1xuICAgIH1cblxuICAgIHVwZGF0ZUR1ZURhdGUobWVyY2hhbnRJZDogc3RyaW5nLCBpZDogc3RyaW5nLCBkdWU6IERhdGUpOiBPYnNlcnZhYmxlPEludm9pY2U+IHtcbiAgICAgICAgY29uc3QgcGJJbnZvaWNlID0gbmV3IEFwaUludm9pY2Uoe1xuICAgICAgICAgICAgbWVyY2hhbnRJZCxcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgZHVlLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBmbSA9IG5ldyBGaWVsZE1hc2soe1xuICAgICAgICAgICAgcGF0aHM6IFsnZHVlJ11cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlKHBiSW52b2ljZSwgZm0pO1xuICAgIH1cblxuICAgIHVwZGF0ZUNvbnRhY3QobWVyY2hhbnRJZDogc3RyaW5nLCBpZDogc3RyaW5nLCBjb250YWN0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SW52b2ljZT4ge1xuICAgICAgICBjb25zdCBwYkludm9pY2UgPSBuZXcgQXBpSW52b2ljZSh7XG4gICAgICAgICAgICBtZXJjaGFudElkLFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBjb250YWN0SWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGZtID0gbmV3IEZpZWxkTWFzayh7XG4gICAgICAgICAgICBwYXRoczogWydjb250YWN0SWQnXVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGUocGJJbnZvaWNlLCBmbSk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ29sbGVjdGlvbk1ldGhvZChtZXJjaGFudElkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGNvbGxlY3Rpb25NZXRob2Q6IENvbGxlY3Rpb25NZXRob2QpOiBPYnNlcnZhYmxlPEludm9pY2U+IHtcbiAgICAgICAgY29uc3QgYXBpQ29sbGVjdGlvbk1ldGhvZCA9IGNvbGxlY3Rpb25NZXRob2RUb0FwaShjb2xsZWN0aW9uTWV0aG9kKVxuICAgICAgICBjb25zdCBwYkludm9pY2UgPSBuZXcgQXBpSW52b2ljZSh7XG4gICAgICAgICAgICBtZXJjaGFudElkLFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBjb2xsZWN0aW9uTWV0aG9kOiBhcGlDb2xsZWN0aW9uTWV0aG9kLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBmbSA9IG5ldyBGaWVsZE1hc2soe1xuICAgICAgICAgICAgcGF0aHM6IFsnY29sbGVjdGlvbk1ldGhvZCddXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZShwYkludm9pY2UsIGZtKTtcbiAgICB9XG5cbiAgICB1cGRhdGVNZW1vKG1lcmNoYW50SWQ6IHN0cmluZywgaWQ6IHN0cmluZywgbWVtbzogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbnZvaWNlPiB7XG4gICAgICAgIGNvbnN0IHBiSW52b2ljZSA9IG5ldyBBcGlJbnZvaWNlKHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQsXG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIG1lbW8sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGZtID0gbmV3IEZpZWxkTWFzayh7XG4gICAgICAgICAgICBwYXRoczogWydtZW1vJ11cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlKHBiSW52b2ljZSwgZm0pO1xuICAgIH1cblxuICAgIHVwZGF0ZURlZmF1bHRQYXltZW50TWV0aG9kKG1lcmNoYW50SWQ6IHN0cmluZywgaWQ6IHN0cmluZywgZGVmYXVsdFBheW1lbnRNZXRob2Q6IHN0cmluZyk6IE9ic2VydmFibGU8SW52b2ljZT4ge1xuICAgICAgICBjb25zdCBwYkludm9pY2UgPSBuZXcgQXBpSW52b2ljZSh7XG4gICAgICAgICAgICBtZXJjaGFudElkLFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBkZWZhdWx0UGF5bWVudE1ldGhvZCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZm0gPSBuZXcgRmllbGRNYXNrKHtcbiAgICAgICAgICAgIHBhdGhzOiBbJ2RlZmF1bHRQYXltZW50TWV0aG9kJ11cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlKHBiSW52b2ljZSwgZm0pO1xuICAgIH1cblxuICAgIHVwZGF0ZURlZmF1bHRUYXhlcyhtZXJjaGFudElkOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nLCB0YXhSYXRlSWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8SW52b2ljZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS51cGRhdGVEZWZhdWx0VGF4UmF0ZXMobmV3IFVwZGF0ZURlZmF1bHRUYXhSYXRlc1JlcXVlc3Qoe1xuICAgICAgICAgICAgbWVyY2hhbnRJZCxcbiAgICAgICAgICAgIGludm9pY2VJZCxcbiAgICAgICAgICAgIHRheFJhdGVJZHNcbiAgICAgICAgfSkpLnBpcGUobWFwKChyZXM6IFVwZGF0ZURlZmF1bHRUYXhSYXRlc1Jlc3BvbnNlKSA9PiBjb252ZXJ0QXBpSW52b2ljZShyZXMuaW52b2ljZSkpKVxuICAgIH1cblxuICAgIHVwZGF0ZUxpbmVJdGVtKG1lcmNoYW50SWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIHNrdTogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgcXVhbnRpdHk6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nLCB0YXhSYXRlczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEludm9pY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW52b2ljZUFwaVNlcnZpY2UudXBkYXRlTGluZUl0ZW0obmV3IFVwZGF0ZUxpbmVJdGVtUmVxdWVzdCh7XG4gICAgICAgICAgICBtZXJjaGFudElkLFxuICAgICAgICAgICAgaW52b2ljZUlkLFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBza3UsXG4gICAgICAgICAgICBhbW91bnQsXG4gICAgICAgICAgICBxdWFudGl0eSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgdGF4UmF0ZXNcbiAgICAgICAgfSkpLnBpcGUobWFwKChyZXM6IFVwZGF0ZUxpbmVJdGVtUmVzcG9uc2UpID0+IGNvbnZlcnRBcGlJbnZvaWNlKHJlcy5pbnZvaWNlKSkpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGUoaW52b2ljZTogQXBpSW52b2ljZSwgbWFzazogRmllbGRNYXNrKTogT2JzZXJ2YWJsZTxJbnZvaWNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludm9pY2VBcGlTZXJ2aWNlLnVwZGF0ZShuZXcgVXBkYXRlSW52b2ljZVJlcXVlc3Qoe1xuICAgICAgICAgICAgaW52b2ljZTogaW52b2ljZSxcbiAgICAgICAgICAgIGZpZWxkTWFzazogbWFza1xuICAgICAgICB9KSkucGlwZShtYXAoKHJlczogVXBkYXRlSW52b2ljZVJlc3BvbnNlKSA9PiBjb252ZXJ0QXBpSW52b2ljZShyZXMuaW52b2ljZSkpKTtcbiAgICB9XG5cbiAgICB2b2lkKG1lcmNoYW50SWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS52b2lkKG5ldyBWb2lkSW52b2ljZVJlcXVlc3Qoe1xuICAgICAgICAgICAgbWVyY2hhbnRJZCxcbiAgICAgICAgICAgIGludm9pY2VJZFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgZHVwbGljYXRlKG1lcmNoYW50SWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQXBpU2VydmljZS5kdXBsaWNhdGUobmV3IER1cGxpY2F0ZUludm9pY2VSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQsXG4gICAgICAgICAgICBpbnZvaWNlSWRcbiAgICAgICAgfSkpLnBpcGUobWFwKFxuICAgICAgICAgICAgKHJlczogRHVwbGljYXRlSW52b2ljZVJlc3BvbnNlKSA9PiByZXMgPyByZXMuaW52b2ljZUlkIDogJydcbiAgICAgICAgKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pbnZvaWNlLmpzIiwic291cmNlUm9vdCI6Ii93b3Jrc3BhY2Uvc2Rrcy90eXBlc2NyaXB0L3NyYy9iaWxsaW5nX3Nkay9zcmMvIiwic291cmNlcyI6WyJsaWIvaW52b2ljZS9saXN0LWludm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW52b2ljZVN0YXR1cyxcbn0gZnJvbSAnLi4vX2ludGVybmFsJztcbmltcG9ydCB7IEludm9pY2VEYXRlRmllbGQgfSBmcm9tICcuL2ludm9pY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RJbnZvaWNlc0ZpbHRlciB7XG4gICAgbWVyY2hhbnRJZD86IHN0cmluZztcbiAgICBjdXN0b21lcklkPzogc3RyaW5nO1xuICAgIHN0YXR1c2VzPzogSW52b2ljZVN0YXR1c1tdO1xuICAgIHBhc3REdWU/OiBib29sZWFuO1xuICAgIG51bWJlcj86IHN0cmluZztcbiAgICBkYXRlRmlsdGVyPzogTGlzdEludm9pY2VzRGF0ZUZpbHRlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0SW52b2ljZXNEYXRlRmlsdGVyIHtcbiAgICBkYXRlR3RlPzogRGF0ZTtcbiAgICBkYXRlTHRlPzogRGF0ZTtcbiAgICBkYXRlRmllbGQ/OiBJbnZvaWNlRGF0ZUZpZWxkO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { InvoiceTemplateService } from './invoice-template.service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3dvcmtzcGFjZS9zZGtzL3R5cGVzY3JpcHQvc3JjL2JpbGxpbmdfc2RrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9pbnZvaWNlLXRlbXBsYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtJbnZvaWNlVGVtcGxhdGVTZXJ2aWNlfSBmcm9tICcuL2ludm9pY2UtdGVtcGxhdGUuc2VydmljZSc7XG5leHBvcnQge0ludm9pY2VUZW1wbGF0ZSwgSW52b2ljZVRlbXBsYXRlSXRlbX0gZnJvbSAnLi9pbnZvaWNlLXRlbXBsYXRlJztcbiJdfQ==
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { convertApiAppliedBundle } from '../applied_bundle';
|
|
2
|
-
import { appliedDiscountFromApi } from '../applied_discount/applied_discount';
|
|
3
|
-
import { convertApiAppliedTaxRate, convertApiTaxRate, } from '../invoice/invoice';
|
|
4
|
-
import { currencyFromApi } from '../pricing/currency';
|
|
5
|
-
export function convertApiInvoiceTemplate(t) {
|
|
6
|
-
const zeroDate = new Date('0001-01-01T00:00:00Z').valueOf();
|
|
7
|
-
const appliedBundles = ((t === null || t === void 0 ? void 0 : t.appliedBundles) || []).map(ab => convertApiAppliedBundle(ab));
|
|
8
|
-
return {
|
|
9
|
-
merchantId: t.merchantId,
|
|
10
|
-
customerId: t.customerId,
|
|
11
|
-
currency: currencyFromApi(t.currency),
|
|
12
|
-
items: (t.items || []).map(item => convertApiInvoiceTemplateItem(item)),
|
|
13
|
-
appliedTaxes: (t.appliedTaxes || []).map((at) => convertApiAppliedTaxRate(at)),
|
|
14
|
-
total: t.total || 0,
|
|
15
|
-
subtotal: t.subtotal || 0,
|
|
16
|
-
created: t.created.valueOf() !== zeroDate ? t.created : null,
|
|
17
|
-
updated: t.updated.valueOf() !== zeroDate ? t.updated : null,
|
|
18
|
-
defaultTaxRates: (t.defaultTaxRates || []).map((tr) => convertApiTaxRate(tr)),
|
|
19
|
-
appliedBundles: appliedBundles || [],
|
|
20
|
-
discountTotal: t.amountDiscount || 0
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export function convertApiInvoiceTemplateItem(item) {
|
|
24
|
-
const appliedDiscounts = ((item === null || item === void 0 ? void 0 : item.discounts) || []).map(ad => appliedDiscountFromApi(ad));
|
|
25
|
-
return {
|
|
26
|
-
sku: item === null || item === void 0 ? void 0 : item.sku,
|
|
27
|
-
unitPrice: (item === null || item === void 0 ? void 0 : item.unitPrice) || 0,
|
|
28
|
-
quantity: (item === null || item === void 0 ? void 0 : item.quantity) || 0,
|
|
29
|
-
description: item === null || item === void 0 ? void 0 : item.description,
|
|
30
|
-
total: (item === null || item === void 0 ? void 0 : item.total) || 0,
|
|
31
|
-
appliedTaxes: (item === null || item === void 0 ? void 0 : item.appliedTaxes) || [],
|
|
32
|
-
taxRates: (item === null || item === void 0 ? void 0 : item.taxRates) || [],
|
|
33
|
-
subtotal: (item === null || item === void 0 ? void 0 : item.subtotal) || 0,
|
|
34
|
-
bundleId: (item === null || item === void 0 ? void 0 : item.bundleId) || '',
|
|
35
|
-
appliedDiscounts: appliedDiscounts || [],
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIvd29ya3NwYWNlL3Nka3MvdHlwZXNjcmlwdC9zcmMvYmlsbGluZ19zZGsvc3JjLyIsInNvdXJjZXMiOlsibGliL2ludm9pY2UtdGVtcGxhdGUvaW52b2ljZS10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUVMLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFzQ2hFLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxDQUFxQjtJQUMzRCxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVELE1BQU0sY0FBYyxHQUFvQixDQUFDLENBQUEsQ0FBQyxhQUFELENBQUMsdUJBQUQsQ0FBQyxDQUFFLGNBQWMsS0FBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBR3pHLE9BQU87UUFDSCxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7UUFDeEIsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO1FBQ3hCLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNyQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDO1FBQ25CLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUM7UUFDekIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQzVELE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUM1RCxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0UsY0FBYyxFQUFFLGNBQWMsSUFBSSxFQUFFO1FBQ3BDLGFBQWEsRUFBRSxDQUFDLENBQUMsY0FBYyxJQUFJLENBQUM7S0FDcEIsQ0FBQTtBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUFDLElBQTRCO0lBQ3RFLE1BQU0sZ0JBQWdCLEdBQXNCLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsU0FBUyxLQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUcsT0FBTztRQUNILEdBQUcsRUFBRSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsR0FBRztRQUNkLFNBQVMsRUFBRSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxTQUFTLEtBQUksQ0FBQztRQUMvQixRQUFRLEVBQUUsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSxLQUFJLENBQUM7UUFDN0IsV0FBVyxFQUFFLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXO1FBQzlCLEtBQUssRUFBRSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxLQUFLLEtBQUksQ0FBQztRQUN2QixZQUFZLEVBQUUsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsWUFBWSxLQUFJLEVBQUU7UUFDdEMsUUFBUSxFQUFFLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFFBQVEsS0FBSSxFQUFFO1FBQzlCLFFBQVEsRUFBRSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxRQUFRLEtBQUksQ0FBQztRQUM3QixRQUFRLEVBQUUsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSxLQUFJLEVBQUU7UUFDOUIsZ0JBQWdCLEVBQUUsZ0JBQWdCLElBQUksRUFBRTtLQUNwQixDQUFBO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWVkQnVuZGxlLCBjb252ZXJ0QXBpQXBwbGllZEJ1bmRsZSB9IGZyb20gJy4uL2FwcGxpZWRfYnVuZGxlJztcbmltcG9ydCB7IEFwcGxpZWREaXNjb3VudCB9IGZyb20gJy4uL2FwcGxpZWRfZGlzY291bnQnO1xuaW1wb3J0IHsgYXBwbGllZERpc2NvdW50RnJvbUFwaSB9IGZyb20gJy4uL2FwcGxpZWRfZGlzY291bnQvYXBwbGllZF9kaXNjb3VudCc7XG5pbXBvcnQge1xuICBBcHBsaWVkVGF4UmF0ZSxcbiAgY29udmVydEFwaUFwcGxpZWRUYXhSYXRlLFxuICBjb252ZXJ0QXBpVGF4UmF0ZSxcbn0gZnJvbSAnLi4vaW52b2ljZS9pbnZvaWNlJztcbmltcG9ydCB7IEN1cnJlbmN5LCBjdXJyZW5jeUZyb21BcGkgfSBmcm9tICcuLi9wcmljaW5nL2N1cnJlbmN5JztcbmltcG9ydCB7IFRheFJhdGUgfSBmcm9tICcuLi90YXgtcmF0ZS90YXgtcmF0ZSc7XG5pbXBvcnQge1xuICBBcHBsaWVkVGF4UmF0ZUludGVyZmFjZSxcbiAgSW52b2ljZVRlbXBsYXRlIGFzIEFQSUludm9pY2VUZW1wbGF0ZSxcbiAgSW52b2ljZVRlbXBsYXRlSXRlbSBhcyBBUElJbnZvaWNlVGVtcGxhdGVJdGVtLFxuICBUYXhSYXRlSW50ZXJmYWNlLFxufSBmcm9tICcuLi9faW50ZXJuYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludm9pY2VUZW1wbGF0ZSB7XG4gICAgbWVyY2hhbnRJZDogc3RyaW5nO1xuICAgIGN1c3RvbWVySWQ6IHN0cmluZztcbiAgICBpdGVtczogSW52b2ljZVRlbXBsYXRlSXRlbVtdO1xuICAgIGFwcGxpZWRUYXhlczogQXBwbGllZFRheFJhdGVbXTtcbiAgICBjdXJyZW5jeTogQ3VycmVuY3k7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBzdWJ0b3RhbDogbnVtYmVyO1xuICAgIGRpc2NvdW50VG90YWw6IG51bWJlcjtcbiAgICBjcmVhdGVkOiBEYXRlO1xuICAgIHVwZGF0ZWQ6IERhdGU7XG4gICAgZGVmYXVsdFRheFJhdGVzOiBUYXhSYXRlW107XG4gICAgYXBwbGllZEJ1bmRsZXM6IEFwcGxpZWRCdW5kbGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlVGVtcGxhdGVJdGVtIHtcbiAgICBpZD86IHN0cmluZztcbiAgICBza3U/OiBzdHJpbmc7XG4gICAgdW5pdFByaWNlPzogbnVtYmVyO1xuICAgIHF1YW50aXR5PzogbnVtYmVyO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHRvdGFsPzogbnVtYmVyO1xuICAgIGFwcGxpZWRUYXhlcz86IEFwcGxpZWRUYXhSYXRlSW50ZXJmYWNlW107XG4gICAgdGF4UmF0ZXM/OiBUYXhSYXRlSW50ZXJmYWNlW107XG4gICAgc3VidG90YWw/OiBudW1iZXI7XG4gICAgYXBwbGllZERpc2NvdW50cz86IEFwcGxpZWREaXNjb3VudFtdO1xuICAgIGJ1bmRsZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEFwaUludm9pY2VUZW1wbGF0ZSh0OiBBUElJbnZvaWNlVGVtcGxhdGUpOiBJbnZvaWNlVGVtcGxhdGUge1xuICAgIGNvbnN0IHplcm9EYXRlID0gbmV3IERhdGUoJzAwMDEtMDEtMDFUMDA6MDA6MDBaJykudmFsdWVPZigpO1xuICAgIGNvbnN0IGFwcGxpZWRCdW5kbGVzOiBBcHBsaWVkQnVuZGxlW10gPSAodD8uYXBwbGllZEJ1bmRsZXMgfHwgW10pLm1hcChhYiA9PiBjb252ZXJ0QXBpQXBwbGllZEJ1bmRsZShhYikpO1xuXG5cbiAgICByZXR1cm4ge1xuICAgICAgICBtZXJjaGFudElkOiB0Lm1lcmNoYW50SWQsXG4gICAgICAgIGN1c3RvbWVySWQ6IHQuY3VzdG9tZXJJZCxcbiAgICAgICAgY3VycmVuY3k6IGN1cnJlbmN5RnJvbUFwaSh0LmN1cnJlbmN5KSxcbiAgICAgICAgaXRlbXM6ICh0Lml0ZW1zIHx8IFtdKS5tYXAoaXRlbSA9PiBjb252ZXJ0QXBpSW52b2ljZVRlbXBsYXRlSXRlbShpdGVtKSksXG4gICAgICAgIGFwcGxpZWRUYXhlczogKHQuYXBwbGllZFRheGVzIHx8IFtdKS5tYXAoKGF0KSA9PiBjb252ZXJ0QXBpQXBwbGllZFRheFJhdGUoYXQpKSxcbiAgICAgICAgdG90YWw6IHQudG90YWwgfHwgMCxcbiAgICAgICAgc3VidG90YWw6IHQuc3VidG90YWwgfHwgMCxcbiAgICAgICAgY3JlYXRlZDogdC5jcmVhdGVkLnZhbHVlT2YoKSAhPT0gemVyb0RhdGUgPyB0LmNyZWF0ZWQgOiBudWxsLFxuICAgICAgICB1cGRhdGVkOiB0LnVwZGF0ZWQudmFsdWVPZigpICE9PSB6ZXJvRGF0ZSA/IHQudXBkYXRlZCA6IG51bGwsXG4gICAgICAgIGRlZmF1bHRUYXhSYXRlczogKHQuZGVmYXVsdFRheFJhdGVzIHx8IFtdKS5tYXAoKHRyKSA9PiBjb252ZXJ0QXBpVGF4UmF0ZSh0cikpLFxuICAgICAgICBhcHBsaWVkQnVuZGxlczogYXBwbGllZEJ1bmRsZXMgfHwgW10sXG4gICAgICAgIGRpc2NvdW50VG90YWw6IHQuYW1vdW50RGlzY291bnQgfHwgMFxuICAgIH0gYXMgSW52b2ljZVRlbXBsYXRlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QXBpSW52b2ljZVRlbXBsYXRlSXRlbShpdGVtOiBBUElJbnZvaWNlVGVtcGxhdGVJdGVtKTogSW52b2ljZVRlbXBsYXRlSXRlbSB7XG4gICAgY29uc3QgYXBwbGllZERpc2NvdW50czogQXBwbGllZERpc2NvdW50W10gPSAoaXRlbT8uZGlzY291bnRzIHx8IFtdKS5tYXAoYWQgPT4gYXBwbGllZERpc2NvdW50RnJvbUFwaShhZCkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2t1OiBpdGVtPy5za3UsXG4gICAgICAgIHVuaXRQcmljZTogaXRlbT8udW5pdFByaWNlIHx8IDAsXG4gICAgICAgIHF1YW50aXR5OiBpdGVtPy5xdWFudGl0eSB8fCAwLFxuICAgICAgICBkZXNjcmlwdGlvbjogaXRlbT8uZGVzY3JpcHRpb24sXG4gICAgICAgIHRvdGFsOiBpdGVtPy50b3RhbCB8fCAwLFxuICAgICAgICBhcHBsaWVkVGF4ZXM6IGl0ZW0/LmFwcGxpZWRUYXhlcyB8fCBbXSxcbiAgICAgICAgdGF4UmF0ZXM6IGl0ZW0/LnRheFJhdGVzIHx8IFtdLFxuICAgICAgICBzdWJ0b3RhbDogaXRlbT8uc3VidG90YWwgfHwgMCxcbiAgICAgICAgYnVuZGxlSWQ6IGl0ZW0/LmJ1bmRsZUlkIHx8ICcnLFxuICAgICAgICBhcHBsaWVkRGlzY291bnRzOiBhcHBsaWVkRGlzY291bnRzIHx8IFtdLFxuICAgIH0gYXMgSW52b2ljZVRlbXBsYXRlSXRlbVxufVxuIl19
|