@vendasta/billing 8.0.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.
Files changed (574) hide show
  1. package/esm2020/lib/_generated/host.service.mjs +25 -0
  2. package/esm2020/lib/_generated/index.mjs +2 -0
  3. package/esm2020/lib/_internal/bank-reconciliation.api.service.mjs +46 -0
  4. package/esm2020/lib/_internal/billing.api.service.mjs +216 -0
  5. package/esm2020/lib/_internal/bundle.api.service.mjs +50 -0
  6. package/esm2020/lib/_internal/contract-document.api.service.mjs +45 -0
  7. package/esm2020/lib/_internal/contract.api.service.mjs +55 -0
  8. package/esm2020/lib/_internal/credit.api.service.mjs +45 -0
  9. package/esm2020/lib/_internal/discount.api.service.mjs +53 -0
  10. package/esm2020/lib/_internal/enums/applied-discount.enum.mjs +14 -0
  11. package/esm2020/lib/_internal/enums/card.enum.mjs +17 -0
  12. package/esm2020/lib/_internal/enums/contract.enum.mjs +14 -0
  13. package/esm2020/lib/_internal/enums/currency.enum.mjs +35 -0
  14. package/esm2020/lib/_internal/enums/frequency.enum.mjs +14 -0
  15. package/esm2020/lib/_internal/enums/index.mjs +31 -0
  16. package/esm2020/lib/_internal/enums/invoice.enum.mjs +18 -0
  17. package/esm2020/lib/_internal/enums/merchant-report.enum.mjs +13 -0
  18. package/{esm2015/lib/_internal/enums/merchant.enum.js → esm2020/lib/_internal/enums/merchant.enum.mjs} +1 -1
  19. package/esm2020/lib/_internal/enums/month.enum.mjs +23 -0
  20. package/esm2020/lib/_internal/enums/payment-card.enum.mjs +24 -0
  21. package/esm2020/lib/_internal/enums/payment-processor.enum.mjs +13 -0
  22. package/{esm2015/lib/_internal/enums/payment.enum.js → esm2020/lib/_internal/enums/payment.enum.mjs} +1 -1
  23. package/esm2020/lib/_internal/enums/payout.enum.mjs +22 -0
  24. package/esm2020/lib/_internal/enums/pricing-plan.enum.mjs +22 -0
  25. package/{esm2015/lib/_internal/enums/product-summary.enum.js → esm2020/lib/_internal/enums/product-summary.enum.mjs} +1 -1
  26. package/esm2020/lib/_internal/enums/product.enum.mjs +17 -0
  27. package/esm2020/lib/_internal/enums/purchase.enum.mjs +27 -0
  28. package/esm2020/lib/_internal/enums/recurring-invoice.enum.mjs +29 -0
  29. package/esm2020/lib/_internal/enums/refund.enum.mjs +25 -0
  30. package/esm2020/lib/_internal/enums/sales-credit-note.enum.mjs +14 -0
  31. package/{esm2015/lib/_internal/enums/sales-invoice.enum.js → esm2020/lib/_internal/enums/sales-invoice.enum.mjs} +1 -1
  32. package/esm2020/lib/_internal/enums/sort-direction.enum.mjs +12 -0
  33. package/{esm2015/lib/_internal/enums/subscribe-validation.enum.js → esm2020/lib/_internal/enums/subscribe-validation.enum.mjs} +1 -1
  34. package/esm2020/lib/_internal/enums/subscription.enum.mjs +12 -0
  35. package/esm2020/lib/_internal/index.mjs +33 -0
  36. package/esm2020/lib/_internal/interfaces/api.interface.mjs +2 -0
  37. package/esm2020/lib/_internal/interfaces/applied-bundle.interface.mjs +8 -0
  38. package/esm2020/lib/_internal/interfaces/applied-discount.interface.mjs +8 -0
  39. package/esm2020/lib/_internal/interfaces/applied-tax-rate.interface.mjs +8 -0
  40. package/esm2020/lib/_internal/interfaces/balance.interface.mjs +8 -0
  41. package/esm2020/lib/_internal/interfaces/billable-item.interface.mjs +2 -0
  42. package/esm2020/lib/_internal/interfaces/bundle.interface.mjs +2 -0
  43. package/esm2020/lib/_internal/interfaces/card.interface.mjs +8 -0
  44. package/esm2020/lib/_internal/interfaces/commitment.interface.mjs +8 -0
  45. package/esm2020/lib/_internal/interfaces/common.interface.mjs +8 -0
  46. package/esm2020/lib/_internal/interfaces/contract-document.interface.mjs +2 -0
  47. package/esm2020/lib/_internal/interfaces/contract.interface.mjs +2 -0
  48. package/esm2020/lib/_internal/interfaces/credit.interface.mjs +8 -0
  49. package/esm2020/lib/_internal/interfaces/currency.interface.mjs +8 -0
  50. package/esm2020/lib/_internal/interfaces/customer-summary.interface.mjs +8 -0
  51. package/esm2020/lib/_internal/interfaces/date-range.interface.mjs +8 -0
  52. package/esm2020/lib/_internal/interfaces/discount.interface.mjs +2 -0
  53. package/esm2020/lib/_internal/interfaces/external-account.interface.mjs +8 -0
  54. package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
  55. package/esm2020/lib/_internal/interfaces/frequency.interface.mjs +8 -0
  56. package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
  57. package/esm2020/lib/_internal/interfaces/invoice-template.interface.mjs +2 -0
  58. package/esm2020/lib/_internal/interfaces/invoice.interface.mjs +2 -0
  59. package/esm2020/lib/_internal/interfaces/merchant-report.interface.mjs +2 -0
  60. package/esm2020/lib/_internal/interfaces/merchant.interface.mjs +2 -0
  61. package/esm2020/lib/_internal/interfaces/metered-component.interface.mjs +8 -0
  62. package/esm2020/lib/_internal/interfaces/month.interface.mjs +8 -0
  63. package/esm2020/lib/_internal/interfaces/payment-card.interface.mjs +8 -0
  64. package/esm2020/lib/_internal/interfaces/payment-processor.interface.mjs +8 -0
  65. package/esm2020/lib/_internal/interfaces/payment.interface.mjs +2 -0
  66. package/esm2020/lib/_internal/interfaces/payout.interface.mjs +2 -0
  67. package/esm2020/lib/_internal/interfaces/pricing-plan-product.interface.mjs +2 -0
  68. package/esm2020/lib/_internal/interfaces/pricing-plan.interface.mjs +2 -0
  69. package/esm2020/lib/_internal/interfaces/product-pricing.interface.mjs +2 -0
  70. package/esm2020/lib/_internal/interfaces/product-summary.interface.mjs +2 -0
  71. package/esm2020/lib/_internal/interfaces/product.interface.mjs +2 -0
  72. package/esm2020/lib/_internal/interfaces/purchase.interface.mjs +2 -0
  73. package/esm2020/lib/_internal/interfaces/recurring-invoice.interface.mjs +2 -0
  74. package/esm2020/lib/_internal/interfaces/refund.interface.mjs +8 -0
  75. package/esm2020/lib/_internal/interfaces/retail-customer-configuration.interface.mjs +8 -0
  76. package/esm2020/lib/_internal/interfaces/sales-credit-note.interface.mjs +2 -0
  77. package/esm2020/lib/_internal/interfaces/sales-invoice.interface.mjs +2 -0
  78. package/esm2020/lib/_internal/interfaces/sort-direction.interface.mjs +8 -0
  79. package/esm2020/lib/_internal/interfaces/subscribe-validation.interface.mjs +8 -0
  80. package/esm2020/lib/_internal/interfaces/subscription.interface.mjs +2 -0
  81. package/esm2020/lib/_internal/interfaces/tax-rate.interface.mjs +2 -0
  82. package/esm2020/lib/_internal/invoice-template.api.service.mjs +85 -0
  83. package/esm2020/lib/_internal/invoice.api.service.mjs +116 -0
  84. package/esm2020/lib/_internal/merchant.api.service.mjs +159 -0
  85. package/esm2020/lib/_internal/objects/api.mjs +841 -0
  86. package/esm2020/lib/_internal/objects/applied-bundle.mjs +77 -0
  87. package/esm2020/lib/_internal/objects/applied-discount.mjs +46 -0
  88. package/esm2020/lib/_internal/objects/applied-tax-rate.mjs +39 -0
  89. package/esm2020/lib/_internal/objects/balance.mjs +45 -0
  90. package/esm2020/lib/_internal/objects/billable-item.mjs +562 -0
  91. package/esm2020/lib/_internal/objects/bundle.mjs +390 -0
  92. package/esm2020/lib/_internal/objects/card.mjs +7 -0
  93. package/esm2020/lib/_internal/objects/commitment.mjs +36 -0
  94. package/esm2020/lib/_internal/objects/common.mjs +56 -0
  95. package/esm2020/lib/_internal/objects/contract-document.mjs +141 -0
  96. package/esm2020/lib/_internal/objects/contract.mjs +474 -0
  97. package/esm2020/lib/_internal/objects/credit.mjs +114 -0
  98. package/esm2020/lib/_internal/objects/currency.mjs +7 -0
  99. package/esm2020/lib/_internal/objects/customer-summary.mjs +104 -0
  100. package/esm2020/lib/_internal/objects/date-range.mjs +36 -0
  101. package/esm2020/lib/_internal/objects/discount.mjs +299 -0
  102. package/esm2020/lib/_internal/objects/external-account.mjs +160 -0
  103. package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
  104. package/esm2020/lib/_internal/objects/frequency.mjs +7 -0
  105. package/esm2020/lib/_internal/objects/index.mjs +46 -0
  106. package/esm2020/lib/_internal/objects/invoice-template.mjs +707 -0
  107. package/esm2020/lib/_internal/objects/invoice.mjs +1117 -0
  108. package/esm2020/lib/_internal/objects/merchant-report.mjs +108 -0
  109. package/esm2020/lib/_internal/objects/merchant.mjs +991 -0
  110. package/esm2020/lib/_internal/objects/metered-component.mjs +97 -0
  111. package/esm2020/lib/_internal/objects/month.mjs +7 -0
  112. package/esm2020/lib/_internal/objects/payment-card.mjs +211 -0
  113. package/esm2020/lib/_internal/objects/payment-processor.mjs +7 -0
  114. package/esm2020/lib/_internal/objects/payment.mjs +1219 -0
  115. package/esm2020/lib/_internal/objects/payout.mjs +258 -0
  116. package/esm2020/lib/_internal/objects/pricing-plan-product.mjs +565 -0
  117. package/esm2020/lib/_internal/objects/pricing-plan.mjs +290 -0
  118. package/esm2020/lib/_internal/objects/product-pricing.mjs +107 -0
  119. package/esm2020/lib/_internal/objects/product-summary.mjs +538 -0
  120. package/esm2020/lib/_internal/objects/product.mjs +302 -0
  121. package/esm2020/lib/_internal/objects/purchase.mjs +524 -0
  122. package/esm2020/lib/_internal/objects/recurring-invoice.mjs +324 -0
  123. package/esm2020/lib/_internal/objects/refund.mjs +181 -0
  124. package/esm2020/lib/_internal/objects/retail-customer-configuration.mjs +159 -0
  125. package/esm2020/lib/_internal/objects/sales-credit-note.mjs +211 -0
  126. package/esm2020/lib/_internal/objects/sales-invoice.mjs +300 -0
  127. package/esm2020/lib/_internal/objects/sort-direction.mjs +7 -0
  128. package/esm2020/lib/_internal/objects/subscribe-validation.mjs +31 -0
  129. package/esm2020/lib/_internal/objects/subscription.mjs +555 -0
  130. package/esm2020/lib/_internal/objects/tax-rate.mjs +342 -0
  131. package/esm2020/lib/_internal/payment-method.api.service.mjs +49 -0
  132. package/esm2020/lib/_internal/payment.api.service.mjs +102 -0
  133. package/esm2020/lib/_internal/pricing.api.service.mjs +76 -0
  134. package/esm2020/lib/_internal/product-summary.api.service.mjs +46 -0
  135. package/esm2020/lib/_internal/product.api.service.mjs +47 -0
  136. package/esm2020/lib/_internal/purchase.api.service.mjs +59 -0
  137. package/esm2020/lib/_internal/recurring-invoice.api.service.mjs +60 -0
  138. package/esm2020/lib/_internal/refund.api.service.mjs +45 -0
  139. package/esm2020/lib/_internal/retail-customer-configuration.api.service.mjs +45 -0
  140. package/esm2020/lib/_internal/sales-credit-note.api.service.mjs +45 -0
  141. package/esm2020/lib/_internal/sales-invoice.api.service.mjs +50 -0
  142. package/esm2020/lib/_internal/tax.api.service.mjs +63 -0
  143. package/esm2020/lib/_internal/vendor.api.service.mjs +46 -0
  144. package/esm2020/lib/index.mjs +3 -0
  145. package/esm2020/public_api.mjs +2 -0
  146. package/esm2020/vendasta-billing.mjs +5 -0
  147. package/fesm2015/{vendasta-billing.js → vendasta-billing.mjs} +1094 -4972
  148. package/fesm2015/vendasta-billing.mjs.map +1 -0
  149. package/fesm2020/vendasta-billing.mjs +14368 -0
  150. package/fesm2020/vendasta-billing.mjs.map +1 -0
  151. package/lib/_generated/host.service.d.ts +5 -9
  152. package/lib/_internal/bank-reconciliation.api.service.d.ts +4 -0
  153. package/lib/_internal/billing.api.service.d.ts +4 -0
  154. package/lib/_internal/bundle.api.service.d.ts +4 -0
  155. package/lib/_internal/contract-document.api.service.d.ts +4 -0
  156. package/lib/_internal/contract.api.service.d.ts +4 -0
  157. package/lib/_internal/credit.api.service.d.ts +4 -0
  158. package/lib/_internal/discount.api.service.d.ts +4 -0
  159. package/lib/_internal/enums/index.d.ts +2 -0
  160. package/lib/_internal/enums/payment-processor.enum.d.ts +5 -0
  161. package/lib/_internal/enums/recurring-invoice.enum.d.ts +19 -0
  162. package/lib/_internal/index.d.ts +1 -0
  163. package/lib/_internal/interfaces/billable-item.interface.d.ts +1 -0
  164. package/lib/_internal/interfaces/index.d.ts +2 -0
  165. package/lib/_internal/interfaces/payment-processor.interface.d.ts +1 -0
  166. package/lib/_internal/interfaces/recurring-invoice.interface.d.ts +54 -0
  167. package/lib/_internal/invoice-template.api.service.d.ts +4 -0
  168. package/lib/_internal/invoice.api.service.d.ts +4 -0
  169. package/lib/_internal/merchant.api.service.d.ts +4 -0
  170. package/lib/_internal/objects/billable-item.d.ts +1 -0
  171. package/lib/_internal/objects/index.d.ts +2 -0
  172. package/lib/_internal/objects/payment-processor.d.ts +1 -0
  173. package/lib/_internal/objects/recurring-invoice.d.ts +83 -0
  174. package/lib/_internal/payment-method.api.service.d.ts +4 -0
  175. package/lib/_internal/payment.api.service.d.ts +4 -0
  176. package/lib/_internal/pricing.api.service.d.ts +4 -0
  177. package/lib/_internal/product-summary.api.service.d.ts +4 -0
  178. package/lib/_internal/product.api.service.d.ts +4 -0
  179. package/lib/_internal/purchase.api.service.d.ts +4 -0
  180. package/lib/_internal/recurring-invoice.api.service.d.ts +20 -0
  181. package/lib/_internal/refund.api.service.d.ts +4 -0
  182. package/lib/_internal/retail-customer-configuration.api.service.d.ts +4 -0
  183. package/lib/_internal/sales-credit-note.api.service.d.ts +4 -0
  184. package/lib/_internal/sales-invoice.api.service.d.ts +4 -0
  185. package/lib/_internal/tax.api.service.d.ts +4 -0
  186. package/lib/_internal/vendor.api.service.d.ts +4 -0
  187. package/lib/index.d.ts +2 -36
  188. package/package.json +26 -15
  189. package/src/README.md +1 -0
  190. package/vendasta-billing.d.ts +1 -0
  191. package/bundles/vendasta-billing.umd.js +0 -19163
  192. package/bundles/vendasta-billing.umd.js.map +0 -1
  193. package/bundles/vendasta-billing.umd.min.js +0 -16
  194. package/bundles/vendasta-billing.umd.min.js.map +0 -1
  195. package/esm2015/lib/_generated/host.service.js +0 -65
  196. package/esm2015/lib/_generated/index.js +0 -2
  197. package/esm2015/lib/_internal/bank-reconciliation.api.service.js +0 -47
  198. package/esm2015/lib/_internal/billing.api.service.js +0 -217
  199. package/esm2015/lib/_internal/bundle.api.service.js +0 -51
  200. package/esm2015/lib/_internal/contract-document.api.service.js +0 -46
  201. package/esm2015/lib/_internal/contract.api.service.js +0 -56
  202. package/esm2015/lib/_internal/credit.api.service.js +0 -46
  203. package/esm2015/lib/_internal/discount.api.service.js +0 -54
  204. package/esm2015/lib/_internal/enums/applied-discount.enum.js +0 -14
  205. package/esm2015/lib/_internal/enums/card.enum.js +0 -17
  206. package/esm2015/lib/_internal/enums/contract.enum.js +0 -14
  207. package/esm2015/lib/_internal/enums/currency.enum.js +0 -35
  208. package/esm2015/lib/_internal/enums/frequency.enum.js +0 -14
  209. package/esm2015/lib/_internal/enums/index.js +0 -29
  210. package/esm2015/lib/_internal/enums/invoice.enum.js +0 -18
  211. package/esm2015/lib/_internal/enums/merchant-report.enum.js +0 -13
  212. package/esm2015/lib/_internal/enums/month.enum.js +0 -23
  213. package/esm2015/lib/_internal/enums/payment-card.enum.js +0 -24
  214. package/esm2015/lib/_internal/enums/payout.enum.js +0 -22
  215. package/esm2015/lib/_internal/enums/pricing-plan.enum.js +0 -22
  216. package/esm2015/lib/_internal/enums/product.enum.js +0 -17
  217. package/esm2015/lib/_internal/enums/purchase.enum.js +0 -27
  218. package/esm2015/lib/_internal/enums/refund.enum.js +0 -25
  219. package/esm2015/lib/_internal/enums/sales-credit-note.enum.js +0 -14
  220. package/esm2015/lib/_internal/enums/sort-direction.enum.js +0 -12
  221. package/esm2015/lib/_internal/enums/subscription.enum.js +0 -12
  222. package/esm2015/lib/_internal/index.js +0 -32
  223. package/esm2015/lib/_internal/interfaces/api.interface.js +0 -2
  224. package/esm2015/lib/_internal/interfaces/applied-bundle.interface.js +0 -8
  225. package/esm2015/lib/_internal/interfaces/applied-discount.interface.js +0 -8
  226. package/esm2015/lib/_internal/interfaces/applied-tax-rate.interface.js +0 -8
  227. package/esm2015/lib/_internal/interfaces/balance.interface.js +0 -8
  228. package/esm2015/lib/_internal/interfaces/billable-item.interface.js +0 -2
  229. package/esm2015/lib/_internal/interfaces/bundle.interface.js +0 -2
  230. package/esm2015/lib/_internal/interfaces/card.interface.js +0 -8
  231. package/esm2015/lib/_internal/interfaces/commitment.interface.js +0 -8
  232. package/esm2015/lib/_internal/interfaces/common.interface.js +0 -8
  233. package/esm2015/lib/_internal/interfaces/contract-document.interface.js +0 -2
  234. package/esm2015/lib/_internal/interfaces/contract.interface.js +0 -2
  235. package/esm2015/lib/_internal/interfaces/credit.interface.js +0 -8
  236. package/esm2015/lib/_internal/interfaces/currency.interface.js +0 -8
  237. package/esm2015/lib/_internal/interfaces/customer-summary.interface.js +0 -8
  238. package/esm2015/lib/_internal/interfaces/date-range.interface.js +0 -8
  239. package/esm2015/lib/_internal/interfaces/discount.interface.js +0 -2
  240. package/esm2015/lib/_internal/interfaces/external-account.interface.js +0 -8
  241. package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
  242. package/esm2015/lib/_internal/interfaces/frequency.interface.js +0 -8
  243. package/esm2015/lib/_internal/interfaces/index.js +0 -2
  244. package/esm2015/lib/_internal/interfaces/invoice-template.interface.js +0 -2
  245. package/esm2015/lib/_internal/interfaces/invoice.interface.js +0 -2
  246. package/esm2015/lib/_internal/interfaces/merchant-report.interface.js +0 -2
  247. package/esm2015/lib/_internal/interfaces/merchant.interface.js +0 -2
  248. package/esm2015/lib/_internal/interfaces/metered-component.interface.js +0 -8
  249. package/esm2015/lib/_internal/interfaces/month.interface.js +0 -8
  250. package/esm2015/lib/_internal/interfaces/payment-card.interface.js +0 -8
  251. package/esm2015/lib/_internal/interfaces/payment.interface.js +0 -2
  252. package/esm2015/lib/_internal/interfaces/payout.interface.js +0 -2
  253. package/esm2015/lib/_internal/interfaces/pricing-plan-product.interface.js +0 -2
  254. package/esm2015/lib/_internal/interfaces/pricing-plan.interface.js +0 -2
  255. package/esm2015/lib/_internal/interfaces/product-pricing.interface.js +0 -2
  256. package/esm2015/lib/_internal/interfaces/product-summary.interface.js +0 -2
  257. package/esm2015/lib/_internal/interfaces/product.interface.js +0 -2
  258. package/esm2015/lib/_internal/interfaces/purchase.interface.js +0 -2
  259. package/esm2015/lib/_internal/interfaces/refund.interface.js +0 -8
  260. package/esm2015/lib/_internal/interfaces/retail-customer-configuration.interface.js +0 -8
  261. package/esm2015/lib/_internal/interfaces/sales-credit-note.interface.js +0 -2
  262. package/esm2015/lib/_internal/interfaces/sales-invoice.interface.js +0 -2
  263. package/esm2015/lib/_internal/interfaces/sort-direction.interface.js +0 -8
  264. package/esm2015/lib/_internal/interfaces/subscribe-validation.interface.js +0 -8
  265. package/esm2015/lib/_internal/interfaces/subscription.interface.js +0 -2
  266. package/esm2015/lib/_internal/interfaces/tax-rate.interface.js +0 -2
  267. package/esm2015/lib/_internal/invoice-template.api.service.js +0 -86
  268. package/esm2015/lib/_internal/invoice.api.service.js +0 -117
  269. package/esm2015/lib/_internal/merchant.api.service.js +0 -160
  270. package/esm2015/lib/_internal/objects/api.js +0 -841
  271. package/esm2015/lib/_internal/objects/applied-bundle.js +0 -77
  272. package/esm2015/lib/_internal/objects/applied-discount.js +0 -46
  273. package/esm2015/lib/_internal/objects/applied-tax-rate.js +0 -39
  274. package/esm2015/lib/_internal/objects/balance.js +0 -45
  275. package/esm2015/lib/_internal/objects/billable-item.js +0 -556
  276. package/esm2015/lib/_internal/objects/bundle.js +0 -390
  277. package/esm2015/lib/_internal/objects/card.js +0 -7
  278. package/esm2015/lib/_internal/objects/commitment.js +0 -36
  279. package/esm2015/lib/_internal/objects/common.js +0 -56
  280. package/esm2015/lib/_internal/objects/contract-document.js +0 -141
  281. package/esm2015/lib/_internal/objects/contract.js +0 -474
  282. package/esm2015/lib/_internal/objects/credit.js +0 -114
  283. package/esm2015/lib/_internal/objects/currency.js +0 -7
  284. package/esm2015/lib/_internal/objects/customer-summary.js +0 -104
  285. package/esm2015/lib/_internal/objects/date-range.js +0 -36
  286. package/esm2015/lib/_internal/objects/discount.js +0 -299
  287. package/esm2015/lib/_internal/objects/external-account.js +0 -160
  288. package/esm2015/lib/_internal/objects/field-mask.js +0 -27
  289. package/esm2015/lib/_internal/objects/frequency.js +0 -7
  290. package/esm2015/lib/_internal/objects/index.js +0 -45
  291. package/esm2015/lib/_internal/objects/invoice-template.js +0 -707
  292. package/esm2015/lib/_internal/objects/invoice.js +0 -1117
  293. package/esm2015/lib/_internal/objects/merchant-report.js +0 -108
  294. package/esm2015/lib/_internal/objects/merchant.js +0 -991
  295. package/esm2015/lib/_internal/objects/metered-component.js +0 -97
  296. package/esm2015/lib/_internal/objects/month.js +0 -7
  297. package/esm2015/lib/_internal/objects/payment-card.js +0 -211
  298. package/esm2015/lib/_internal/objects/payment.js +0 -1219
  299. package/esm2015/lib/_internal/objects/payout.js +0 -258
  300. package/esm2015/lib/_internal/objects/pricing-plan-product.js +0 -565
  301. package/esm2015/lib/_internal/objects/pricing-plan.js +0 -290
  302. package/esm2015/lib/_internal/objects/product-pricing.js +0 -107
  303. package/esm2015/lib/_internal/objects/product-summary.js +0 -538
  304. package/esm2015/lib/_internal/objects/product.js +0 -302
  305. package/esm2015/lib/_internal/objects/purchase.js +0 -524
  306. package/esm2015/lib/_internal/objects/refund.js +0 -181
  307. package/esm2015/lib/_internal/objects/retail-customer-configuration.js +0 -159
  308. package/esm2015/lib/_internal/objects/sales-credit-note.js +0 -211
  309. package/esm2015/lib/_internal/objects/sales-invoice.js +0 -300
  310. package/esm2015/lib/_internal/objects/sort-direction.js +0 -7
  311. package/esm2015/lib/_internal/objects/subscribe-validation.js +0 -31
  312. package/esm2015/lib/_internal/objects/subscription.js +0 -555
  313. package/esm2015/lib/_internal/objects/tax-rate.js +0 -342
  314. package/esm2015/lib/_internal/payment-method.api.service.js +0 -50
  315. package/esm2015/lib/_internal/payment.api.service.js +0 -103
  316. package/esm2015/lib/_internal/pricing.api.service.js +0 -77
  317. package/esm2015/lib/_internal/product-summary.api.service.js +0 -47
  318. package/esm2015/lib/_internal/product.api.service.js +0 -48
  319. package/esm2015/lib/_internal/purchase.api.service.js +0 -60
  320. package/esm2015/lib/_internal/refund.api.service.js +0 -46
  321. package/esm2015/lib/_internal/retail-customer-configuration.api.service.js +0 -46
  322. package/esm2015/lib/_internal/sales-credit-note.api.service.js +0 -46
  323. package/esm2015/lib/_internal/sales-invoice.api.service.js +0 -51
  324. package/esm2015/lib/_internal/tax.api.service.js +0 -64
  325. package/esm2015/lib/_internal/vendor.api.service.js +0 -47
  326. package/esm2015/lib/applied_bundle/applied_bundle.js +0 -12
  327. package/esm2015/lib/applied_bundle/index.js +0 -2
  328. package/esm2015/lib/applied_discount/applied_discount.js +0 -48
  329. package/esm2015/lib/applied_discount/index.js +0 -2
  330. package/esm2015/lib/bank_account/bank-account.service.js +0 -38
  331. package/esm2015/lib/bank_account/bank_account.js +0 -13
  332. package/esm2015/lib/bank_account/index.js +0 -3
  333. package/esm2015/lib/bank_reconciliation/bank-reconciliation.service.js +0 -54
  334. package/esm2015/lib/bank_reconciliation/index.js +0 -3
  335. package/esm2015/lib/bank_reconciliation/payout.js +0 -53
  336. package/esm2015/lib/billable-item/billable-item.js +0 -39
  337. package/esm2015/lib/billable-item/billable-item.service.js +0 -31
  338. package/esm2015/lib/billable-item/index.js +0 -2
  339. package/esm2015/lib/billing-host.service.js +0 -41
  340. package/esm2015/lib/billing.service.js +0 -376
  341. package/esm2015/lib/bundle/bundle.js +0 -37
  342. package/esm2015/lib/bundle/bundle.service.js +0 -56
  343. package/esm2015/lib/bundle/index.js +0 -2
  344. package/esm2015/lib/contract/contract.js +0 -21
  345. package/esm2015/lib/contract/contract.service.js +0 -39
  346. package/esm2015/lib/contract/dimension.js +0 -21
  347. package/esm2015/lib/contract/index.js +0 -5
  348. package/esm2015/lib/contract/mutations.js +0 -11
  349. package/esm2015/lib/contract-document/contract-document.js +0 -9
  350. package/esm2015/lib/contract-document/contract-document.service.js +0 -68
  351. package/esm2015/lib/contract-document/index.js +0 -2
  352. package/esm2015/lib/contract-document/list-contract-document.js +0 -2
  353. package/esm2015/lib/core/index.js +0 -3
  354. package/esm2015/lib/core/paged-response.js +0 -8
  355. package/esm2015/lib/core/sort-direction.js +0 -6
  356. package/esm2015/lib/credit/credit.js +0 -8
  357. package/esm2015/lib/credit/credit.service.js +0 -33
  358. package/esm2015/lib/credit/index.js +0 -2
  359. package/esm2015/lib/customer_summary/customer-summary.js +0 -15
  360. package/esm2015/lib/discount/discount.js +0 -18
  361. package/esm2015/lib/discount/discount.service.js +0 -73
  362. package/esm2015/lib/discount/discount_type.js +0 -32
  363. package/esm2015/lib/discount/index.js +0 -3
  364. package/esm2015/lib/discount/list-discount.js +0 -2
  365. package/esm2015/lib/http-shared/error-handlers.js +0 -20
  366. package/esm2015/lib/index.js +0 -37
  367. package/esm2015/lib/invoice/index.js +0 -3
  368. package/esm2015/lib/invoice/invoice.js +0 -198
  369. package/esm2015/lib/invoice/invoice.service.js +0 -254
  370. package/esm2015/lib/invoice/list-invoice.js +0 -2
  371. package/esm2015/lib/invoice-template/index.js +0 -2
  372. package/esm2015/lib/invoice-template/invoice-template.js +0 -38
  373. package/esm2015/lib/invoice-template/invoice-template.service.js +0 -78
  374. package/esm2015/lib/merchant/balance.js +0 -2
  375. package/esm2015/lib/merchant/index.js +0 -5
  376. package/esm2015/lib/merchant/merchant.interface.js +0 -2
  377. package/esm2015/lib/merchant/merchant.js +0 -20
  378. package/esm2015/lib/merchant/merchant.service.js +0 -212
  379. package/esm2015/lib/merchant/payout-summary.js +0 -32
  380. package/esm2015/lib/merchant/retail-configuration.js +0 -57
  381. package/esm2015/lib/merchant-report/index.js +0 -2
  382. package/esm2015/lib/merchant-report/merchant-report-status.js +0 -2
  383. package/esm2015/lib/merchant-report/merchant-report.interfaces.js +0 -2
  384. package/esm2015/lib/merchant-report/merchant-report.js +0 -2
  385. package/esm2015/lib/merchant-report/merchant-report.service.js +0 -38
  386. package/esm2015/lib/payment/dispute.js +0 -92
  387. package/esm2015/lib/payment/index.js +0 -10
  388. package/esm2015/lib/payment/payment-allocation-type.js +0 -18
  389. package/esm2015/lib/payment/payment-source.js +0 -18
  390. package/esm2015/lib/payment/payment-status.js +0 -17
  391. package/esm2015/lib/payment/payment.js +0 -292
  392. package/esm2015/lib/payment/payment.service.js +0 -138
  393. package/esm2015/lib/payment/retail-payment.js +0 -70
  394. package/esm2015/lib/payment/retail-status.js +0 -50
  395. package/esm2015/lib/payment-card/index.js +0 -3
  396. package/esm2015/lib/payment-card/payment-card.js +0 -60
  397. package/esm2015/lib/payment-card/payment-card.service.js +0 -45
  398. package/esm2015/lib/payment-method/index.js +0 -2
  399. package/esm2015/lib/payment-method/payment-method.service.js +0 -43
  400. package/esm2015/lib/pricing/billing-strategy.js +0 -39
  401. package/esm2015/lib/pricing/commitment.js +0 -7
  402. package/esm2015/lib/pricing/currency.js +0 -86
  403. package/esm2015/lib/pricing/frequency.js +0 -42
  404. package/esm2015/lib/pricing/index.js +0 -12
  405. package/esm2015/lib/pricing/list-pricing-plan-product-filter.js +0 -2
  406. package/esm2015/lib/pricing/pricing-plan-product.js +0 -53
  407. package/esm2015/lib/pricing/pricing-plan.js +0 -14
  408. package/esm2015/lib/pricing/pricing-plan.service.js +0 -287
  409. package/esm2015/lib/pricing/product-pricing-rules.js +0 -10
  410. package/esm2015/lib/pricing/product-pricing-type.js +0 -31
  411. package/esm2015/lib/pricing/product-pricing.js +0 -44
  412. package/esm2015/lib/pricing/wholesale-pricing.service.js +0 -61
  413. package/esm2015/lib/product/index.js +0 -3
  414. package/esm2015/lib/product/list-products.js +0 -30
  415. package/esm2015/lib/product/product.js +0 -10
  416. package/esm2015/lib/product-summary/index.js +0 -3
  417. package/esm2015/lib/product-summary/product-summary.service.js +0 -42
  418. package/esm2015/lib/product-summary/subscription-retention.js +0 -19
  419. package/esm2015/lib/purchase/index.js +0 -4
  420. package/esm2015/lib/purchase/list-purchases.js +0 -17
  421. package/esm2015/lib/purchase/purchase.js +0 -79
  422. package/esm2015/lib/purchase/purchase.service.js +0 -31
  423. package/esm2015/lib/purchase/purchase_status.js +0 -26
  424. package/esm2015/lib/refund/index.js +0 -3
  425. package/esm2015/lib/refund/refund.js +0 -81
  426. package/esm2015/lib/refund/refund.service.js +0 -53
  427. package/esm2015/lib/retail-customer-configuration/index.js +0 -3
  428. package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.js +0 -44
  429. package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.service.js +0 -39
  430. package/esm2015/lib/revenue/index.js +0 -2
  431. package/esm2015/lib/revenue/revenue.interfaces.js +0 -2
  432. package/esm2015/lib/revenue/revenue.service.js +0 -34
  433. package/esm2015/lib/sales-credit-note/index.js +0 -3
  434. package/esm2015/lib/sales-credit-note/sales-credit-note.js +0 -53
  435. package/esm2015/lib/sales-credit-note/sales-credit-note.service.js +0 -72
  436. package/esm2015/lib/sales-invoice/index.js +0 -3
  437. package/esm2015/lib/sales-invoice/sales-invoice.js +0 -87
  438. package/esm2015/lib/sales-invoice/sales-invoice.service.js +0 -77
  439. package/esm2015/lib/sku.js +0 -4
  440. package/esm2015/lib/stripe-file/file.js +0 -2
  441. package/esm2015/lib/stripe-file/index.js +0 -3
  442. package/esm2015/lib/stripe-file/purpose.js +0 -13
  443. package/esm2015/lib/stripe-file/stripe-file.service.js +0 -35
  444. package/esm2015/lib/subscription/can-create-subscriptions-item.js +0 -2
  445. package/esm2015/lib/subscription/index.js +0 -2
  446. package/esm2015/lib/tax-rate/index.js +0 -2
  447. package/esm2015/lib/tax-rate/tax-rate.js +0 -13
  448. package/esm2015/lib/tax-rate/tax-rate.service.js +0 -86
  449. package/esm2015/public_api.js +0 -2
  450. package/esm2015/vendasta-billing.js +0 -5
  451. package/fesm2015/vendasta-billing.js.map +0 -1
  452. package/lib/applied_bundle/applied_bundle.d.ts +0 -15
  453. package/lib/applied_bundle/index.d.ts +0 -1
  454. package/lib/applied_discount/applied_discount.d.ts +0 -26
  455. package/lib/applied_discount/index.d.ts +0 -1
  456. package/lib/bank_account/bank-account.service.d.ts +0 -11
  457. package/lib/bank_account/bank_account.d.ts +0 -12
  458. package/lib/bank_account/index.d.ts +0 -3
  459. package/lib/bank_reconciliation/bank-reconciliation.service.d.ts +0 -10
  460. package/lib/bank_reconciliation/index.d.ts +0 -2
  461. package/lib/bank_reconciliation/payout.d.ts +0 -37
  462. package/lib/billable-item/billable-item.d.ts +0 -39
  463. package/lib/billable-item/billable-item.service.d.ts +0 -10
  464. package/lib/billable-item/index.d.ts +0 -2
  465. package/lib/billing-host.service.d.ts +0 -11
  466. package/lib/billing.service.d.ts +0 -88
  467. package/lib/bundle/bundle.d.ts +0 -26
  468. package/lib/bundle/bundle.service.d.ts +0 -14
  469. package/lib/bundle/index.d.ts +0 -2
  470. package/lib/contract/contract.d.ts +0 -20
  471. package/lib/contract/contract.service.d.ts +0 -23
  472. package/lib/contract/dimension.d.ts +0 -11
  473. package/lib/contract/index.d.ts +0 -5
  474. package/lib/contract/mutations.d.ts +0 -11
  475. package/lib/contract-document/contract-document.d.ts +0 -8
  476. package/lib/contract-document/contract-document.service.d.ts +0 -17
  477. package/lib/contract-document/index.d.ts +0 -3
  478. package/lib/contract-document/list-contract-document.d.ts +0 -3
  479. package/lib/core/index.d.ts +0 -2
  480. package/lib/core/paged-response.d.ts +0 -6
  481. package/lib/core/sort-direction.d.ts +0 -4
  482. package/lib/credit/credit.d.ts +0 -7
  483. package/lib/credit/credit.service.d.ts +0 -9
  484. package/lib/credit/index.d.ts +0 -2
  485. package/lib/customer_summary/customer-summary.d.ts +0 -9
  486. package/lib/discount/discount.d.ts +0 -17
  487. package/lib/discount/discount.service.d.ts +0 -15
  488. package/lib/discount/discount_type.d.ts +0 -9
  489. package/lib/discount/index.d.ts +0 -4
  490. package/lib/discount/list-discount.d.ts +0 -5
  491. package/lib/http-shared/error-handlers.d.ts +0 -4
  492. package/lib/invoice/index.d.ts +0 -3
  493. package/lib/invoice/invoice.d.ts +0 -86
  494. package/lib/invoice/invoice.service.d.ts +0 -40
  495. package/lib/invoice/list-invoice.d.ts +0 -15
  496. package/lib/invoice-template/index.d.ts +0 -2
  497. package/lib/invoice-template/invoice-template.d.ts +0 -35
  498. package/lib/invoice-template/invoice-template.service.d.ts +0 -14
  499. package/lib/merchant/balance.d.ts +0 -5
  500. package/lib/merchant/index.d.ts +0 -7
  501. package/lib/merchant/merchant.d.ts +0 -19
  502. package/lib/merchant/merchant.interface.d.ts +0 -3
  503. package/lib/merchant/merchant.service.d.ts +0 -59
  504. package/lib/merchant/payout-summary.d.ts +0 -19
  505. package/lib/merchant/retail-configuration.d.ts +0 -24
  506. package/lib/merchant-report/index.d.ts +0 -4
  507. package/lib/merchant-report/merchant-report-status.d.ts +0 -1
  508. package/lib/merchant-report/merchant-report.d.ts +0 -8
  509. package/lib/merchant-report/merchant-report.interfaces.d.ts +0 -5
  510. package/lib/merchant-report/merchant-report.service.d.ts +0 -12
  511. package/lib/payment/dispute.d.ts +0 -61
  512. package/lib/payment/index.d.ts +0 -9
  513. package/lib/payment/payment-allocation-type.d.ts +0 -7
  514. package/lib/payment/payment-source.d.ts +0 -7
  515. package/lib/payment/payment-status.d.ts +0 -7
  516. package/lib/payment/payment.d.ts +0 -42
  517. package/lib/payment/payment.service.d.ts +0 -24
  518. package/lib/payment/retail-payment.d.ts +0 -33
  519. package/lib/payment/retail-status.d.ts +0 -24
  520. package/lib/payment-card/index.d.ts +0 -2
  521. package/lib/payment-card/payment-card.d.ts +0 -41
  522. package/lib/payment-card/payment-card.service.d.ts +0 -13
  523. package/lib/payment-method/index.d.ts +0 -1
  524. package/lib/payment-method/payment-method.service.d.ts +0 -10
  525. package/lib/pricing/billing-strategy.d.ts +0 -11
  526. package/lib/pricing/commitment.d.ts +0 -6
  527. package/lib/pricing/currency.d.ts +0 -29
  528. package/lib/pricing/frequency.d.ts +0 -10
  529. package/lib/pricing/index.d.ts +0 -11
  530. package/lib/pricing/list-pricing-plan-product-filter.d.ts +0 -4
  531. package/lib/pricing/pricing-plan-product.d.ts +0 -34
  532. package/lib/pricing/pricing-plan.d.ts +0 -13
  533. package/lib/pricing/pricing-plan.service.d.ts +0 -17
  534. package/lib/pricing/product-pricing-rules.d.ts +0 -7
  535. package/lib/pricing/product-pricing-type.d.ts +0 -9
  536. package/lib/pricing/product-pricing.d.ts +0 -37
  537. package/lib/pricing/wholesale-pricing.service.d.ts +0 -19
  538. package/lib/product/index.d.ts +0 -2
  539. package/lib/product/list-products.d.ts +0 -16
  540. package/lib/product/product.d.ts +0 -9
  541. package/lib/product-summary/index.d.ts +0 -2
  542. package/lib/product-summary/product-summary.service.d.ts +0 -10
  543. package/lib/product-summary/subscription-retention.d.ts +0 -20
  544. package/lib/purchase/index.d.ts +0 -4
  545. package/lib/purchase/list-purchases.d.ts +0 -27
  546. package/lib/purchase/purchase.d.ts +0 -56
  547. package/lib/purchase/purchase.service.d.ts +0 -10
  548. package/lib/purchase/purchase_status.d.ts +0 -10
  549. package/lib/refund/index.d.ts +0 -2
  550. package/lib/refund/refund.d.ts +0 -36
  551. package/lib/refund/refund.service.d.ts +0 -11
  552. package/lib/retail-customer-configuration/index.d.ts +0 -2
  553. package/lib/retail-customer-configuration/retail-customer-configuration.d.ts +0 -20
  554. package/lib/retail-customer-configuration/retail-customer-configuration.service.d.ts +0 -9
  555. package/lib/revenue/index.d.ts +0 -2
  556. package/lib/revenue/revenue.interfaces.d.ts +0 -3
  557. package/lib/revenue/revenue.service.d.ts +0 -11
  558. package/lib/sales-credit-note/index.d.ts +0 -2
  559. package/lib/sales-credit-note/sales-credit-note.d.ts +0 -30
  560. package/lib/sales-credit-note/sales-credit-note.service.d.ts +0 -16
  561. package/lib/sales-invoice/index.d.ts +0 -2
  562. package/lib/sales-invoice/sales-invoice.d.ts +0 -42
  563. package/lib/sales-invoice/sales-invoice.service.d.ts +0 -16
  564. package/lib/sku.d.ts +0 -3
  565. package/lib/stripe-file/file.d.ts +0 -6
  566. package/lib/stripe-file/index.d.ts +0 -3
  567. package/lib/stripe-file/purpose.d.ts +0 -11
  568. package/lib/stripe-file/stripe-file.service.d.ts +0 -12
  569. package/lib/subscription/can-create-subscriptions-item.d.ts +0 -6
  570. package/lib/subscription/index.d.ts +0 -1
  571. package/lib/tax-rate/index.d.ts +0 -2
  572. package/lib/tax-rate/tax-rate.d.ts +0 -20
  573. package/lib/tax-rate/tax-rate.service.d.ts +0 -15
  574. package/vendasta-billing.metadata.json +0 -1
@@ -1,376 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BillingApiService } from './_internal/billing.api.service';
3
- import { GenerateVendorReportRequest, GetPurchaseCostRequest, GetRevenueStatsRequest, } from './_internal/objects/api';
4
- import { GetBillableItemRequest, ListBillableItemsRequest, } from './_internal/objects/billable-item';
5
- import { PagedRequestOptions, } from './_internal/objects/common';
6
- import { ListMerchantBillingReportsRequest, } from './_internal/objects/merchant-report';
7
- import { ListContractsRequest, } from './_internal/objects/contract';
8
- import { GetMultiCustomerSummariesRequest, } from './_internal/objects/customer-summary';
9
- import { billingStrategyFromAPI, billingStrategyToAPI, pricingPlanProductFromApi, } from './pricing';
10
- import { CreatePricingPlanProductRequest, DeletePricingPlanProductRequest, GetPricingPlanProductRequest, ListPricingPlanProductsRequest, UpdatePricingPlanProductRequest, } from './_internal/objects/pricing-plan-product';
11
- import { GetMultiProductRequest, ListProductsRequest } from './_internal/objects/product';
12
- import { ListPurchaseRequest, RetryPurchaseRequest, VoidPurchaseRequest, } from './_internal/objects/purchase';
13
- import { CanCreateSubscriptionsRequest, ChangeFrequencyRequest, ChangeRenewalDateRequest, ChangeCustomUnitPriceRequest, } from './_internal/objects/subscription';
14
- import { MerchantReportStatus } from './_internal/enums/merchant-report.enum';
15
- import { map, mapTo } from 'rxjs/operators';
16
- import { Currency } from './_internal/enums/currency.enum';
17
- import { RevenueApiService } from './revenue/revenue.service';
18
- import { MerchantReportApiService } from './merchant-report/merchant-report.service';
19
- import { productPricingFromApi } from './pricing/product-pricing';
20
- import { PagedResponse } from './core/paged-response';
21
- import { frequencyToApi } from './pricing/frequency';
22
- import { Commitment as CommitmentApi } from './_internal/objects/commitment';
23
- import { currencyPricingMapToApi } from './pricing/pricing-plan-product';
24
- import { FieldMask } from './_internal/objects/field-mask';
25
- import { PurchaseApiService } from './_internal/purchase.api.service';
26
- import { purchaseFromApi, purchaseItemFromApi } from './purchase/purchase';
27
- import { VendorApiService } from './_internal/vendor.api.service';
28
- import { customerSummaryFromApi } from './customer_summary/customer-summary';
29
- import { contractFromApi } from './contract';
30
- import { productFromApi } from './product/product';
31
- import { listProductsFilterToApi } from './product/list-products';
32
- import { billableItemFromApi } from './billable-item/billable-item';
33
- import { PricingApiService } from './_internal/pricing.api.service';
34
- import * as i0 from "@angular/core";
35
- import * as i1 from "./_internal/billing.api.service";
36
- import * as i2 from "./revenue/revenue.service";
37
- import * as i3 from "./merchant-report/merchant-report.service";
38
- import * as i4 from "./_internal/pricing.api.service";
39
- import * as i5 from "./_internal/purchase.api.service";
40
- import * as i6 from "./_internal/vendor.api.service";
41
- export class BillingService {
42
- constructor(billingApi, revenueApi, merchantReportApi, pricingApi, purchaseApi, vendorApi) {
43
- this.billingApi = billingApi;
44
- this.revenueApi = revenueApi;
45
- this.merchantReportApi = merchantReportApi;
46
- this.pricingApi = pricingApi;
47
- this.purchaseApi = purchaseApi;
48
- this.vendorApi = vendorApi;
49
- }
50
- /** deprecated */
51
- getPurchaseCost(merchantId, sku, quantity) {
52
- const req = new GetPurchaseCostRequest({
53
- merchantId: merchantId,
54
- sku: sku,
55
- quantity: quantity,
56
- });
57
- return this.billingApi.getPurchaseCost(req).pipe(map(response => {
58
- if (!response.currency) {
59
- response.currency = Currency.USD;
60
- }
61
- return response;
62
- }));
63
- }
64
- /** deprecated: Use canCreateSubscriptionsWithFrequencies instead. */
65
- canCreateSubscriptions(merchantId, skus) {
66
- const req = new CanCreateSubscriptionsRequest({
67
- merchantId: merchantId,
68
- skus: skus,
69
- });
70
- return this.billingApi.canCreateSubscriptions(req);
71
- }
72
- canCreateSubscriptionsWithFrequencies(merchantId, items) {
73
- const req = new CanCreateSubscriptionsRequest({
74
- merchantId: merchantId,
75
- items: items && items.map(item => {
76
- if (!item) {
77
- return null;
78
- }
79
- return {
80
- sku: item.sku,
81
- frequency: frequencyToApi(item.frequency),
82
- quantity: item.quantity || 0,
83
- };
84
- }),
85
- });
86
- return this.billingApi.canCreateSubscriptions(req);
87
- }
88
- downloadRevenueCsv(filename) {
89
- return this.revenueApi.downloadCsv({ filename });
90
- }
91
- downloadBillingReportCsv(merchantId, year, month) {
92
- return this.merchantReportApi.downloadCsv({ merchantId, year, month });
93
- }
94
- generateBillingReportCsv(merchantId, year, month) {
95
- return this.merchantReportApi.generateCsv({ merchantId, year, month });
96
- }
97
- listMerchantBillingReports(merchantId, cursor, pageSize) {
98
- const req = new ListMerchantBillingReportsRequest({
99
- merchantId: merchantId,
100
- pagingOptions: new PagedRequestOptions({ cursor, pageSize }),
101
- });
102
- return this.billingApi.listMerchantBillingReports(req).pipe(map(resp => {
103
- const reports = (resp.reports || []).map(r => {
104
- return {
105
- merchantId: r.merchantId,
106
- year: r.year,
107
- month: r.month,
108
- created: r.created,
109
- status: MerchantReportStatus[r.status || 0],
110
- };
111
- });
112
- return new PagedResponse(reports, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);
113
- }));
114
- }
115
- canBillCreateSnapshot(merchantId) {
116
- return this.billingApi.canBillItem({ merchantId: merchantId, sku: 'ST' });
117
- }
118
- canBillRefreshSnapshot(merchantId) {
119
- return this.billingApi.canBillItem({ merchantId: merchantId, sku: 'snapshotreportrefresh' });
120
- }
121
- canBillItem(merchantId, sku) {
122
- return this.billingApi.canBillItem({ merchantId: merchantId, sku: sku }).pipe(map(response => response.ok));
123
- }
124
- createPricingPlanProduct(pricingPlanId, sku, frequency, pricing, commitment, strategy, volumeCommitment) {
125
- const request = new CreatePricingPlanProductRequest({ pricingPlanId, sku, volumeCommitment });
126
- request.frequency = frequencyToApi(frequency);
127
- request.pricing = currencyPricingMapToApi(pricing);
128
- request.commitment = new CommitmentApi(commitment);
129
- request.strategy = billingStrategyToAPI(strategy);
130
- return this.billingApi.createPricingPlanProduct(request).pipe(mapTo(true));
131
- }
132
- updatePricingPlanProduct(pricingPlanId, sku, { frequency, pricing, commitment, strategy, volumeCommitment }) {
133
- const fieldMask = new FieldMask({ paths: [] });
134
- const request = new UpdatePricingPlanProductRequest({ pricingPlanId, sku });
135
- if (frequency !== null) {
136
- request.frequency = frequencyToApi(frequency);
137
- fieldMask.paths.push('frequency');
138
- }
139
- if (pricing !== null) {
140
- request.pricing = currencyPricingMapToApi(pricing);
141
- fieldMask.paths.push('pricing');
142
- }
143
- if (commitment !== null) {
144
- request.commitment = new CommitmentApi(commitment);
145
- fieldMask.paths.push('commitment');
146
- }
147
- if (strategy !== null) {
148
- request.strategy = billingStrategyToAPI(strategy);
149
- fieldMask.paths.push('strategy');
150
- }
151
- if (volumeCommitment !== null) {
152
- request.volumeCommitment = volumeCommitment;
153
- fieldMask.paths.push('volumeCommitment');
154
- }
155
- return this.billingApi.updatePricingPlanProduct(request).pipe(mapTo(true));
156
- }
157
- deletePricingPlanProduct(pricingPlanId, sku) {
158
- const request = new DeletePricingPlanProductRequest({ pricingPlanId, sku });
159
- return this.billingApi.deletePricingPlanProduct(request).pipe(mapTo(true));
160
- }
161
- /** deprecated - Use getMultiWholesalePrices from the WholesalePricingService */
162
- getMultiProductPricing(merchantId, skus, pricingPlanId) {
163
- return this.billingApi.getMultiProductPricing({ merchantId, skus, pricingPlanId }).pipe(map(r => {
164
- const productPricesApi = r.productPrices || {};
165
- const productPricings = {};
166
- for (const k of Object.keys(productPricesApi)) {
167
- const productPricingResponse = productPricesApi[k];
168
- productPricings[k] = productPricingFromApi(productPricingResponse);
169
- }
170
- return productPricings;
171
- }));
172
- }
173
- /** deprecated - Use getMultiRetailPrices from the RetailPricingService */
174
- getMultiRetailPricing(merchantId, currency, skus, groupId) {
175
- const requestGroupId = groupId === undefined ? '' : groupId;
176
- return this.pricingApi.getMultiRetail({ merchantId, currency, skus, groupId: requestGroupId }).pipe(map(r => {
177
- const retailPricesApi = r.productPrices || {};
178
- const retailPricings = {};
179
- for (const k of Object.keys(retailPricesApi)) {
180
- const retailPricingResponse = retailPricesApi[k];
181
- retailPricings[k] = productPricingFromApi(retailPricingResponse);
182
- }
183
- return retailPricings;
184
- }));
185
- }
186
- listPricingPlanProducts(filters, cursor, pageSize) {
187
- const req = new ListPricingPlanProductsRequest({
188
- filters: filters,
189
- pagingOptions: new PagedRequestOptions({ cursor, pageSize }),
190
- });
191
- return this.billingApi.listPricingPlanProducts(req).pipe(map(response => {
192
- const products = (response.products || []).map(p => pricingPlanProductFromApi(p));
193
- return new PagedResponse(products, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);
194
- }));
195
- }
196
- getPricingPlanProduct(pricingPlanId, sku) {
197
- const req = new GetPricingPlanProductRequest({ pricingPlanId, sku });
198
- return this.billingApi.getPricingPlanProduct(req).pipe(map(resp => {
199
- const ppp = pricingPlanProductFromApi(resp.pricingPlanProduct);
200
- ppp.defaultStrategy = billingStrategyFromAPI(resp.pricingPlanDefaultStrategy);
201
- return ppp;
202
- }));
203
- }
204
- listPurchases(filters, cursor, pageSize) {
205
- const req = new ListPurchaseRequest({
206
- filters: filters,
207
- pagingOptions: new PagedRequestOptions({ cursor, pageSize }),
208
- });
209
- return this.purchaseApi.list(req).pipe(map(response => {
210
- const purchases = (response.purchases || []).map(purchase => purchaseFromApi(purchase));
211
- return new PagedResponse(purchases, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);
212
- }));
213
- }
214
- voidPurchase(merchantId, purchaseId, day) {
215
- const req = new VoidPurchaseRequest({ purchaseId, merchantId, day });
216
- return this.purchaseApi.void(req).pipe(mapTo(true));
217
- }
218
- listPurchaseItems(filters, cursor, pageSize) {
219
- const req = new ListPurchaseRequest({
220
- filters: filters,
221
- pagingOptions: new PagedRequestOptions({ cursor, pageSize }),
222
- });
223
- return this.purchaseApi.listPurchaseItems(req).pipe(map(response => {
224
- const purchaseItems = (response.purchaseItems || []).map(purchaseItem => purchaseItemFromApi(purchaseItem, response.currency));
225
- return new PagedResponse(purchaseItems, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);
226
- }));
227
- }
228
- retryPurchase(merchantId, day, purchaseId) {
229
- const req = new RetryPurchaseRequest({
230
- merchantId: merchantId,
231
- day: day,
232
- purchaseId: purchaseId,
233
- });
234
- return this.purchaseApi.retry(req).pipe(map(() => true));
235
- }
236
- getMultiCustomerSummaries(merchantId, customerIds, periodStart, periodEnd) {
237
- const req = new GetMultiCustomerSummariesRequest({
238
- customerIds: customerIds,
239
- merchantId: merchantId,
240
- periodStart: periodStart,
241
- periodEnd: periodEnd,
242
- });
243
- return this.purchaseApi.getMultiCustomerSummaries(req).pipe(map(response => {
244
- return (response.customerSummaries || []).map(customerSummary => customerSummaryFromApi(customerSummary));
245
- }));
246
- }
247
- getMultiContract(merchantIds) {
248
- return this.billingApi.getMultiContract({ merchantIds: merchantIds }).pipe(map(resp => {
249
- const contractsAPI = resp.contracts || {};
250
- const contracts = {};
251
- for (const k of Object.keys(contractsAPI)) {
252
- const contractResponse = contractsAPI[k];
253
- contracts[k] = contractFromApi(contractResponse);
254
- }
255
- return contracts;
256
- }));
257
- }
258
- generateVendorReport(skus, periodStart, periodEnd, vendorName, markAsApproved) {
259
- const req = new GenerateVendorReportRequest({
260
- skus: skus,
261
- periodStart: periodStart,
262
- periodEnd: periodEnd,
263
- vendorName: vendorName,
264
- markAsApproved: markAsApproved,
265
- });
266
- return this.vendorApi.generateReport(req).pipe(map(response => response.url));
267
- }
268
- getVendorStats(skus, periodStart, periodEnd) {
269
- const req = new GetRevenueStatsRequest({
270
- skus: skus,
271
- periodStart: periodStart,
272
- periodEnd: periodEnd,
273
- });
274
- return this.vendorApi.getRevenueStats(req).pipe(map(response => response.totalRevenue || 0));
275
- }
276
- listContracts(cursor, pageSize) {
277
- const req = new ListContractsRequest({
278
- pagingOptions: new PagedRequestOptions({ cursor, pageSize }),
279
- });
280
- return this.billingApi.listContracts(req).pipe(map(response => {
281
- const contracts = (response.contracts || []).map(c => contractFromApi(c));
282
- return new PagedResponse(contracts, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);
283
- }));
284
- }
285
- listProducts(merchantId, searchTerm, filters, cursor, pageSize) {
286
- const apiFilters = listProductsFilterToApi(filters);
287
- const req = new ListProductsRequest({
288
- merchantId,
289
- searchTerm,
290
- filters: apiFilters,
291
- pagingOptions: new PagedRequestOptions({ cursor, pageSize }),
292
- });
293
- return this.billingApi.listProducts(req).pipe(map(response => {
294
- const products = (response.products || []).map(p => productFromApi(p));
295
- return new PagedResponse(products, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);
296
- }));
297
- }
298
- getMultiProduct(skus) {
299
- const req = new GetMultiProductRequest({
300
- skus: skus
301
- });
302
- return this.billingApi.getMultiProduct(req).pipe(map((response) => {
303
- const productsMap = new Map();
304
- skus.forEach(sku => {
305
- productsMap[sku] = productFromApi(response.products[sku]);
306
- });
307
- return productsMap;
308
- }));
309
- }
310
- getBillableItem(merchantId, sku, customerId, orderId) {
311
- const req = new GetBillableItemRequest({
312
- merchantId: merchantId,
313
- sku: sku,
314
- customerId: customerId,
315
- orderId: orderId,
316
- });
317
- return this.billingApi.getBillableItem(req).pipe(map(response => billableItemFromApi(response.item)));
318
- }
319
- changeBillableItemFrequency(merchantId, sku, customerId, orderId, freq) {
320
- const req = new ChangeFrequencyRequest({
321
- merchantId: merchantId,
322
- sku: sku,
323
- customerId: customerId,
324
- orderId: orderId,
325
- frequency: frequencyToApi(freq),
326
- });
327
- return this.billingApi.changeFrequency(req);
328
- }
329
- changeBillableItemNextRenewalDate(merchantId, sku, customerId, orderId, next) {
330
- const req = new ChangeRenewalDateRequest({
331
- merchantId: merchantId,
332
- sku: sku,
333
- customerId: customerId,
334
- orderId: orderId,
335
- nextRenewalDate: next,
336
- });
337
- return this.billingApi.changeRenewalDate(req);
338
- }
339
- changeBillableItemCustomUnitPrice(merchantId, sku, customerId, orderId, amount) {
340
- const req = new ChangeCustomUnitPriceRequest({
341
- merchantId: merchantId,
342
- sku: sku,
343
- customerId: customerId,
344
- orderId: orderId,
345
- customUnitPrice: amount,
346
- });
347
- return this.billingApi.changeCustomUnitPrice(req);
348
- }
349
- listBillableItems(searchTerm, filters, cursor, pageSize) {
350
- const req = new ListBillableItemsRequest({
351
- searchTerm: searchTerm,
352
- filters: filters,
353
- pagingOptions: new PagedRequestOptions({ cursor, pageSize }),
354
- });
355
- return this.billingApi.listBillableItems(req).pipe(map(response => {
356
- const items = (response.items || []).map(item => billableItemFromApi(item));
357
- return new PagedResponse(items, response.pagingMetadata.nextCursor, response.pagingMetadata.hasMore);
358
- }));
359
- }
360
- startRevRecBackfillWorkflow() {
361
- return this.billingApi.startRevRecTemplateBackfill({});
362
- }
363
- }
364
- BillingService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BillingService_Factory() { return new BillingService(i0.ɵɵinject(i1.BillingApiService), i0.ɵɵinject(i2.RevenueApiService), i0.ɵɵinject(i3.MerchantReportApiService), i0.ɵɵinject(i4.PricingApiService), i0.ɵɵinject(i5.PurchaseApiService), i0.ɵɵinject(i6.VendorApiService)); }, token: BillingService, providedIn: "root" });
365
- BillingService.decorators = [
366
- { type: Injectable, args: [{ providedIn: 'root' },] }
367
- ];
368
- BillingService.ctorParameters = () => [
369
- { type: BillingApiService },
370
- { type: RevenueApiService },
371
- { type: MerchantReportApiService },
372
- { type: PricingApiService },
373
- { type: PurchaseApiService },
374
- { type: VendorApiService }
375
- ];
376
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii93b3Jrc3BhY2Uvc2Rrcy90eXBlc2NyaXB0L3NyYy9iaWxsaW5nX3Nkay9zcmMvIiwic291cmNlcyI6WyJsaWIvYmlsbGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixzQkFBc0IsRUFFdEIsc0JBQXNCLEdBQ3ZCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix3QkFBd0IsR0FDekIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsbUJBQW1CLEdBQ3BCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUNMLGlDQUFpQyxHQUNsQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDTCxvQkFBb0IsR0FDckIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsZ0NBQWdDLEdBQ2pDLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUVMLHNCQUFzQixFQUN0QixvQkFBb0IsRUFHcEIseUJBQXlCLEdBQzFCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsK0JBQStCLEVBQy9CLDRCQUE0QixFQUM1Qiw4QkFBOEIsRUFDOUIsK0JBQStCLEdBQ2hDLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUNMLHNCQUFzQixFQUV0QixtQkFBbUIsRUFDcEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixtQkFBbUIsR0FDcEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBRUwsNkJBQTZCLEVBQzdCLHNCQUFzQixF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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCaWxsaW5nQXBpU2VydmljZSB9IGZyb20gJy4vX2ludGVybmFsL2JpbGxpbmcuYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgR2VuZXJhdGVWZW5kb3JSZXBvcnRSZXF1ZXN0LFxuICBHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0LFxuICBHZXRQdXJjaGFzZUNvc3RSZXNwb25zZSxcbiAgR2V0UmV2ZW51ZVN0YXRzUmVxdWVzdCxcbn0gZnJvbSAnLi9faW50ZXJuYWwvb2JqZWN0cy9hcGknO1xuaW1wb3J0IHtcbiAgR2V0QmlsbGFibGVJdGVtUmVxdWVzdCxcbiAgTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0LFxufSBmcm9tICcuL19pbnRlcm5hbC9vYmplY3RzL2JpbGxhYmxlLWl0ZW0nO1xuaW1wb3J0IHtcbiAgUGFnZWRSZXF1ZXN0T3B0aW9ucyxcbn0gZnJvbSAnLi9faW50ZXJuYWwvb2JqZWN0cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgTGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNSZXF1ZXN0LFxufSBmcm9tICcuL19pbnRlcm5hbC9vYmplY3RzL21lcmNoYW50LXJlcG9ydCc7XG5pbXBvcnQge1xuICBMaXN0Q29udHJhY3RzUmVxdWVzdCxcbn0gZnJvbSAnLi9faW50ZXJuYWwvb2JqZWN0cy9jb250cmFjdCc7XG5pbXBvcnQge1xuICBHZXRNdWx0aUN1c3RvbWVyU3VtbWFyaWVzUmVxdWVzdCxcbn0gZnJvbSAnLi9faW50ZXJuYWwvb2JqZWN0cy9jdXN0b21lci1zdW1tYXJ5JztcbmltcG9ydCB7XG4gIEJpbGxpbmdTdHJhdGVneSxcbiAgYmlsbGluZ1N0cmF0ZWd5RnJvbUFQSSxcbiAgYmlsbGluZ1N0cmF0ZWd5VG9BUEksXG4gIExpc3RQcmljaW5nUGxhblByb2R1Y3RGaWx0ZXIsXG4gIFByaWNpbmdQbGFuUHJvZHVjdCxcbiAgcHJpY2luZ1BsYW5Qcm9kdWN0RnJvbUFwaSxcbn0gZnJvbSAnLi9wcmljaW5nJztcbmltcG9ydCB7XG4gIENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gIERlbGV0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gIEdldFByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gIExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdCxcbiAgVXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCxcbn0gZnJvbSAnLi9faW50ZXJuYWwvb2JqZWN0cy9wcmljaW5nLXBsYW4tcHJvZHVjdCc7XG5pbXBvcnQge1xuICBHZXRNdWx0aVByb2R1Y3RSZXF1ZXN0LFxuICBHZXRNdWx0aVByb2R1Y3RSZXNwb25zZSxcbiAgTGlzdFByb2R1Y3RzUmVxdWVzdFxufSBmcm9tICcuL19pbnRlcm5hbC9vYmplY3RzL3Byb2R1Y3QnO1xuaW1wb3J0IHtcbiAgTGlzdFB1cmNoYXNlSXRlbXNSZXF1ZXN0TGlzdFB1cmNoYXNlSXRlbXNGaWx0ZXJzLFxuICBMaXN0UHVyY2hhc2VSZXF1ZXN0LFxuICBSZXRyeVB1cmNoYXNlUmVxdWVzdCxcbiAgVm9pZFB1cmNoYXNlUmVxdWVzdCxcbn0gZnJvbSAnLi9faW50ZXJuYWwvb2JqZWN0cy9wdXJjaGFzZSc7XG5pbXBvcnQge1xuICBDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVzcG9uc2UsXG4gIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0LFxuICBDaGFuZ2VGcmVxdWVuY3lSZXF1ZXN0LFxuICBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3QsXG4gIENoYW5nZUN1c3RvbVVuaXRQcmljZVJlcXVlc3QsXG59IGZyb20gJy4vX2ludGVybmFsL29iamVjdHMvc3Vic2NyaXB0aW9uJ1xuaW1wb3J0IHsgTWVyY2hhbnRSZXBvcnRTdGF0dXMgfSBmcm9tICcuL19pbnRlcm5hbC9lbnVtcy9tZXJjaGFudC1yZXBvcnQuZW51bSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIG1hcFRvIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ3VycmVuY3kgfSBmcm9tICcuL19pbnRlcm5hbC9lbnVtcy9jdXJyZW5jeS5lbnVtJztcbmltcG9ydCB7IFJldmVudWVBcGlTZXJ2aWNlIH0gZnJvbSAnLi9yZXZlbnVlL3JldmVudWUuc2VydmljZSc7XG5pbXBvcnQgeyBNZXJjaGFudFJlcG9ydEFwaVNlcnZpY2UgfSBmcm9tICcuL21lcmNoYW50LXJlcG9ydC9tZXJjaGFudC1yZXBvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBNZXJjaGFudFJlcG9ydCB9IGZyb20gJy4vbWVyY2hhbnQtcmVwb3J0L21lcmNoYW50LXJlcG9ydCc7XG5pbXBvcnQge0h0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtQcm9kdWN0UHJpY2luZywgcHJvZHVjdFByaWNpbmdGcm9tQXBpfSBmcm9tICcuL3ByaWNpbmcvcHJvZHVjdC1wcmljaW5nJztcbmltcG9ydCB7UGFnZWRSZXNwb25zZX0gZnJvbSAnLi9jb3JlL3BhZ2VkLXJlc3BvbnNlJztcbmltcG9ydCB7IEZyZXF1ZW5jeSwgZnJlcXVlbmN5VG9BcGkgfSBmcm9tICcuL3ByaWNpbmcvZnJlcXVlbmN5JztcbmltcG9ydCB7IENvbW1pdG1lbnQgYXMgQ29tbWl0bWVudEFwaSB9IGZyb20gJy4vX2ludGVybmFsL29iamVjdHMvY29tbWl0bWVudCc7XG5pbXBvcnQgeyBDb21taXRtZW50IH0gZnJvbSAnLi9wcmljaW5nL2NvbW1pdG1lbnQnO1xuaW1wb3J0IHsgQ3VycmVuY3lQcmljaW5nTWFwLCBjdXJyZW5jeVByaWNpbmdNYXBUb0FwaSB9IGZyb20gJy4vcHJpY2luZy9wcmljaW5nLXBsYW4tcHJvZHVjdCc7XG5pbXBvcnQgeyBGaWVsZE1hc2sgfSBmcm9tICcuL19pbnRlcm5hbC9vYmplY3RzL2ZpZWxkLW1hc2snO1xuaW1wb3J0IHsgUHVyY2hhc2VBcGlTZXJ2aWNlIH0gZnJvbSAnLi9faW50ZXJuYWwvcHVyY2hhc2UuYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHVyY2hhc2UsIHB1cmNoYXNlRnJvbUFwaSwgUHVyY2hhc2VJdGVtLCBwdXJjaGFzZUl0ZW1Gcm9tQXBpIH0gZnJvbSAnLi9wdXJjaGFzZS9wdXJjaGFzZSc7XG5pbXBvcnQgeyBMaXN0UHVyY2hhc2VGaWx0ZXIgfSBmcm9tICcuL3B1cmNoYXNlL2xpc3QtcHVyY2hhc2VzJztcbmltcG9ydCB7IFZlbmRvckFwaVNlcnZpY2UgfSBmcm9tICcuL19pbnRlcm5hbC92ZW5kb3IuYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tZXJTdW1tYXJ5LCBjdXN0b21lclN1bW1hcnlGcm9tQXBpIH0gZnJvbSAnLi9jdXN0b21lcl9zdW1tYXJ5L2N1c3RvbWVyLXN1bW1hcnknO1xuaW1wb3J0IHsgQ29udHJhY3QsIGNvbnRyYWN0RnJvbUFwaSB9IGZyb20gJy4vY29udHJhY3QnO1xuaW1wb3J0IHsgUHJvZHVjdCwgcHJvZHVjdEZyb21BcGkgfSBmcm9tICcuL3Byb2R1Y3QvcHJvZHVjdCc7XG5pbXBvcnQgeyBMaXN0UHJvZHVjdHNGaWx0ZXIsIGxpc3RQcm9kdWN0c0ZpbHRlclRvQXBpIH0gZnJvbSAnLi9wcm9kdWN0L2xpc3QtcHJvZHVjdHMnO1xuaW1wb3J0IHsgQmlsbGFibGVJdGVtLCBiaWxsYWJsZUl0ZW1Gcm9tQXBpLCBMaXN0QmlsbGFibGVJdGVtc0ZpbHRlciB9IGZyb20gJy4vYmlsbGFibGUtaXRlbS9iaWxsYWJsZS1pdGVtJztcbmltcG9ydCB7IFByaWNpbmdBcGlTZXJ2aWNlIH0gZnJvbSAnLi9faW50ZXJuYWwvcHJpY2luZy5hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBDYW5DcmVhdGVTdWJzY3JpcHRpb25zSXRlbSB9IGZyb20gJy4vc3Vic2NyaXB0aW9uJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQmlsbGluZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJpbGxpbmdBcGk6IEJpbGxpbmdBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmV2ZW51ZUFwaTogUmV2ZW51ZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXJjaGFudFJlcG9ydEFwaTogTWVyY2hhbnRSZXBvcnRBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJpY2luZ0FwaTogUHJpY2luZ0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwdXJjaGFzZUFwaTogUHVyY2hhc2VBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmVuZG9yQXBpOiBWZW5kb3JBcGlTZXJ2aWNlLFxuICApIHsgfVxuXG4gIC8qKiBkZXByZWNhdGVkICovXG4gIGdldFB1cmNoYXNlQ29zdChtZXJjaGFudElkOiBzdHJpbmcsIHNrdTogc3RyaW5nLCBxdWFudGl0eTogbnVtYmVyKTogT2JzZXJ2YWJsZTxHZXRQdXJjaGFzZUNvc3RSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0KHtcbiAgICAgIG1lcmNoYW50SWQ6IG1lcmNoYW50SWQsXG4gICAgICBza3U6IHNrdSxcbiAgICAgIHF1YW50aXR5OiBxdWFudGl0eSxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5iaWxsaW5nQXBpLmdldFB1cmNoYXNlQ29zdChyZXEpLnBpcGUoXG4gICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICBpZiAoIXJlc3BvbnNlLmN1cnJlbmN5KSB7XG4gICAgICAgICAgcmVzcG9uc2UuY3VycmVuY3kgPSBDdXJyZW5jeS5VU0Q7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBkZXByZWNhdGVkOiBVc2UgY2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1dpdGhGcmVxdWVuY2llcyBpbnN0ZWFkLiAqL1xuICBjYW5DcmVhdGVTdWJzY3JpcHRpb25zKFxuICAgICAgbWVyY2hhbnRJZDogc3RyaW5nLFxuICAgICAgc2t1czogeyBbc2t1OiBzdHJpbmddOiBudW1iZXIgfVxuICAgICk6IE9ic2VydmFibGU8Q2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxID0gbmV3IENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0KHtcbiAgICAgIG1lcmNoYW50SWQ6IG1lcmNoYW50SWQsXG4gICAgICBza3VzOiBza3VzLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmJpbGxpbmdBcGkuY2FuQ3JlYXRlU3Vic2NyaXB0aW9ucyhyZXEpO1xuICB9XG5cbiAgY2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1dpdGhGcmVxdWVuY2llcyhcbiAgICBtZXJjaGFudElkOiBzdHJpbmcsXG4gICAgaXRlbXM6IENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNJdGVtW11cbiAgKTogT2JzZXJ2YWJsZTxDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXEgPSBuZXcgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3Qoe1xuICAgICAgbWVyY2hhbnRJZDogbWVyY2hhbnRJZCxcbiAgICAgIGl0ZW1zOiBpdGVtcyAmJiBpdGVtcy5tYXAoaXRlbSA9PiB7XG4gICAgICAgIGlmICghaXRlbSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc2t1OiBpdGVtLnNrdSxcbiAgICAgICAgICBmcmVxdWVuY3k6IGZyZXF1ZW5jeVRvQXBpKGl0ZW0uZnJlcXVlbmN5KSxcbiAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSB8fCAwLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5jYW5DcmVhdGVTdWJzY3JpcHRpb25zKHJlcSk7XG4gIH1cblxuICBkb3dubG9hZFJldmVudWVDc3YoZmlsZW5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgIHJldHVybiB0aGlzLnJldmVudWVBcGkuZG93bmxvYWRDc3YoeyBmaWxlbmFtZSB9KTtcbiAgfVxuXG4gIGRvd25sb2FkQmlsbGluZ1JlcG9ydENzdihtZXJjaGFudElkOiBzdHJpbmcsIHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlcik6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgIHJldHVybiB0aGlzLm1lcmNoYW50UmVwb3J0QXBpLmRvd25sb2FkQ3N2KHsgbWVyY2hhbnRJZCwgeWVhciwgbW9udGggfSk7XG4gIH1cblxuICBnZW5lcmF0ZUJpbGxpbmdSZXBvcnRDc3YobWVyY2hhbnRJZDogc3RyaW5nLCB5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICByZXR1cm4gdGhpcy5tZXJjaGFudFJlcG9ydEFwaS5nZW5lcmF0ZUNzdih7IG1lcmNoYW50SWQsIHllYXIsIG1vbnRoIH0pO1xuICB9XG5cbiAgbGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHMoXG4gICAgbWVyY2hhbnRJZDogc3RyaW5nLFxuICAgIGN1cnNvcjogc3RyaW5nLFxuICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICk6IE9ic2VydmFibGU8UGFnZWRSZXNwb25zZTxNZXJjaGFudFJlcG9ydD4+IHtcbiAgICBjb25zdCByZXEgPSBuZXcgTGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNSZXF1ZXN0KHtcbiAgICAgIG1lcmNoYW50SWQ6IG1lcmNoYW50SWQsXG4gICAgICBwYWdpbmdPcHRpb25zOiBuZXcgUGFnZWRSZXF1ZXN0T3B0aW9ucyh7IGN1cnNvciwgcGFnZVNpemUgfSksXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5saXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0cyhyZXEpLnBpcGUoXG4gICAgICBtYXAocmVzcCA9PiB7XG4gICAgICAgIGNvbnN0IHJlcG9ydHMgPSAocmVzcC5yZXBvcnRzIHx8IFtdKS5tYXAociA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1lcmNoYW50SWQ6IHIubWVyY2hhbnRJZCxcbiAgICAgICAgICAgIHllYXI6IHIueWVhcixcbiAgICAgICAgICAgIG1vbnRoOiByLm1vbnRoLFxuICAgICAgICAgICAgY3JlYXRlZDogci5jcmVhdGVkLFxuICAgICAgICAgICAgc3RhdHVzOiBNZXJjaGFudFJlcG9ydFN0YXR1c1tyLnN0YXR1cyB8fCAwXSxcbiAgICAgICAgICB9IGFzIE1lcmNoYW50UmVwb3J0O1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBQYWdlZFJlc3BvbnNlPE1lcmNoYW50UmVwb3J0PihyZXBvcnRzLCByZXNwLnBhZ2luZ01ldGFkYXRhLm5leHRDdXJzb3IsIHJlc3AucGFnaW5nTWV0YWRhdGEuaGFzTW9yZSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgY2FuQmlsbENyZWF0ZVNuYXBzaG90KG1lcmNoYW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5jYW5CaWxsSXRlbSh7IG1lcmNoYW50SWQ6IG1lcmNoYW50SWQsIHNrdTogJ1NUJyB9KTtcbiAgfVxuXG4gIGNhbkJpbGxSZWZyZXNoU25hcHNob3QobWVyY2hhbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICByZXR1cm4gdGhpcy5iaWxsaW5nQXBpLmNhbkJpbGxJdGVtKHsgbWVyY2hhbnRJZDogbWVyY2hhbnRJZCwgc2t1OiAnc25hcHNob3RyZXBvcnRyZWZyZXNoJyB9KTtcbiAgfVxuXG4gIGNhbkJpbGxJdGVtKG1lcmNoYW50SWQ6IHN0cmluZywgc2t1OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5iaWxsaW5nQXBpLmNhbkJpbGxJdGVtKHsgbWVyY2hhbnRJZDogbWVyY2hhbnRJZCwgc2t1OiBza3UgfSkucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2Uub2spKTtcbiAgfVxuXG4gIGNyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdChcbiAgICBwcmljaW5nUGxhbklkOiBzdHJpbmcsXG4gICAgc2t1OiBzdHJpbmcsXG4gICAgZnJlcXVlbmN5OiBGcmVxdWVuY3ksXG4gICAgcHJpY2luZzogQ3VycmVuY3lQcmljaW5nTWFwLFxuICAgIGNvbW1pdG1lbnQ6IENvbW1pdG1lbnQsXG4gICAgc3RyYXRlZ3k6IEJpbGxpbmdTdHJhdGVneSxcbiAgICB2b2x1bWVDb21taXRtZW50OiBudW1iZXJcbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBDcmVhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0KHsgcHJpY2luZ1BsYW5JZCwgc2t1LCB2b2x1bWVDb21taXRtZW50IH0pO1xuICAgIHJlcXVlc3QuZnJlcXVlbmN5ID0gZnJlcXVlbmN5VG9BcGkoZnJlcXVlbmN5KTtcbiAgICByZXF1ZXN0LnByaWNpbmcgPSBjdXJyZW5jeVByaWNpbmdNYXBUb0FwaShwcmljaW5nKTtcbiAgICByZXF1ZXN0LmNvbW1pdG1lbnQgPSBuZXcgQ29tbWl0bWVudEFwaShjb21taXRtZW50KTtcbiAgICByZXF1ZXN0LnN0cmF0ZWd5ID0gYmlsbGluZ1N0cmF0ZWd5VG9BUEkoc3RyYXRlZ3kpO1xuICAgIHJldHVybiB0aGlzLmJpbGxpbmdBcGkuY3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0KHJlcXVlc3QpLnBpcGUobWFwVG8odHJ1ZSkpO1xuICB9XG5cbiAgdXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0KFxuICAgIHByaWNpbmdQbGFuSWQ6IHN0cmluZyxcbiAgICBza3U6IHN0cmluZyxcbiAgICB7XG4gICAgICBmcmVxdWVuY3ksXG4gICAgICBwcmljaW5nLFxuICAgICAgY29tbWl0bWVudCxcbiAgICAgIHN0cmF0ZWd5LFxuICAgICAgdm9sdW1lQ29tbWl0bWVudFxuICAgIH06IHtcbiAgICAgIGZyZXF1ZW5jeT86IEZyZXF1ZW5jeTtcbiAgICAgIHByaWNpbmc/OiBDdXJyZW5jeVByaWNpbmdNYXA7XG4gICAgICBjb21taXRtZW50PzogQ29tbWl0bWVudDtcbiAgICAgIHN0cmF0ZWd5PzogQmlsbGluZ1N0cmF0ZWd5O1xuICAgICAgdm9sdW1lQ29tbWl0bWVudD86IG51bWJlcjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmaWVsZE1hc2sgPSBuZXcgRmllbGRNYXNrKHsgcGF0aHM6IFtdIH0pO1xuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgVXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCh7IHByaWNpbmdQbGFuSWQsIHNrdSB9KTtcblxuICAgIGlmIChmcmVxdWVuY3kgIT09IG51bGwpIHtcbiAgICAgIHJlcXVlc3QuZnJlcXVlbmN5ID0gZnJlcXVlbmN5VG9BcGkoZnJlcXVlbmN5KTtcbiAgICAgIGZpZWxkTWFzay5wYXRocy5wdXNoKCdmcmVxdWVuY3knKTtcbiAgICB9XG4gICAgaWYgKHByaWNpbmcgIT09IG51bGwpIHtcbiAgICAgIHJlcXVlc3QucHJpY2luZyA9IGN1cnJlbmN5UHJpY2luZ01hcFRvQXBpKHByaWNpbmcpO1xuICAgICAgZmllbGRNYXNrLnBhdGhzLnB1c2goJ3ByaWNpbmcnKTtcbiAgICB9XG4gICAgaWYgKGNvbW1pdG1lbnQgIT09IG51bGwpIHtcbiAgICAgIHJlcXVlc3QuY29tbWl0bWVudCA9IG5ldyBDb21taXRtZW50QXBpKGNvbW1pdG1lbnQpO1xuICAgICAgZmllbGRNYXNrLnBhdGhzLnB1c2goJ2NvbW1pdG1lbnQnKTtcbiAgICB9XG4gICAgaWYgKHN0cmF0ZWd5ICE9PSBudWxsKSB7XG4gICAgICByZXF1ZXN0LnN0cmF0ZWd5ID0gYmlsbGluZ1N0cmF0ZWd5VG9BUEkoc3RyYXRlZ3kpO1xuICAgICAgZmllbGRNYXNrLnBhdGhzLnB1c2goJ3N0cmF0ZWd5Jyk7XG4gICAgfVxuICAgIGlmICh2b2x1bWVDb21taXRtZW50ICE9PSBudWxsKSB7XG4gICAgICByZXF1ZXN0LnZvbHVtZUNvbW1pdG1lbnQgPSB2b2x1bWVDb21taXRtZW50O1xuICAgICAgZmllbGRNYXNrLnBhdGhzLnB1c2goJ3ZvbHVtZUNvbW1pdG1lbnQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS51cGRhdGVQcmljaW5nUGxhblByb2R1Y3QocmVxdWVzdCkucGlwZShtYXBUbyh0cnVlKSk7XG4gIH1cblxuICBkZWxldGVQcmljaW5nUGxhblByb2R1Y3QocHJpY2luZ1BsYW5JZDogc3RyaW5nLCBza3U6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgRGVsZXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCh7IHByaWNpbmdQbGFuSWQsIHNrdSB9KTtcbiAgICByZXR1cm4gdGhpcy5iaWxsaW5nQXBpLmRlbGV0ZVByaWNpbmdQbGFuUHJvZHVjdChyZXF1ZXN0KS5waXBlKG1hcFRvKHRydWUpKTtcbiAgfVxuXG4gIC8qKiBkZXByZWNhdGVkIC0gVXNlIGdldE11bHRpV2hvbGVzYWxlUHJpY2VzIGZyb20gdGhlIFdob2xlc2FsZVByaWNpbmdTZXJ2aWNlICovXG4gIGdldE11bHRpUHJvZHVjdFByaWNpbmcoXG4gICAgbWVyY2hhbnRJZDogc3RyaW5nLFxuICAgIHNrdXM6IHN0cmluZ1tdLFxuICAgIHByaWNpbmdQbGFuSWQ/OiBzdHJpbmcsXG4gICk6IE9ic2VydmFibGU8eyBbc2t1OiBzdHJpbmddOiBQcm9kdWN0UHJpY2luZyB9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5nZXRNdWx0aVByb2R1Y3RQcmljaW5nKHsgbWVyY2hhbnRJZCwgc2t1cywgcHJpY2luZ1BsYW5JZCB9KS5waXBlKFxuICAgICAgbWFwKHIgPT4ge1xuICAgICAgICBjb25zdCBwcm9kdWN0UHJpY2VzQXBpID0gci5wcm9kdWN0UHJpY2VzIHx8IHt9O1xuICAgICAgICBjb25zdCBwcm9kdWN0UHJpY2luZ3MgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKHByb2R1Y3RQcmljZXNBcGkpKSB7XG4gICAgICAgICAgY29uc3QgcHJvZHVjdFByaWNpbmdSZXNwb25zZSA9IHByb2R1Y3RQcmljZXNBcGlba107XG4gICAgICAgICAgcHJvZHVjdFByaWNpbmdzW2tdID0gcHJvZHVjdFByaWNpbmdGcm9tQXBpKHByb2R1Y3RQcmljaW5nUmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcm9kdWN0UHJpY2luZ3M7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqIGRlcHJlY2F0ZWQgLSBVc2UgZ2V0TXVsdGlSZXRhaWxQcmljZXMgZnJvbSB0aGUgUmV0YWlsUHJpY2luZ1NlcnZpY2UgKi9cbiAgZ2V0TXVsdGlSZXRhaWxQcmljaW5nKFxuICAgIG1lcmNoYW50SWQ6IHN0cmluZyxcbiAgICBjdXJyZW5jeTogQ3VycmVuY3ksXG4gICAgc2t1czogc3RyaW5nW10sXG4gICAgZ3JvdXBJZD86IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTx7IFtza3U6IHN0cmluZ106IFByb2R1Y3RQcmljaW5nIH0+IHtcbiAgICBjb25zdCByZXF1ZXN0R3JvdXBJZDogc3RyaW5nID0gZ3JvdXBJZCA9PT0gdW5kZWZpbmVkID8gJycgOiBncm91cElkO1xuICAgIHJldHVybiB0aGlzLnByaWNpbmdBcGkuZ2V0TXVsdGlSZXRhaWwoeyBtZXJjaGFudElkLCBjdXJyZW5jeSwgc2t1cywgZ3JvdXBJZDogcmVxdWVzdEdyb3VwSWQgfSkucGlwZShcbiAgICAgIG1hcChyID0+IHtcbiAgICAgICAgY29uc3QgcmV0YWlsUHJpY2VzQXBpID0gci5wcm9kdWN0UHJpY2VzIHx8IHt9O1xuICAgICAgICBjb25zdCByZXRhaWxQcmljaW5ncyA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGsgb2YgT2JqZWN0LmtleXMocmV0YWlsUHJpY2VzQXBpKSkge1xuICAgICAgICAgIGNvbnN0IHJldGFpbFByaWNpbmdSZXNwb25zZSA9IHJldGFpbFByaWNlc0FwaVtrXVxuICAgICAgICAgIHJldGFpbFByaWNpbmdzW2tdID0gcHJvZHVjdFByaWNpbmdGcm9tQXBpKHJldGFpbFByaWNpbmdSZXNwb25zZSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmV0YWlsUHJpY2luZ3M7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbGlzdFByaWNpbmdQbGFuUHJvZHVjdHMoXG4gICAgZmlsdGVyczogTGlzdFByaWNpbmdQbGFuUHJvZHVjdEZpbHRlcixcbiAgICBjdXJzb3I6IHN0cmluZyxcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICApOiBPYnNlcnZhYmxlPFBhZ2VkUmVzcG9uc2U8UHJpY2luZ1BsYW5Qcm9kdWN0Pj4ge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBMaXN0UHJpY2luZ1BsYW5Qcm9kdWN0c1JlcXVlc3Qoe1xuICAgICAgZmlsdGVyczogZmlsdGVycyxcbiAgICAgIHBhZ2luZ09wdGlvbnM6IG5ldyBQYWdlZFJlcXVlc3RPcHRpb25zKHsgY3Vyc29yLCBwYWdlU2l6ZSB9KSxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5iaWxsaW5nQXBpLmxpc3RQcmljaW5nUGxhblByb2R1Y3RzKHJlcSkucGlwZShcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgIGNvbnN0IHByb2R1Y3RzID0gKHJlc3BvbnNlLnByb2R1Y3RzIHx8IFtdKS5tYXAocCA9PiBwcmljaW5nUGxhblByb2R1Y3RGcm9tQXBpKHApKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQYWdlZFJlc3BvbnNlKHByb2R1Y3RzLCByZXNwb25zZS5wYWdpbmdNZXRhZGF0YS5uZXh0Q3Vyc29yLCByZXNwb25zZS5wYWdpbmdNZXRhZGF0YS5oYXNNb3JlKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBnZXRQcmljaW5nUGxhblByb2R1Y3QocHJpY2luZ1BsYW5JZDogc3RyaW5nLCBza3U6IHN0cmluZyk6IE9ic2VydmFibGU8UHJpY2luZ1BsYW5Qcm9kdWN0PiB7XG4gICAgY29uc3QgcmVxID0gbmV3IEdldFByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QoeyBwcmljaW5nUGxhbklkLCBza3UgfSk7XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5nZXRQcmljaW5nUGxhblByb2R1Y3QocmVxKS5waXBlKFxuICAgICAgbWFwKHJlc3AgPT4ge1xuICAgICAgICBjb25zdCBwcHA6IFByaWNpbmdQbGFuUHJvZHVjdCA9IHByaWNpbmdQbGFuUHJvZHVjdEZyb21BcGkocmVzcC5wcmljaW5nUGxhblByb2R1Y3QpO1xuICAgICAgICBwcHAuZGVmYXVsdFN0cmF0ZWd5ID0gYmlsbGluZ1N0cmF0ZWd5RnJvbUFQSShyZXNwLnByaWNpbmdQbGFuRGVmYXVsdFN0cmF0ZWd5KTtcbiAgICAgICAgcmV0dXJuIHBwcDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGxpc3RQdXJjaGFzZXMoZmlsdGVyczogTGlzdFB1cmNoYXNlRmlsdGVyLCBjdXJzb3I6IHN0cmluZywgcGFnZVNpemU6IG51bWJlcik6IE9ic2VydmFibGU8UGFnZWRSZXNwb25zZTxQdXJjaGFzZT4+IHtcbiAgICBjb25zdCByZXEgPSBuZXcgTGlzdFB1cmNoYXNlUmVxdWVzdCh7XG4gICAgICBmaWx0ZXJzOiBmaWx0ZXJzLFxuICAgICAgcGFnaW5nT3B0aW9uczogbmV3IFBhZ2VkUmVxdWVzdE9wdGlvbnMoeyBjdXJzb3IsIHBhZ2VTaXplIH0pLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLnB1cmNoYXNlQXBpLmxpc3QocmVxKS5waXBlKFxuICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgY29uc3QgcHVyY2hhc2VzID0gKHJlc3BvbnNlLnB1cmNoYXNlcyB8fCBbXSkubWFwKHB1cmNoYXNlID0+IHB1cmNoYXNlRnJvbUFwaShwdXJjaGFzZSkpO1xuICAgICAgICByZXR1cm4gbmV3IFBhZ2VkUmVzcG9uc2UocHVyY2hhc2VzLCByZXNwb25zZS5wYWdpbmdNZXRhZGF0YS5uZXh0Q3Vyc29yLCByZXNwb25zZS5wYWdpbmdNZXRhZGF0YS5oYXNNb3JlKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICB2b2lkUHVyY2hhc2UobWVyY2hhbnRJZDogc3RyaW5nLCBwdXJjaGFzZUlkOiBzdHJpbmcsIGRheTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgcmVxID0gbmV3IFZvaWRQdXJjaGFzZVJlcXVlc3QoeyBwdXJjaGFzZUlkLCBtZXJjaGFudElkLCBkYXkgfSk7XG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VBcGkudm9pZChyZXEpLnBpcGUobWFwVG8odHJ1ZSkpXG4gIH1cblxuICBsaXN0UHVyY2hhc2VJdGVtcyhcbiAgICBmaWx0ZXJzOiBMaXN0UHVyY2hhc2VJdGVtc1JlcXVlc3RMaXN0UHVyY2hhc2VJdGVtc0ZpbHRlcnMsXG4gICAgY3Vyc29yOiBzdHJpbmcsXG4gICAgcGFnZVNpemU6IG51bWJlcixcbiAgKTogT2JzZXJ2YWJsZTxQYWdlZFJlc3BvbnNlPFB1cmNoYXNlSXRlbT4+IHtcbiAgICBjb25zdCByZXEgPSBuZXcgTGlzdFB1cmNoYXNlUmVxdWVzdCh7XG4gICAgICBmaWx0ZXJzOiBmaWx0ZXJzLFxuICAgICAgcGFnaW5nT3B0aW9uczogbmV3IFBhZ2VkUmVxdWVzdE9wdGlvbnMoeyBjdXJzb3IsIHBhZ2VTaXplIH0pLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLnB1cmNoYXNlQXBpLmxpc3RQdXJjaGFzZUl0ZW1zKHJlcSkucGlwZShcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgIGNvbnN0IHB1cmNoYXNlSXRlbXMgPSAocmVzcG9uc2UucHVyY2hhc2VJdGVtcyB8fCBbXSkubWFwKHB1cmNoYXNlSXRlbSA9PlxuICAgICAgICAgIHB1cmNoYXNlSXRlbUZyb21BcGkocHVyY2hhc2VJdGVtLCByZXNwb25zZS5jdXJyZW5jeSksXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBuZXcgUGFnZWRSZXNwb25zZShwdXJjaGFzZUl0ZW1zLCByZXNwb25zZS5wYWdpbmdNZXRhZGF0YS5uZXh0Q3Vyc29yLCByZXNwb25zZS5wYWdpbmdNZXRhZGF0YS5oYXNNb3JlKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICByZXRyeVB1cmNoYXNlKG1lcmNoYW50SWQ6IHN0cmluZywgZGF5OiBzdHJpbmcsIHB1cmNoYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBSZXRyeVB1cmNoYXNlUmVxdWVzdCh7XG4gICAgICBtZXJjaGFudElkOiBtZXJjaGFudElkLFxuICAgICAgZGF5OiBkYXksXG4gICAgICBwdXJjaGFzZUlkOiBwdXJjaGFzZUlkLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLnB1cmNoYXNlQXBpLnJldHJ5KHJlcSkucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xuICB9XG5cbiAgZ2V0TXVsdGlDdXN0b21lclN1bW1hcmllcyhcbiAgICBtZXJjaGFudElkOiBzdHJpbmcsXG4gICAgY3VzdG9tZXJJZHM6IHN0cmluZ1tdLFxuICAgIHBlcmlvZFN0YXJ0OiBEYXRlLFxuICAgIHBlcmlvZEVuZDogRGF0ZSxcbiAgKTogT2JzZXJ2YWJsZTxDdXN0b21lclN1bW1hcnlbXT4ge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBHZXRNdWx0aUN1c3RvbWVyU3VtbWFyaWVzUmVxdWVzdCh7XG4gICAgICBjdXN0b21lcklkczogY3VzdG9tZXJJZHMsXG4gICAgICBtZXJjaGFudElkOiBtZXJjaGFudElkLFxuICAgICAgcGVyaW9kU3RhcnQ6IHBlcmlvZFN0YXJ0LFxuICAgICAgcGVyaW9kRW5kOiBwZXJpb2RFbmQsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VBcGkuZ2V0TXVsdGlDdXN0b21lclN1bW1hcmllcyhyZXEpLnBpcGUoXG4gICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4gKHJlc3BvbnNlLmN1c3RvbWVyU3VtbWFyaWVzIHx8IFtdKS5tYXAoY3VzdG9tZXJTdW1tYXJ5ID0+IGN1c3RvbWVyU3VtbWFyeUZyb21BcGkoY3VzdG9tZXJTdW1tYXJ5KSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgZ2V0TXVsdGlDb250cmFjdChtZXJjaGFudElkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHsgW3NrdTogc3RyaW5nXTogQ29udHJhY3QgfT4ge1xuICAgIHJldHVybiB0aGlzLmJpbGxpbmdBcGkuZ2V0TXVsdGlDb250cmFjdCh7IG1lcmNoYW50SWRzOiBtZXJjaGFudElkcyB9KS5waXBlKFxuICAgICAgbWFwKHJlc3AgPT4ge1xuICAgICAgICBjb25zdCBjb250cmFjdHNBUEkgPSByZXNwLmNvbnRyYWN0cyB8fCB7fTtcbiAgICAgICAgY29uc3QgY29udHJhY3RzID0ge307XG4gICAgICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyhjb250cmFjdHNBUEkpKSB7XG4gICAgICAgICAgY29uc3QgY29udHJhY3RSZXNwb25zZSA9IGNvbnRyYWN0c0FQSVtrXTtcbiAgICAgICAgICBjb250cmFjdHNba10gPSBjb250cmFjdEZyb21BcGkoY29udHJhY3RSZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbnRyYWN0cztcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBnZW5lcmF0ZVZlbmRvclJlcG9ydChcbiAgICAgIHNrdXM6IHN0cmluZ1tdLFxuICAgICAgcGVyaW9kU3RhcnQ6IERhdGUsXG4gICAgICBwZXJpb2RFbmQ6IERhdGUsXG4gICAgICB2ZW5kb3JOYW1lOiBzdHJpbmcsXG4gICAgICBtYXJrQXNBcHByb3ZlZDogYm9vbGVhblxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBHZW5lcmF0ZVZlbmRvclJlcG9ydFJlcXVlc3Qoe1xuICAgICAgc2t1czogc2t1cyxcbiAgICAgIHBlcmlvZFN0YXJ0OiBwZXJpb2RTdGFydCxcbiAgICAgIHBlcmlvZEVuZDogcGVyaW9kRW5kLFxuICAgICAgdmVuZG9yTmFtZTogdmVuZG9yTmFtZSxcbiAgICAgIG1hcmtBc0FwcHJvdmVkOiBtYXJrQXNBcHByb3ZlZCxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy52ZW5kb3JBcGkuZ2VuZXJhdGVSZXBvcnQocmVxKS5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS51cmwpKTtcbiAgfVxuXG4gIGdldFZlbmRvclN0YXRzKHNrdXM6IHN0cmluZ1tdLCBwZXJpb2RTdGFydDogRGF0ZSwgcGVyaW9kRW5kOiBEYXRlKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICBjb25zdCByZXEgPSBuZXcgR2V0UmV2ZW51ZVN0YXRzUmVxdWVzdCh7XG4gICAgICBza3VzOiBza3VzLFxuICAgICAgcGVyaW9kU3RhcnQ6IHBlcmlvZFN0YXJ0LFxuICAgICAgcGVyaW9kRW5kOiBwZXJpb2RFbmQsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMudmVuZG9yQXBpLmdldFJldmVudWVTdGF0cyhyZXEpLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLnRvdGFsUmV2ZW51ZSB8fCAwKSk7XG4gIH1cblxuICBsaXN0Q29udHJhY3RzKGN1cnNvcjogc3RyaW5nLCBwYWdlU2l6ZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxQYWdlZFJlc3BvbnNlPENvbnRyYWN0Pj4ge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBMaXN0Q29udHJhY3RzUmVxdWVzdCh7XG4gICAgICBwYWdpbmdPcHRpb25zOiBuZXcgUGFnZWRSZXF1ZXN0T3B0aW9ucyh7IGN1cnNvciwgcGFnZVNpemUgfSksXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5saXN0Q29udHJhY3RzKHJlcSkucGlwZShcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRyYWN0cyA9IChyZXNwb25zZS5jb250cmFjdHMgfHwgW10pLm1hcChjID0+IGNvbnRyYWN0RnJvbUFwaShjKSk7XG4gICAgICAgIHJldHVybiBuZXcgUGFnZWRSZXNwb25zZShjb250cmFjdHMsIHJlc3BvbnNlLnBhZ2luZ01ldGFkYXRhLm5leHRDdXJzb3IsIHJlc3BvbnNlLnBhZ2luZ01ldGFkYXRhLmhhc01vcmUpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGxpc3RQcm9kdWN0cyhcbiAgICBtZXJjaGFudElkOiBzdHJpbmcsXG4gICAgc2VhcmNoVGVybTogc3RyaW5nLFxuICAgIGZpbHRlcnM6IExpc3RQcm9kdWN0c0ZpbHRlcixcbiAgICBjdXJzb3I6IHN0cmluZyxcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICApOiBPYnNlcnZhYmxlPFBhZ2VkUmVzcG9uc2U8UHJvZHVjdD4+IHtcbiAgICBjb25zdCBhcGlGaWx0ZXJzID0gbGlzdFByb2R1Y3RzRmlsdGVyVG9BcGkoZmlsdGVycyk7XG4gICAgY29uc3QgcmVxID0gbmV3IExpc3RQcm9kdWN0c1JlcXVlc3Qoe1xuICAgICAgbWVyY2hhbnRJZCxcbiAgICAgIHNlYXJjaFRlcm0sXG4gICAgICBmaWx0ZXJzOiBhcGlGaWx0ZXJzLFxuICAgICAgcGFnaW5nT3B0aW9uczogbmV3IFBhZ2VkUmVxdWVzdE9wdGlvbnMoeyBjdXJzb3IsIHBhZ2VTaXplIH0pLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmJpbGxpbmdBcGkubGlzdFByb2R1Y3RzKHJlcSkucGlwZShcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgIGNvbnN0IHByb2R1Y3RzID0gKHJlc3BvbnNlLnByb2R1Y3RzIHx8IFtdKS5tYXAocCA9PiBwcm9kdWN0RnJvbUFwaShwKSk7XG4gICAgICAgIHJldHVybiBuZXcgUGFnZWRSZXNwb25zZShwcm9kdWN0cywgcmVzcG9uc2UucGFnaW5nTWV0YWRhdGEubmV4dEN1cnNvciwgcmVzcG9uc2UucGFnaW5nTWV0YWRhdGEuaGFzTW9yZSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgZ2V0TXVsdGlQcm9kdWN0KFxuICAgIHNrdXM6IHN0cmluZ1tdXG4gICk6IE9ic2VydmFibGU8TWFwPHN0cmluZywgUHJvZHVjdD4+IHtcbiAgICBjb25zdCByZXEgPSBuZXcgR2V0TXVsdGlQcm9kdWN0UmVxdWVzdCh7XG4gICAgICBza3VzOiBza3VzXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5nZXRNdWx0aVByb2R1Y3QocmVxKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogR2V0TXVsdGlQcm9kdWN0UmVzcG9uc2UpID0+IHtcbiAgICAgICAgY29uc3QgcHJvZHVjdHNNYXAgPSBuZXcgTWFwPHN0cmluZywgUHJvZHVjdD4oKTtcbiAgICAgICAgc2t1cy5mb3JFYWNoKHNrdSA9PiB7XG4gICAgICAgICAgcHJvZHVjdHNNYXBbc2t1XSA9IHByb2R1Y3RGcm9tQXBpKHJlc3BvbnNlLnByb2R1Y3RzW3NrdV0pXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcHJvZHVjdHNNYXBcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBnZXRCaWxsYWJsZUl0ZW0obWVyY2hhbnRJZDogc3RyaW5nLCBza3U6IHN0cmluZywgY3VzdG9tZXJJZDogc3RyaW5nLCBvcmRlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJpbGxhYmxlSXRlbT4ge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBHZXRCaWxsYWJsZUl0ZW1SZXF1ZXN0KHtcbiAgICAgIG1lcmNoYW50SWQ6IG1lcmNoYW50SWQsXG4gICAgICBza3U6IHNrdSxcbiAgICAgIGN1c3RvbWVySWQ6IGN1c3RvbWVySWQsXG4gICAgICBvcmRlcklkOiBvcmRlcklkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5nZXRCaWxsYWJsZUl0ZW0ocmVxKS5waXBlKG1hcChyZXNwb25zZSA9PiBiaWxsYWJsZUl0ZW1Gcm9tQXBpKHJlc3BvbnNlLml0ZW0pKSk7XG4gIH1cblxuICBjaGFuZ2VCaWxsYWJsZUl0ZW1GcmVxdWVuY3koXG4gICAgbWVyY2hhbnRJZDogc3RyaW5nLFxuICAgIHNrdTogc3RyaW5nLFxuICAgIGN1c3RvbWVySWQ6IHN0cmluZyxcbiAgICBvcmRlcklkOiBzdHJpbmcsXG4gICAgZnJlcTogRnJlcXVlbmN5KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICBjb25zdCByZXEgPSBuZXcgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdCh7XG4gICAgICBtZXJjaGFudElkOiBtZXJjaGFudElkLFxuICAgICAgc2t1OiBza3UsXG4gICAgICBjdXN0b21lcklkOiBjdXN0b21lcklkLFxuICAgICAgb3JkZXJJZDogb3JkZXJJZCxcbiAgICAgIGZyZXF1ZW5jeTogZnJlcXVlbmN5VG9BcGkoZnJlcSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5iaWxsaW5nQXBpLmNoYW5nZUZyZXF1ZW5jeShyZXEpO1xuICB9XG5cbiAgY2hhbmdlQmlsbGFibGVJdGVtTmV4dFJlbmV3YWxEYXRlKFxuICAgIG1lcmNoYW50SWQ6IHN0cmluZyxcbiAgICBza3U6IHN0cmluZyxcbiAgICBjdXN0b21lcklkOiBzdHJpbmcsXG4gICAgb3JkZXJJZDogc3RyaW5nLFxuICAgIG5leHQ6IERhdGUpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3Qoe1xuICAgICAgbWVyY2hhbnRJZDogbWVyY2hhbnRJZCxcbiAgICAgIHNrdTogc2t1LFxuICAgICAgY3VzdG9tZXJJZDogY3VzdG9tZXJJZCxcbiAgICAgIG9yZGVySWQ6IG9yZGVySWQsXG4gICAgICBuZXh0UmVuZXdhbERhdGU6IG5leHQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5iaWxsaW5nQXBpLmNoYW5nZVJlbmV3YWxEYXRlKHJlcSk7XG4gIH1cblxuICBjaGFuZ2VCaWxsYWJsZUl0ZW1DdXN0b21Vbml0UHJpY2UoXG4gICAgICBtZXJjaGFudElkOiBzdHJpbmcsXG4gICAgICBza3U6IHN0cmluZyxcbiAgICAgIGN1c3RvbWVySWQ6IHN0cmluZyxcbiAgICAgIG9yZGVySWQ6IHN0cmluZyxcbiAgICAgIGFtb3VudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICBjb25zdCByZXEgPSBuZXcgQ2hhbmdlQ3VzdG9tVW5pdFByaWNlUmVxdWVzdCh7XG4gICAgICBtZXJjaGFudElkOiBtZXJjaGFudElkLFxuICAgICAgc2t1OiBza3UsXG4gICAgICBjdXN0b21lcklkOiBjdXN0b21lcklkLFxuICAgICAgb3JkZXJJZDogb3JkZXJJZCxcbiAgICAgIGN1c3RvbVVuaXRQcmljZTogYW1vdW50LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5jaGFuZ2VDdXN0b21Vbml0UHJpY2UocmVxKTtcbiAgfVxuXG4gIGxpc3RCaWxsYWJsZUl0ZW1zKFxuICAgIHNlYXJjaFRlcm06IHN0cmluZyxcbiAgICBmaWx0ZXJzOiBMaXN0QmlsbGFibGVJdGVtc0ZpbHRlcixcbiAgICBjdXJzb3I6IHN0cmluZyxcbiAgICBwYWdlU2l6ZTogbnVtYmVyXG4gICk6IE9ic2VydmFibGU8UGFnZWRSZXNwb25zZTxCaWxsYWJsZUl0ZW0+PiB7XG4gICAgY29uc3QgcmVxID0gbmV3IExpc3RCaWxsYWJsZUl0ZW1zUmVxdWVzdCh7XG4gICAgICBzZWFyY2hUZXJtOiBzZWFyY2hUZXJtLFxuICAgICAgZmlsdGVyczogZmlsdGVycyxcbiAgICAgIHBhZ2luZ09wdGlvbnM6IG5ldyBQYWdlZFJlcXVlc3RPcHRpb25zKHtjdXJzb3IsIHBhZ2VTaXplfSksXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5saXN0QmlsbGFibGVJdGVtcyhyZXEpLnBpcGUoXG4gICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IChyZXNwb25zZS5pdGVtcyB8fCBbXSkubWFwKGl0ZW0gPT4gYmlsbGFibGVJdGVtRnJvbUFwaShpdGVtKSk7XG4gICAgICAgIHJldHVybiBuZXcgUGFnZWRSZXNwb25zZShpdGVtcywgcmVzcG9uc2UucGFnaW5nTWV0YWRhdGEubmV4dEN1cnNvciwgcmVzcG9uc2UucGFnaW5nTWV0YWRhdGEuaGFzTW9yZSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgc3RhcnRSZXZSZWNCYWNrZmlsbFdvcmtmbG93KCk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgcmV0dXJuIHRoaXMuYmlsbGluZ0FwaS5zdGFydFJldlJlY1RlbXBsYXRlQmFja2ZpbGwoe30pXG4gIH1cbn1cbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { discountTypeFromApi, discountTypeToApi } from '../discount/discount_type';
2
- export function bundleFromApi(apiBundle) {
3
- if (!apiBundle) {
4
- return null;
5
- }
6
- const items = (apiBundle.items || []).map(item => bundleItemFromApi(item));
7
- return {
8
- merchantId: apiBundle.merchantId,
9
- bundleId: apiBundle.bundleId,
10
- name: apiBundle.name,
11
- hideBundleDetails: apiBundle.hideBundleDetails,
12
- items: items,
13
- created: apiBundle.created,
14
- updated: apiBundle.updated,
15
- };
16
- }
17
- export function bundleItemFromApi(apiBundleItem) {
18
- return {
19
- productId: apiBundleItem.productId,
20
- discountType: discountTypeFromApi(apiBundleItem.discountType),
21
- discountAmount: apiBundleItem.discountAmount,
22
- quantity: apiBundleItem.quantity,
23
- defaultSku: apiBundleItem.defaultSku,
24
- price: apiBundleItem.price,
25
- };
26
- }
27
- export function bundleItemToApi(bundleItem) {
28
- return {
29
- productId: bundleItem.productId,
30
- discountType: discountTypeToApi(bundleItem.discountType),
31
- discountAmount: bundleItem.discountAmount,
32
- quantity: bundleItem.quantity,
33
- defaultSku: bundleItem.defaultSku,
34
- price: bundleItem.price,
35
- };
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmpzIiwic291cmNlUm9vdCI6Ii93b3Jrc3BhY2Uvc2Rrcy90eXBlc2NyaXB0L3NyYy9iaWxsaW5nX3Nkay9zcmMvIiwic291cmNlcyI6WyJsaWIvYnVuZGxlL2J1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQTJCbkYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxTQUFvQjtJQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNFLE9BQU87UUFDSCxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVU7UUFDaEMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1FBQzVCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNwQixpQkFBaUIsRUFBRSxTQUFTLENBQUMsaUJBQWlCO1FBQzlDLEtBQUssRUFBRSxLQUFLO1FBQ1osT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1FBQzFCLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztLQUNuQixDQUFBO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxhQUE0QjtJQUMxRCxPQUFPO1FBQ0gsU0FBUyxFQUFFLGFBQWEsQ0FBQyxTQUFTO1FBQ2xDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQzdELGNBQWMsRUFBRSxhQUFhLENBQUMsY0FBYztRQUM1QyxRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7UUFDaEMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxVQUFVO1FBQ3BDLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztLQUNmLENBQUE7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsVUFBc0I7SUFDbEQsT0FBTztRQUNILFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUztRQUMvQixZQUFZLEVBQUUsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUN4RCxjQUFjLEVBQUUsVUFBVSxDQUFDLGNBQWM7UUFDekMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1FBQzdCLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtRQUNqQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7S0FDVCxDQUFBO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXNjb3VudFR5cGUgfSBmcm9tICcuLi9kaXNjb3VudCc7XG5pbXBvcnQgeyBkaXNjb3VudFR5cGVGcm9tQXBpLCBkaXNjb3VudFR5cGVUb0FwaSB9IGZyb20gJy4uL2Rpc2NvdW50L2Rpc2NvdW50X3R5cGUnO1xuaW1wb3J0IHsgQnVuZGxlIGFzIEFQSUJ1bmRsZSwgQnVuZGxlSXRlbSBhcyBBUElCdW5kbGVJdGVtIH0gZnJvbSAnLi4vX2ludGVybmFsJztcblxuZXhwb3J0IGludGVyZmFjZSBCdW5kbGUge1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcbiAgICBidW5kbGVJZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBoaWRlQnVuZGxlRGV0YWlsczogYm9vbGVhbjtcbiAgICBpdGVtczogQnVuZGxlSXRlbVtdO1xuICAgIGNyZWF0ZWQ6IERhdGU7XG4gICAgdXBkYXRlZDogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdW5kbGVJdGVtIHtcbiAgICBwcm9kdWN0SWQ6IHN0cmluZztcbiAgICBkaXNjb3VudFR5cGU6IERpc2NvdW50VHlwZTtcbiAgICBkaXNjb3VudEFtb3VudDogbnVtYmVyO1xuICAgIHF1YW50aXR5OiBudW1iZXI7XG4gICAgZGVmYXVsdFNrdTogc3RyaW5nO1xuICAgIHByaWNlOiBQcmljZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmljZSB7XG4gICAgYW1vdW50OiBudW1iZXJcbiAgICBzZXR1cEZlZTogbnVtYmVyXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidW5kbGVGcm9tQXBpKGFwaUJ1bmRsZTogQVBJQnVuZGxlKTogQnVuZGxlIHtcbiAgICBpZiAoIWFwaUJ1bmRsZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgaXRlbXMgPSAoYXBpQnVuZGxlLml0ZW1zIHx8IFtdKS5tYXAoaXRlbSA9PiBidW5kbGVJdGVtRnJvbUFwaShpdGVtKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWVyY2hhbnRJZDogYXBpQnVuZGxlLm1lcmNoYW50SWQsXG4gICAgICAgIGJ1bmRsZUlkOiBhcGlCdW5kbGUuYnVuZGxlSWQsXG4gICAgICAgIG5hbWU6IGFwaUJ1bmRsZS5uYW1lLFxuICAgICAgICBoaWRlQnVuZGxlRGV0YWlsczogYXBpQnVuZGxlLmhpZGVCdW5kbGVEZXRhaWxzLFxuICAgICAgICBpdGVtczogaXRlbXMsXG4gICAgICAgIGNyZWF0ZWQ6IGFwaUJ1bmRsZS5jcmVhdGVkLFxuICAgICAgICB1cGRhdGVkOiBhcGlCdW5kbGUudXBkYXRlZCxcbiAgICB9IGFzIEJ1bmRsZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVuZGxlSXRlbUZyb21BcGkoYXBpQnVuZGxlSXRlbTogQVBJQnVuZGxlSXRlbSk6IEJ1bmRsZUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb2R1Y3RJZDogYXBpQnVuZGxlSXRlbS5wcm9kdWN0SWQsXG4gICAgICAgIGRpc2NvdW50VHlwZTogZGlzY291bnRUeXBlRnJvbUFwaShhcGlCdW5kbGVJdGVtLmRpc2NvdW50VHlwZSksXG4gICAgICAgIGRpc2NvdW50QW1vdW50OiBhcGlCdW5kbGVJdGVtLmRpc2NvdW50QW1vdW50LFxuICAgICAgICBxdWFudGl0eTogYXBpQnVuZGxlSXRlbS5xdWFudGl0eSxcbiAgICAgICAgZGVmYXVsdFNrdTogYXBpQnVuZGxlSXRlbS5kZWZhdWx0U2t1LFxuICAgICAgICBwcmljZTogYXBpQnVuZGxlSXRlbS5wcmljZSxcbiAgICB9IGFzIEJ1bmRsZUl0ZW1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1bmRsZUl0ZW1Ub0FwaShidW5kbGVJdGVtOiBCdW5kbGVJdGVtKTogQVBJQnVuZGxlSXRlbSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvZHVjdElkOiBidW5kbGVJdGVtLnByb2R1Y3RJZCxcbiAgICAgICAgZGlzY291bnRUeXBlOiBkaXNjb3VudFR5cGVUb0FwaShidW5kbGVJdGVtLmRpc2NvdW50VHlwZSksXG4gICAgICAgIGRpc2NvdW50QW1vdW50OiBidW5kbGVJdGVtLmRpc2NvdW50QW1vdW50LFxuICAgICAgICBxdWFudGl0eTogYnVuZGxlSXRlbS5xdWFudGl0eSxcbiAgICAgICAgZGVmYXVsdFNrdTogYnVuZGxlSXRlbS5kZWZhdWx0U2t1LFxuICAgICAgICBwcmljZTogYnVuZGxlSXRlbS5wcmljZSxcbiAgICB9IGFzIEFQSUJ1bmRsZUl0ZW1cbn1cbiJdfQ==
@@ -1,56 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map, mapTo } from 'rxjs/operators';
3
- import { PagedResponse } from '../core';
4
- import { BundleApiService, GetMultiBundleRequest, ListBundlesRequest, PagedRequestOptions, UpsertBundleRequest, } from '../_internal';
5
- import { bundleFromApi, bundleItemToApi } from './bundle';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../_internal/bundle.api.service";
8
- export class BundleService {
9
- constructor(bundleApiService) {
10
- this.bundleApiService = bundleApiService;
11
- }
12
- upsert(merchantId, bundleId, name, hideBundleDetails, items) {
13
- const request = new UpsertBundleRequest({
14
- merchantId: merchantId,
15
- bundleId: bundleId,
16
- name: name,
17
- hideBundleDetails: hideBundleDetails,
18
- items: (items || []).map(item => bundleItemToApi(item))
19
- });
20
- return this.bundleApiService.upsert(request).pipe(mapTo(true));
21
- }
22
- getMulti(merchantId, bundleIds) {
23
- const request = new GetMultiBundleRequest({
24
- merchantId: merchantId,
25
- bundleIds: bundleIds
26
- });
27
- return this.bundleApiService.getMulti(request).pipe(map((resp) => {
28
- const bundlesMap = new Map();
29
- if (resp && resp.bundles) {
30
- bundleIds.forEach(bundleId => {
31
- bundlesMap.set(bundleId, bundleFromApi(resp.bundles[bundleId]));
32
- });
33
- }
34
- return bundlesMap;
35
- }));
36
- }
37
- list(filters, searchTerm, cursor, pageSize) {
38
- const request = new ListBundlesRequest({
39
- filters: filters,
40
- searchTerm: searchTerm,
41
- pagingOptions: new PagedRequestOptions({ cursor, pageSize }),
42
- });
43
- return this.bundleApiService.list(request).pipe(map((resp) => {
44
- const bundles = (resp.bundles || []).map(bundle => bundleFromApi(bundle));
45
- return new PagedResponse(bundles, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);
46
- }));
47
- }
48
- }
49
- BundleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BundleService_Factory() { return new BundleService(i0.ɵɵinject(i1.BundleApiService)); }, token: BundleService, providedIn: "root" });
50
- BundleService.decorators = [
51
- { type: Injectable, args: [{ providedIn: 'root' },] }
52
- ];
53
- BundleService.ctorParameters = () => [
54
- { type: BundleApiService }
55
- ];
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL3dvcmtzcGFjZS9zZGtzL3R5cGVzY3JpcHQvc3JjL2JpbGxpbmdfc2RrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9idW5kbGUvYnVuZGxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixxQkFBcUIsRUFFckIsa0JBQWtCLEVBRWxCLG1CQUFtQixFQUNuQixtQkFBbUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFVLGFBQWEsRUFBYyxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQU85RSxNQUFNLE9BQU8sYUFBYTtJQUN0QixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN0RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQWtCLEVBQUUsUUFBZ0IsRUFBRSxJQUFZLEVBQUUsaUJBQTBCLEVBQUUsS0FBb0I7UUFDdkcsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQztZQUNwQyxVQUFVLEVBQUUsVUFBVTtZQUN0QixRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsSUFBSTtZQUNWLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFELENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFFBQVEsQ0FBQyxVQUFrQixFQUFFLFNBQW1CO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQXFCLENBQ3JDO1lBQ0ksVUFBVSxFQUFFLFVBQVU7WUFDdEIsU0FBUyxFQUFFLFNBQVM7U0FDdkIsQ0FDSixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsSUFBNEIsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1lBQzdDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RCLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ3pCLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEUsQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUNELE9BQU8sVUFBVSxDQUFBO1FBQ3JCLENBQUMsQ0FBQyxDQUNMLENBQUE7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQXlCLEVBQUUsVUFBa0IsRUFBRSxNQUFjLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQztZQUNuQyxPQUFPLEVBQUUsT0FBTztZQUNoQixVQUFVLEVBQUUsVUFBVTtZQUN0QixhQUFhLEVBQUUsSUFBSSxtQkFBbUIsQ0FBQyxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUMsQ0FBQztTQUM3RCxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUMzQyxHQUFHLENBQUMsQ0FBQyxJQUF5QixFQUFFLEVBQUU7WUFDOUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzFFLE9BQU8sSUFBSSxhQUFhLENBQVMsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDMUcsQ0FBQyxDQUFDLENBQ0wsQ0FBQTtJQUNMLENBQUM7Ozs7WUFoREosVUFBVSxTQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7O1lBZDlCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgbWFwVG8gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQYWdlZFJlc3BvbnNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQge1xuICBCdW5kbGVBcGlTZXJ2aWNlLFxuICBHZXRNdWx0aUJ1bmRsZVJlcXVlc3QsXG4gIEdldE11bHRpQnVuZGxlUmVzcG9uc2UsXG4gIExpc3RCdW5kbGVzUmVxdWVzdCxcbiAgTGlzdEJ1bmRsZXNSZXNwb25zZSxcbiAgUGFnZWRSZXF1ZXN0T3B0aW9ucyxcbiAgVXBzZXJ0QnVuZGxlUmVxdWVzdCxcbn0gZnJvbSAnLi4vX2ludGVybmFsJztcbmltcG9ydCB7IEJ1bmRsZSwgYnVuZGxlRnJvbUFwaSwgQnVuZGxlSXRlbSwgYnVuZGxlSXRlbVRvQXBpIH0gZnJvbSAnLi9idW5kbGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RCdW5kbGVGaWx0ZXIge1xuICAgIG1lcmNoYW50SWQ/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEJ1bmRsZVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYnVuZGxlQXBpU2VydmljZTogQnVuZGxlQXBpU2VydmljZSkge1xuICAgIH1cblxuICAgIHVwc2VydChtZXJjaGFudElkOiBzdHJpbmcsIGJ1bmRsZUlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgaGlkZUJ1bmRsZURldGFpbHM6IGJvb2xlYW4sIGl0ZW1zOiBCdW5kbGVJdGVtIFtdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgVXBzZXJ0QnVuZGxlUmVxdWVzdCh7XG4gICAgICAgICAgICBtZXJjaGFudElkOiBtZXJjaGFudElkLFxuICAgICAgICAgICAgYnVuZGxlSWQ6IGJ1bmRsZUlkLFxuICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgIGhpZGVCdW5kbGVEZXRhaWxzOiBoaWRlQnVuZGxlRGV0YWlscyxcbiAgICAgICAgICAgIGl0ZW1zOiAoaXRlbXMgfHwgW10pLm1hcChpdGVtID0+IGJ1bmRsZUl0ZW1Ub0FwaShpdGVtKSlcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1bmRsZUFwaVNlcnZpY2UudXBzZXJ0KHJlcXVlc3QpLnBpcGUobWFwVG8odHJ1ZSkpO1xuICAgIH1cblxuICAgIGdldE11bHRpKG1lcmNoYW50SWQ6IHN0cmluZywgYnVuZGxlSWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8TWFwPHN0cmluZywgQnVuZGxlPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEdldE11bHRpQnVuZGxlUmVxdWVzdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtZXJjaGFudElkOiBtZXJjaGFudElkLFxuICAgICAgICAgICAgICAgIGJ1bmRsZUlkczogYnVuZGxlSWRzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1bmRsZUFwaVNlcnZpY2UuZ2V0TXVsdGkocmVxdWVzdCkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcDogR2V0TXVsdGlCdW5kbGVSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJ1bmRsZXNNYXAgPSBuZXcgTWFwPHN0cmluZywgQnVuZGxlPigpO1xuICAgICAgICAgICAgICAgIGlmIChyZXNwICYmIHJlc3AuYnVuZGxlcykge1xuICAgICAgICAgICAgICAgICAgICBidW5kbGVJZHMuZm9yRWFjaChidW5kbGVJZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidW5kbGVzTWFwLnNldChidW5kbGVJZCwgYnVuZGxlRnJvbUFwaShyZXNwLmJ1bmRsZXNbYnVuZGxlSWRdKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYnVuZGxlc01hcFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgIGxpc3QoZmlsdGVyczogTGlzdEJ1bmRsZUZpbHRlciwgc2VhcmNoVGVybTogc3RyaW5nLCBjdXJzb3I6IHN0cmluZywgcGFnZVNpemU6IG51bWJlcik6IE9ic2VydmFibGU8UGFnZWRSZXNwb25zZTxCdW5kbGU+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgTGlzdEJ1bmRsZXNSZXF1ZXN0KHtcbiAgICAgICAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgICAgICBzZWFyY2hUZXJtOiBzZWFyY2hUZXJtLFxuICAgICAgICAgICAgcGFnaW5nT3B0aW9uczogbmV3IFBhZ2VkUmVxdWVzdE9wdGlvbnMoe2N1cnNvciwgcGFnZVNpemV9KSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1bmRsZUFwaVNlcnZpY2UubGlzdChyZXF1ZXN0KS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwOiBMaXN0QnVuZGxlc1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYnVuZGxlcyA9IChyZXNwLmJ1bmRsZXMgfHwgW10pLm1hcChidW5kbGUgPT4gYnVuZGxlRnJvbUFwaShidW5kbGUpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFBhZ2VkUmVzcG9uc2U8QnVuZGxlPihidW5kbGVzLCByZXNwLnBhZ2luZ01ldGFkYXRhLm5leHRDdXJzb3IsIHJlc3AucGFnaW5nTWV0YWRhdGEuaGFzTW9yZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG59XG5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export { BundleService } from './bundle.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3dvcmtzcGFjZS9zZGtzL3R5cGVzY3JpcHQvc3JjL2JpbGxpbmdfc2RrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9idW5kbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGFBQWEsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7QnVuZGxlSXRlbSwgQnVuZGxlfSBmcm9tICcuL2J1bmRsZSc7XG5leHBvcnQge0J1bmRsZVNlcnZpY2UsIExpc3RCdW5kbGVGaWx0ZXJ9IGZyb20gJy4vYnVuZGxlLnNlcnZpY2UnO1xuIl19
@@ -1,21 +0,0 @@
1
- import { currencyFromApi } from '../pricing';
2
- import { Dimension } from './dimension';
3
- export function contractFromApi(cApi) {
4
- return {
5
- merchantId: cApi.merchantId || '',
6
- netD: cApi.netD || 0,
7
- created: cApi.created || null,
8
- subscriptionId: cApi.subscriptionId || '',
9
- dimension: new Dimension(cApi.dimension),
10
- currency: currencyFromApi(cApi.currency),
11
- signed: cApi.signed || null,
12
- end: cApi.end || null,
13
- activated: cApi.activated || null,
14
- modified: cApi.modified || null,
15
- verified: cApi.verified || null,
16
- status: cApi.status || '',
17
- creditLimit: cApi.creditLimit || 0,
18
- pricingPlanId: cApi.pricingPlanId || '',
19
- };
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiL3dvcmtzcGFjZS9zZGtzL3R5cGVzY3JpcHQvc3JjL2JpbGxpbmdfc2RrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cmFjdC9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFtQnhDLE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBdUI7SUFDckQsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUU7UUFDakMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJO1FBQzdCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUU7UUFDekMsU0FBUyxFQUFFLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUk7UUFDM0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSTtRQUNyQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJO1FBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUk7UUFDL0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSTtRQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFO1FBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUM7UUFDbEMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUksRUFBRTtLQUN4QyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyYWN0SW50ZXJmYWNlIH0gZnJvbSAnLi4vX2ludGVybmFsJztcbmltcG9ydCB7IEN1cnJlbmN5LCBjdXJyZW5jeUZyb21BcGkgfSBmcm9tICcuLi9wcmljaW5nJztcbmltcG9ydCB7IERpbWVuc2lvbiB9IGZyb20gJy4vZGltZW5zaW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBDb250cmFjdCB7XG4gIG1lcmNoYW50SWQ6IHN0cmluZztcbiAgbmV0RDogbnVtYmVyO1xuICBjcmVhdGVkOiBEYXRlO1xuICBzdWJzY3JpcHRpb25JZDogc3RyaW5nO1xuICBkaW1lbnNpb246IERpbWVuc2lvbjtcbiAgY3VycmVuY3k6IEN1cnJlbmN5XG4gIHNpZ25lZDogRGF0ZTtcbiAgZW5kOiBEYXRlO1xuICBhY3RpdmF0ZWQ6IERhdGU7XG4gIG1vZGlmaWVkOiBEYXRlO1xuICB2ZXJpZmllZDogRGF0ZTtcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIGNyZWRpdExpbWl0OiBudW1iZXI7XG4gIHByaWNpbmdQbGFuSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyYWN0RnJvbUFwaShjQXBpOiBDb250cmFjdEludGVyZmFjZSk6IENvbnRyYWN0IHtcbiAgcmV0dXJuIHtcbiAgICBtZXJjaGFudElkOiBjQXBpLm1lcmNoYW50SWQgfHwgJycsXG4gICAgbmV0RDogY0FwaS5uZXREIHx8IDAsXG4gICAgY3JlYXRlZDogY0FwaS5jcmVhdGVkIHx8IG51bGwsXG4gICAgc3Vic2NyaXB0aW9uSWQ6IGNBcGkuc3Vic2NyaXB0aW9uSWQgfHwgJycsXG4gICAgZGltZW5zaW9uOiBuZXcgRGltZW5zaW9uKGNBcGkuZGltZW5zaW9uKSxcbiAgICBjdXJyZW5jeTogY3VycmVuY3lGcm9tQXBpKGNBcGkuY3VycmVuY3kpLFxuICAgIHNpZ25lZDogY0FwaS5zaWduZWQgfHwgbnVsbCxcbiAgICBlbmQ6IGNBcGkuZW5kIHx8IG51bGwsXG4gICAgYWN0aXZhdGVkOiBjQXBpLmFjdGl2YXRlZCB8fCBudWxsLFxuICAgIG1vZGlmaWVkOiBjQXBpLm1vZGlmaWVkIHx8IG51bGwsXG4gICAgdmVyaWZpZWQ6IGNBcGkudmVyaWZpZWQgfHwgbnVsbCxcbiAgICBzdGF0dXM6IGNBcGkuc3RhdHVzIHx8ICcnLFxuICAgIGNyZWRpdExpbWl0OiBjQXBpLmNyZWRpdExpbWl0IHx8IDAsXG4gICAgcHJpY2luZ1BsYW5JZDogY0FwaS5wcmljaW5nUGxhbklkIHx8ICcnLFxuICB9XG59XG4iXX0=