@foxy.io/elements 1.18.0-beta.1 → 1.18.0-beta.10

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 (474) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +2 -2
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-api-browser.js +1 -1
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-api.js +1 -1
  20. package/dist/cdn/foxy-customer-card.js +1 -1
  21. package/dist/cdn/foxy-customer-form.js +1 -1
  22. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  23. package/dist/cdn/foxy-customer-portal.js +15 -15
  24. package/dist/cdn/foxy-customer.js +5 -86
  25. package/dist/cdn/foxy-customers-table.js +1 -1
  26. package/dist/cdn/foxy-discount-builder.js +1 -1
  27. package/dist/cdn/foxy-discount-card.js +1 -1
  28. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  29. package/dist/cdn/foxy-donation.js +1 -1
  30. package/dist/cdn/foxy-email-template-card.js +1 -0
  31. package/dist/cdn/foxy-email-template-form.js +1 -1
  32. package/dist/cdn/foxy-error-entry-card.js +1 -1
  33. package/dist/cdn/foxy-form-dialog.js +1 -1
  34. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  35. package/dist/cdn/foxy-gift-card-card.js +1 -1
  36. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  37. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -0
  38. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  39. package/dist/cdn/foxy-gift-card-form.js +1 -1
  40. package/dist/cdn/foxy-i18n.js +1 -1
  41. package/dist/cdn/foxy-item-card.js +1 -1
  42. package/dist/cdn/foxy-item-category-card.js +1 -0
  43. package/dist/cdn/foxy-item-category-form.js +1 -0
  44. package/dist/cdn/foxy-item-form.js +1 -1
  45. package/dist/cdn/foxy-item-option-card.js +1 -1
  46. package/dist/cdn/foxy-item-option-form.js +1 -1
  47. package/dist/cdn/foxy-items-form.js +1 -1
  48. package/dist/cdn/foxy-nucleon-element.js +1 -1
  49. package/dist/cdn/foxy-pagination.js +1 -1
  50. package/dist/cdn/foxy-payment-card.js +1 -1
  51. package/dist/cdn/foxy-payment-method-card.js +1 -1
  52. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -0
  53. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -0
  54. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -0
  55. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -0
  56. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -0
  57. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -0
  58. package/dist/cdn/foxy-payments-api.js +1 -0
  59. package/dist/cdn/foxy-query-builder.js +1 -1
  60. package/dist/cdn/foxy-report-form.js +1 -1
  61. package/dist/cdn/foxy-reports-table.js +6 -6
  62. package/dist/cdn/foxy-shipment-card.js +1 -1
  63. package/dist/cdn/foxy-sign-in-form.js +1 -1
  64. package/dist/cdn/foxy-spinner.js +2 -2
  65. package/dist/cdn/foxy-store-shipping-method-form.js +1 -150
  66. package/dist/cdn/foxy-subscription-card.js +1 -1
  67. package/dist/cdn/foxy-subscription-form.js +6 -6
  68. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  69. package/dist/cdn/foxy-swipe-actions.js +1 -1
  70. package/dist/cdn/foxy-table.js +1 -1
  71. package/dist/cdn/foxy-tax-card.js +1 -1
  72. package/dist/cdn/foxy-tax-form.js +1 -1
  73. package/dist/cdn/foxy-template-config-form.js +1 -1
  74. package/dist/cdn/foxy-template-form.js +1 -1
  75. package/dist/cdn/foxy-transaction-card.js +1 -1
  76. package/dist/cdn/foxy-transaction.js +1 -1
  77. package/dist/cdn/foxy-transactions-table.js +1 -1
  78. package/dist/cdn/foxy-user-form.js +1 -1
  79. package/dist/cdn/foxy-users-table.js +1 -1
  80. package/dist/cdn/foxy-webhook-card.js +1 -1
  81. package/dist/cdn/foxy-webhook-form.js +1 -318
  82. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  83. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  84. package/dist/cdn/{shared-97654b20.js → shared-02c6c308.js} +4 -4
  85. package/dist/cdn/{shared-e1c1e8e2.js → shared-0479553e.js} +1 -1
  86. package/dist/cdn/{shared-c13674cb.js → shared-0ca312eb.js} +1 -1
  87. package/dist/cdn/{shared-fd001fd3.js → shared-0ffa1afb.js} +1 -1
  88. package/dist/cdn/{shared-99940888.js → shared-11c2efc8.js} +1 -1
  89. package/dist/cdn/shared-164a791e.js +1 -0
  90. package/dist/cdn/{shared-4b85b408.js → shared-17e9778d.js} +1 -1
  91. package/dist/cdn/{shared-e06de519.js → shared-19bdb896.js} +1 -1
  92. package/dist/cdn/{shared-33b47806.js → shared-1c9fd2b1.js} +2 -2
  93. package/dist/cdn/{shared-98497473.js → shared-24d650cd.js} +1 -1
  94. package/dist/cdn/shared-3214ee1b.js +11 -0
  95. package/dist/cdn/{shared-48ef8a04.js → shared-3c7489d6.js} +1 -1
  96. package/dist/cdn/{shared-2b077e01.js → shared-3d245899.js} +3 -3
  97. package/dist/cdn/shared-3e3ba16e.js +1 -0
  98. package/dist/cdn/{shared-a64ead08.js → shared-3fd94d2f.js} +1 -1
  99. package/dist/cdn/shared-4029be54.js +1 -0
  100. package/dist/cdn/shared-40ff320f.js +150 -0
  101. package/dist/cdn/{shared-8936b109.js → shared-4a2e1638.js} +1 -1
  102. package/dist/cdn/shared-4cd53ea2.js +1 -0
  103. package/dist/cdn/{shared-1eb23210.js → shared-4e2e233c.js} +1 -1
  104. package/dist/cdn/shared-4f037e43.js +1 -0
  105. package/dist/cdn/{shared-12f8034b.js → shared-5f751bfc.js} +1 -1
  106. package/dist/cdn/shared-60425d2e.js +1 -0
  107. package/dist/cdn/{shared-80ca2f70.js → shared-61174bec.js} +12 -22
  108. package/dist/cdn/shared-649c195a.js +318 -0
  109. package/dist/cdn/{shared-d539ee69.js → shared-66a0263f.js} +1 -1
  110. package/dist/cdn/{shared-7b7b6065.js → shared-6d175df8.js} +1 -1
  111. package/dist/cdn/shared-74e79000.js +553 -0
  112. package/dist/cdn/{shared-1bbd9b73.js → shared-75e78c70.js} +1 -1
  113. package/dist/cdn/shared-7c8b3ce0.js +15 -0
  114. package/dist/cdn/{shared-dc73b9a5.js → shared-7f33a83a.js} +1 -1
  115. package/dist/cdn/{shared-9d905cdc.js → shared-8116ab4c.js} +1 -1
  116. package/dist/cdn/{shared-c5a638d1.js → shared-8dd640bf.js} +2 -2
  117. package/dist/cdn/{shared-17331dc5.js → shared-96695c93.js} +1 -1
  118. package/dist/cdn/{shared-0eb966c5.js → shared-99065f2a.js} +1 -1
  119. package/dist/cdn/shared-9aab51c0.js +1 -0
  120. package/dist/cdn/shared-9e6fc72e.js +1 -0
  121. package/dist/cdn/shared-9fce92c9.js +1 -0
  122. package/dist/cdn/shared-a03d948d.js +1 -0
  123. package/dist/cdn/{shared-9f9cdbb0.js → shared-a6263179.js} +1 -1
  124. package/dist/cdn/shared-a694a204.js +1 -0
  125. package/dist/cdn/shared-a8ced8bf.js +1 -0
  126. package/dist/cdn/{shared-4de4a8bc.js → shared-acb90deb.js} +1 -1
  127. package/dist/cdn/{shared-d6dd67a5.js → shared-ad70817d.js} +1 -1
  128. package/dist/cdn/{shared-7c8bb60c.js → shared-b0ba62ff.js} +1 -1
  129. package/dist/cdn/{shared-4fc53390.js → shared-b1304f5b.js} +1 -1
  130. package/dist/cdn/shared-b52e1d97.js +1 -0
  131. package/dist/cdn/shared-b7787aae.js +64 -0
  132. package/dist/cdn/{shared-7ed7818e.js → shared-ba4053b3.js} +1 -1
  133. package/dist/cdn/shared-bc7f58ef.js +1 -0
  134. package/dist/cdn/shared-beb9cddd.js +1 -0
  135. package/dist/cdn/{shared-0561e4c0.js → shared-c5091857.js} +1 -1
  136. package/dist/cdn/{shared-6bcd6831.js → shared-c566fe52.js} +1 -1
  137. package/dist/cdn/shared-c677ca5a.js +1 -0
  138. package/dist/cdn/{shared-32b15545.js → shared-c99a75d8.js} +1 -1
  139. package/dist/cdn/{shared-18fa34a8.js → shared-c9a9077a.js} +1 -1
  140. package/dist/cdn/shared-cb26f86e.js +1 -0
  141. package/dist/cdn/{shared-dbdc2a38.js → shared-ccb96675.js} +1 -1
  142. package/dist/cdn/{shared-93d93d79.js → shared-cfe61b3f.js} +1 -1
  143. package/dist/cdn/{shared-9803aa7c.js → shared-d3bf9ac0.js} +2 -2
  144. package/dist/cdn/{shared-a0c6a159.js → shared-d519a301.js} +2 -2
  145. package/dist/cdn/{shared-26ce8d23.js → shared-d8faafc7.js} +1 -1
  146. package/dist/cdn/shared-d9c5e26e.js +1 -0
  147. package/dist/cdn/{shared-40689cd2.js → shared-dc891fc4.js} +1 -1
  148. package/dist/cdn/shared-de5fc645.js +82 -0
  149. package/dist/cdn/{shared-f9f9ed5b.js → shared-e6f3e9f0.js} +1 -1
  150. package/dist/cdn/shared-e7736e8d.js +1 -0
  151. package/dist/cdn/{shared-e28fb2ef.js → shared-f00d31e0.js} +1 -1
  152. package/dist/cdn/{shared-59796faa.js → shared-f0591b3e.js} +1 -1
  153. package/dist/cdn/{shared-22ba9566.js → shared-f3b35364.js} +1 -1
  154. package/dist/cdn/shared-ff31023c.js +1 -0
  155. package/dist/cdn/translations/email-template-card/en.json +8 -0
  156. package/dist/cdn/translations/email-template-form/en.json +5 -0
  157. package/dist/cdn/translations/gift-card-code-form/en.json +32 -0
  158. package/dist/cdn/translations/gift-card-code-log-card/en.json +10 -0
  159. package/dist/cdn/translations/gift-card-form/en.json +58 -1
  160. package/dist/cdn/translations/item-category-form/en.json +196 -0
  161. package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +10 -0
  162. package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +34 -0
  163. package/dist/cdn/translations/payments-api-payment-method-card/en.json +10 -0
  164. package/dist/cdn/translations/payments-api-payment-method-form/en.json +61 -0
  165. package/dist/cdn/translations/payments-api-payment-preset-card/en.json +11 -0
  166. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +84 -0
  167. package/dist/cdn/translations/store-shipping-method-form/en.json +8 -1
  168. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +1 -0
  169. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +13 -0
  170. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  171. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +3 -1
  172. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +1 -1
  173. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +23 -0
  174. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +167 -0
  175. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -0
  176. package/dist/elements/internal/InternalAsyncListControl/index.d.ts +12 -0
  177. package/dist/elements/internal/InternalAsyncListControl/index.js +14 -0
  178. package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -0
  179. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +11 -5
  180. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -1
  181. package/dist/elements/internal/InternalControl/InternalControl.js +3 -2
  182. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  183. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +1 -1
  184. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  185. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +1 -1
  186. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  187. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +17 -0
  188. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +57 -0
  189. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -0
  190. package/dist/elements/internal/InternalSelectControl/index.d.ts +5 -0
  191. package/dist/elements/internal/InternalSelectControl/index.js +7 -0
  192. package/dist/elements/internal/InternalSelectControl/index.js.map +1 -0
  193. package/dist/elements/internal/InternalSelectControl/types.d.ts +6 -0
  194. package/dist/elements/{public/StoreShippingMethodCard → internal/InternalSelectControl}/types.js +0 -0
  195. package/dist/elements/internal/InternalSelectControl/types.js.map +1 -0
  196. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +1 -0
  197. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  198. package/dist/elements/private/I18N/I18N.js +3 -0
  199. package/dist/elements/private/I18N/I18N.js.map +1 -1
  200. package/dist/elements/private/Switch/Switch.js +1 -1
  201. package/dist/elements/private/Switch/Switch.js.map +1 -1
  202. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +10 -23
  203. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
  204. package/dist/elements/public/{StoreShippingMethodCard/StoreShippingMethodCard.d.ts → EmailTemplateCard/EmailTemplateCard.d.ts} +1 -7
  205. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +24 -0
  206. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -0
  207. package/dist/elements/public/EmailTemplateCard/index.d.ts +6 -0
  208. package/dist/elements/public/EmailTemplateCard/index.js +8 -0
  209. package/dist/elements/public/EmailTemplateCard/index.js.map +1 -0
  210. package/dist/elements/public/EmailTemplateCard/types.d.ts +3 -0
  211. package/dist/elements/public/EmailTemplateCard/types.js +2 -0
  212. package/dist/elements/public/EmailTemplateCard/types.js.map +1 -0
  213. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +3 -0
  214. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +17 -0
  215. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  216. package/dist/elements/public/EmailTemplateForm/index.d.ts +1 -0
  217. package/dist/elements/public/EmailTemplateForm/index.js +1 -0
  218. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  219. package/dist/elements/public/FormDialog/FormDialog.js +1 -1
  220. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  221. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +4 -0
  222. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +32 -0
  223. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  224. package/dist/elements/public/GiftCardCodeForm/index.d.ts +7 -4
  225. package/dist/elements/public/GiftCardCodeForm/index.js +7 -4
  226. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  227. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.d.ts +5 -0
  228. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js +23 -0
  229. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js.map +1 -0
  230. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.d.ts +6 -0
  231. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js +8 -0
  232. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js.map +1 -0
  233. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +12 -0
  234. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +108 -0
  235. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -0
  236. package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +6 -0
  237. package/dist/elements/public/GiftCardCodeLogCard/index.js +8 -0
  238. package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -0
  239. package/dist/elements/public/GiftCardCodeLogCard/types.d.ts +3 -0
  240. package/dist/elements/public/GiftCardCodeLogCard/types.js +2 -0
  241. package/dist/elements/public/GiftCardCodeLogCard/types.js.map +1 -0
  242. package/dist/elements/public/GiftCardForm/GiftCardForm.js +25 -0
  243. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  244. package/dist/elements/public/GiftCardForm/index.d.ts +1 -2
  245. package/dist/elements/public/GiftCardForm/index.js +1 -2
  246. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  247. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +14 -0
  248. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +93 -0
  249. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -0
  250. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +6 -0
  251. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +8 -0
  252. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +1 -0
  253. package/dist/elements/public/ItemCard/ItemCard.js +8 -6
  254. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  255. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +6 -0
  256. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +16 -0
  257. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -0
  258. package/dist/elements/public/ItemCategoryCard/index.d.ts +3 -0
  259. package/dist/elements/public/ItemCategoryCard/index.js +5 -0
  260. package/dist/elements/public/ItemCategoryCard/index.js.map +1 -0
  261. package/dist/elements/public/ItemCategoryCard/types.d.ts +3 -0
  262. package/dist/elements/public/ItemCategoryCard/types.js +2 -0
  263. package/dist/elements/public/ItemCategoryCard/types.js.map +1 -0
  264. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +31 -0
  265. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +309 -0
  266. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -0
  267. package/dist/elements/public/ItemCategoryForm/index.d.ts +10 -0
  268. package/dist/elements/public/ItemCategoryForm/index.js +12 -0
  269. package/dist/elements/public/ItemCategoryForm/index.js.map +1 -0
  270. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +8 -0
  271. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +52 -0
  272. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +1 -0
  273. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +6 -0
  274. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +8 -0
  275. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +1 -0
  276. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +11 -0
  277. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +85 -0
  278. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +1 -0
  279. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +5 -0
  280. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +7 -0
  281. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +1 -0
  282. package/dist/elements/public/ItemCategoryForm/types.d.ts +3 -0
  283. package/dist/elements/public/ItemCategoryForm/types.js +2 -0
  284. package/dist/elements/public/ItemCategoryForm/types.js.map +1 -0
  285. package/dist/elements/public/NucleonElement/API.js +1 -1
  286. package/dist/elements/public/NucleonElement/API.js.map +1 -1
  287. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +5 -3
  288. package/dist/elements/public/NucleonElement/NucleonElement.js +57 -33
  289. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  290. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +1 -1
  291. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +2 -2
  292. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
  293. package/dist/elements/public/PaymentsApi/PaymentsApi.d.ts +18 -0
  294. package/dist/elements/public/PaymentsApi/PaymentsApi.js +92 -0
  295. package/dist/elements/public/PaymentsApi/PaymentsApi.js.map +1 -0
  296. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.d.ts +6 -0
  297. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js +95 -0
  298. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js.map +1 -0
  299. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.d.ts +11 -0
  300. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js +15 -0
  301. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js.map +1 -0
  302. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.d.ts +10 -0
  303. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js +20 -0
  304. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js.map +1 -0
  305. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.d.ts +10 -0
  306. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js +39 -0
  307. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js.map +1 -0
  308. package/dist/elements/public/PaymentsApi/api/composers/payment_method.d.ts +18 -0
  309. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js +25 -0
  310. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js.map +1 -0
  311. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.d.ts +14 -0
  312. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js +59 -0
  313. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js.map +1 -0
  314. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.d.ts +8 -0
  315. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js +22 -0
  316. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js.map +1 -0
  317. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.d.ts +8 -0
  318. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js +36 -0
  319. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js.map +1 -0
  320. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.d.ts +12 -0
  321. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js +34 -0
  322. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js.map +1 -0
  323. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.d.ts +16 -0
  324. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js +44 -0
  325. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js.map +1 -0
  326. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.d.ts +17 -0
  327. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js +68 -0
  328. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js.map +1 -0
  329. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.d.ts +17 -0
  330. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js +77 -0
  331. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js.map +1 -0
  332. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.d.ts +22 -0
  333. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js +97 -0
  334. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js.map +1 -0
  335. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.d.ts +21 -0
  336. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js +113 -0
  337. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js.map +1 -0
  338. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.d.ts +14 -0
  339. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js +42 -0
  340. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js.map +1 -0
  341. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.d.ts +14 -0
  342. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js +47 -0
  343. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js.map +1 -0
  344. package/dist/elements/public/PaymentsApi/api/index.d.ts +11 -0
  345. package/dist/elements/public/PaymentsApi/api/index.js +35 -0
  346. package/dist/elements/public/PaymentsApi/api/index.js.map +1 -0
  347. package/dist/elements/public/PaymentsApi/api/types.d.ts +154 -0
  348. package/dist/elements/public/PaymentsApi/api/types.js +2 -0
  349. package/dist/elements/public/PaymentsApi/api/types.js.map +1 -0
  350. package/dist/elements/public/PaymentsApi/api/utils.d.ts +1 -0
  351. package/dist/elements/public/PaymentsApi/api/utils.js +7 -0
  352. package/dist/elements/public/PaymentsApi/api/utils.js.map +1 -0
  353. package/dist/elements/public/PaymentsApi/index.d.ts +2 -0
  354. package/dist/elements/public/PaymentsApi/index.js +4 -0
  355. package/dist/elements/public/PaymentsApi/index.js.map +1 -0
  356. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +14 -0
  357. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +52 -0
  358. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -0
  359. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +4 -0
  360. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +6 -0
  361. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -0
  362. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.d.ts +1 -0
  363. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js +2 -0
  364. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js.map +1 -0
  365. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +17 -0
  366. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +217 -0
  367. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -0
  368. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +11 -0
  369. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +13 -0
  370. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -0
  371. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +3 -0
  372. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js +2 -0
  373. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -0
  374. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +15 -0
  375. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +54 -0
  376. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -0
  377. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +4 -0
  378. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +6 -0
  379. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -0
  380. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.d.ts +1 -0
  381. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js +2 -0
  382. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js.map +1 -0
  383. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +20 -0
  384. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +428 -0
  385. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -0
  386. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +10 -0
  387. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +12 -0
  388. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -0
  389. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +3 -0
  390. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js +2 -0
  391. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -0
  392. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +10 -0
  393. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +31 -0
  394. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -0
  395. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.d.ts +4 -0
  396. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js +6 -0
  397. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js.map +1 -0
  398. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.d.ts +1 -0
  399. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js +2 -0
  400. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js.map +1 -0
  401. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +22 -0
  402. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +145 -0
  403. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -0
  404. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.d.ts +10 -0
  405. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js +12 -0
  406. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js.map +1 -0
  407. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +1 -0
  408. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js +2 -0
  409. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -0
  410. package/dist/elements/public/QueryBuilder/components/Input.js +10 -8
  411. package/dist/elements/public/QueryBuilder/components/Input.js.map +1 -1
  412. package/dist/elements/public/QueryBuilder/components/RangeValue.js +7 -5
  413. package/dist/elements/public/QueryBuilder/components/RangeValue.js.map +1 -1
  414. package/dist/elements/public/QueryBuilder/components/Select.js +3 -1
  415. package/dist/elements/public/QueryBuilder/components/Select.js.map +1 -1
  416. package/dist/elements/public/ShipmentCard/ShipmentCard.js +1 -1
  417. package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
  418. package/dist/elements/public/ShipmentCard/types.d.ts +2 -16
  419. package/dist/elements/public/ShipmentCard/types.js.map +1 -1
  420. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +3 -3
  421. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +79 -34
  422. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  423. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +1 -1
  424. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +1 -1
  425. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +1 -1
  426. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +1 -1
  427. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +1 -2
  428. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  429. package/dist/elements/public/TaxCard/TaxCard.d.ts +4 -4
  430. package/dist/elements/public/TaxCard/TaxCard.js +12 -8
  431. package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
  432. package/dist/elements/public/TaxCard/index.d.ts +1 -3
  433. package/dist/elements/public/TaxCard/index.js +1 -3
  434. package/dist/elements/public/TaxCard/index.js.map +1 -1
  435. package/dist/elements/public/index.d.ts +11 -1
  436. package/dist/elements/public/index.defined.d.ts +11 -1
  437. package/dist/elements/public/index.defined.js +11 -1
  438. package/dist/elements/public/index.defined.js.map +1 -1
  439. package/dist/elements/public/index.js +11 -1
  440. package/dist/elements/public/index.js.map +1 -1
  441. package/dist/mixins/configurable.js +16 -8
  442. package/dist/mixins/configurable.js.map +1 -1
  443. package/dist/mixins/inferrable.js +25 -23
  444. package/dist/mixins/inferrable.js.map +1 -1
  445. package/dist/mixins/themeable.js +84 -16
  446. package/dist/mixins/themeable.js.map +1 -1
  447. package/dist/utils/serialize-date.d.ts +1 -0
  448. package/dist/utils/serialize-date.js +7 -0
  449. package/dist/utils/serialize-date.js.map +1 -1
  450. package/package.json +2 -2
  451. package/dist/cdn/foxy-store-shipping-method-card.js +0 -1
  452. package/dist/cdn/shared-2061be9a.js +0 -1
  453. package/dist/cdn/shared-354e0ed8.js +0 -1
  454. package/dist/cdn/shared-45feee83.js +0 -1
  455. package/dist/cdn/shared-4eae0021.js +0 -1
  456. package/dist/cdn/shared-593c3727.js +0 -1
  457. package/dist/cdn/shared-7c977470.js +0 -1
  458. package/dist/cdn/shared-91a28cfe.js +0 -1
  459. package/dist/cdn/shared-92327224.js +0 -15
  460. package/dist/cdn/shared-ac44429d.js +0 -1
  461. package/dist/cdn/shared-b52c7edf.js +0 -64
  462. package/dist/cdn/shared-c73ca2c5.js +0 -1
  463. package/dist/cdn/shared-e144edd2.js +0 -1
  464. package/dist/cdn/shared-e8312a29.js +0 -1
  465. package/dist/cdn/shared-e9a4a204.js +0 -1
  466. package/dist/cdn/shared-fadcb2e1.js +0 -1
  467. package/dist/cdn/translations/store-shipping-method-card/en.json +0 -15
  468. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js +0 -60
  469. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js.map +0 -1
  470. package/dist/elements/public/StoreShippingMethodCard/index.d.ts +0 -6
  471. package/dist/elements/public/StoreShippingMethodCard/index.js +0 -8
  472. package/dist/elements/public/StoreShippingMethodCard/index.js.map +0 -1
  473. package/dist/elements/public/StoreShippingMethodCard/types.d.ts +0 -5
  474. package/dist/elements/public/StoreShippingMethodCard/types.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment_preset.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/composers/payment_preset.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC;IAE9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAY,CAAC;IAEnF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,qBAAqB,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAE/D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,qBAAqB,QAAQ,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAElF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,qBAAqB,QAAQ,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAExF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,qBAAqB,QAAQ,4BAA4B,EACzD,IAAI,CACL,CAAC;IAEF,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAC1C,qBAAqB,QAAQ,8BAA8B,EAC3D,IAAI,CACL,CAAC;IAEF,OAAO;QACL,MAAM,EAAE;YACN,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE;YACpC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;YAChC,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE;YACrD,sBAAsB,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE;YAC3D,8BAA8B,EAAE,EAAE,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE,EAAE;YACxE,gCAAgC,EAAE,EAAE,IAAI,EAAE,4BAA4B,CAAC,QAAQ,EAAE,EAAE;SACpF;QAED,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC","sourcesContent":["import type { PaymentPreset } from '../types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Params = {\n paymentMethodSet: Resource<Rels.PaymentMethodSet>;\n base: string;\n};\n\nexport function compose(params: Params): PaymentPreset {\n const { paymentMethodSet: set, base } = params;\n const { _links: setLinks, ...setProps } = set;\n\n const presetId = new URL(set._links.self.href).pathname.split('/').pop() as string;\n\n const selfURL = new URL(`./payment_presets/${presetId}`, base);\n\n const methodsURL = new URL(`./payment_presets/${presetId}/payment_methods`, base);\n\n const protectionsURL = new URL(`./payment_presets/${presetId}/fraud_protections`, base);\n\n const availableMethodsURL = new URL(\n `./payment_presets/${presetId}/available_payment_methods`,\n base\n );\n\n const availableFraudProtectionsURL = new URL(\n `./payment_presets/${presetId}/available_fraud_protections`,\n base\n );\n\n return {\n _links: {\n 'self': { href: selfURL.toString() },\n 'fx:store': setLinks['fx:store'],\n 'fx:payment_methods': { href: methodsURL.toString() },\n 'fx:fraud_protections': { href: protectionsURL.toString() },\n 'fx:available_payment_methods': { href: availableMethodsURL.toString() },\n 'fx:available_fraud_protections': { href: availableFraudProtectionsURL.toString() },\n },\n\n ...setProps,\n };\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { PaymentPresets } from '../types';
2
+ import type { Resource } from '@foxy.io/sdk/core';
3
+ import type { Rels } from '@foxy.io/sdk/backend';
4
+ export declare type Params = {
5
+ paymentMethodSets: Resource<Rels.PaymentMethodSets>;
6
+ base: string;
7
+ };
8
+ export declare function compose(params: Params): PaymentPresets;
@@ -0,0 +1,36 @@
1
+ import { compose as composePaymentPreset } from "./payment_preset.js";
2
+ export function compose(params) {
3
+ const { paymentMethodSets: sets, base } = params;
4
+ const { _embedded, _links, ...props } = sets;
5
+ const newFirstURL = new URL('./payment_presets', base);
6
+ const firstURL = new URL(_links.first.href);
7
+ newFirstURL.search = firstURL.search;
8
+ const newLastURL = new URL('./payment_presets', base);
9
+ const lastURL = new URL(_links.last.href);
10
+ newLastURL.search = lastURL.search;
11
+ const newPrevURL = new URL('./payment_presets', base);
12
+ const prevURL = new URL(_links.prev.href);
13
+ newPrevURL.search = prevURL.search;
14
+ const newNextURL = new URL('./payment_presets', base);
15
+ const nextURL = new URL(_links.next.href);
16
+ newNextURL.search = nextURL.search;
17
+ const newSelfURL = new URL('./payment_presets', base);
18
+ const selfURL = new URL(_links.self.href);
19
+ newSelfURL.search = selfURL.search;
20
+ return {
21
+ ...props,
22
+ _links: {
23
+ first: { href: newFirstURL.toString() },
24
+ last: { href: newLastURL.toString() },
25
+ prev: { href: newPrevURL.toString() },
26
+ next: { href: newNextURL.toString() },
27
+ self: { href: newSelfURL.toString() },
28
+ },
29
+ _embedded: {
30
+ 'fx:payment_presets': _embedded['fx:payment_method_sets'].map(set => {
31
+ return composePaymentPreset({ paymentMethodSet: set, base });
32
+ }),
33
+ },
34
+ };
35
+ }
36
+ //# sourceMappingURL=payment_presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment_presets.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/composers/payment_presets.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,4BAAyB;AAOnE,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAE7C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAErC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnC,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE;YACvC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE;YACrC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE;YACrC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE;YACrC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE;SACtC;QACD,SAAS,EAAE;YACT,oBAAoB,EAAE,SAAS,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAClE,OAAO,oBAAoB,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC,CAAC;SACH;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { PaymentPresets } from '../types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { compose as composePaymentPreset } from './payment_preset';\n\nexport type Params = {\n paymentMethodSets: Resource<Rels.PaymentMethodSets>;\n base: string;\n};\n\nexport function compose(params: Params): PaymentPresets {\n const { paymentMethodSets: sets, base } = params;\n const { _embedded, _links, ...props } = sets;\n\n const newFirstURL = new URL('./payment_presets', base);\n const firstURL = new URL(_links.first.href);\n newFirstURL.search = firstURL.search;\n\n const newLastURL = new URL('./payment_presets', base);\n const lastURL = new URL(_links.last.href);\n newLastURL.search = lastURL.search;\n\n const newPrevURL = new URL('./payment_presets', base);\n const prevURL = new URL(_links.prev.href);\n newPrevURL.search = prevURL.search;\n\n const newNextURL = new URL('./payment_presets', base);\n const nextURL = new URL(_links.next.href);\n newNextURL.search = nextURL.search;\n\n const newSelfURL = new URL('./payment_presets', base);\n const selfURL = new URL(_links.self.href);\n newSelfURL.search = selfURL.search;\n\n return {\n ...props,\n _links: {\n first: { href: newFirstURL.toString() },\n last: { href: newLastURL.toString() },\n prev: { href: newPrevURL.toString() },\n next: { href: newNextURL.toString() },\n self: { href: newSelfURL.toString() },\n },\n _embedded: {\n 'fx:payment_presets': _embedded['fx:payment_method_sets'].map(set => {\n return composePaymentPreset({ paymentMethodSet: set, base });\n }),\n },\n };\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export declare type Params = {
2
+ request: Request;
3
+ };
4
+ /**
5
+ * Request handler.
6
+ *
7
+ * Endpoint: `/payment_presets/:presetId/available_fraud_protections`;
8
+ * Methods: GET;
9
+ * Curie: `fx:available_fraud_protections`;
10
+ * Type: property helper.
11
+ */
12
+ export declare function handle(params: Params): Promise<Response>;
@@ -0,0 +1,34 @@
1
+ import { compose } from "../composers/available_fraud_protections.js";
2
+ /**
3
+ * Request handler.
4
+ *
5
+ * Endpoint: `/payment_presets/:presetId/available_fraud_protections`;
6
+ * Methods: GET;
7
+ * Curie: `fx:available_fraud_protections`;
8
+ * Type: property helper.
9
+ */
10
+ export async function handle(params) {
11
+ let status = undefined;
12
+ let body;
13
+ try {
14
+ const { request } = params;
15
+ if (request.method !== 'GET') {
16
+ status = 405;
17
+ throw new Error('Method not allowed. Allowed methods: GET.');
18
+ }
19
+ const pathRegex = /\/payment_presets\/(?<presetId>.+)\/available_fraud_protections/;
20
+ const presetId = pathRegex.exec(new URL(request.url).pathname).groups.presetId;
21
+ const output = compose({
22
+ paymentPresetId: presetId,
23
+ base: new URL(request.url).origin,
24
+ });
25
+ body = JSON.stringify(output);
26
+ status = 200;
27
+ }
28
+ catch (err) {
29
+ body = err instanceof Error ? err.message : String(err);
30
+ status = status !== null && status !== void 0 ? status : 500;
31
+ }
32
+ return new Response(body, { status });
33
+ }
34
+ //# sourceMappingURL=available_fraud_protections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"available_fraud_protections.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/handlers/available_fraud_protections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oDAAiD;AAMnE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAc;IACzC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,IAAI,IAAY,CAAC;IAEjB,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAE3B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YAC5B,MAAM,GAAG,GAAG,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,MAAM,SAAS,GAAG,iEAAiE,CAAC;QACpF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAE,CAAC,MAAO,CAAC,QAAQ,CAAC;QAEjF,MAAM,MAAM,GAAG,OAAO,CAAC;YACrB,eAAe,EAAE,QAAQ;YACzB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;SAClC,CAAC,CAAC;QAEH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC;KACd;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,GAAG,CAAC;KACxB;IAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import { compose } from '../composers/available_fraud_protections';\n\nexport type Params = {\n request: Request;\n};\n\n/**\n * Request handler.\n *\n * Endpoint: `/payment_presets/:presetId/available_fraud_protections`;\n * Methods: GET;\n * Curie: `fx:available_fraud_protections`;\n * Type: property helper.\n */\nexport async function handle(params: Params): Promise<Response> {\n let status: number | undefined = undefined;\n let body: string;\n\n try {\n const { request } = params;\n\n if (request.method !== 'GET') {\n status = 405;\n throw new Error('Method not allowed. Allowed methods: GET.');\n }\n\n const pathRegex = /\\/payment_presets\\/(?<presetId>.+)\\/available_fraud_protections/;\n const presetId = pathRegex.exec(new URL(request.url).pathname)!.groups!.presetId;\n\n const output = compose({\n paymentPresetId: presetId,\n base: new URL(request.url).origin,\n });\n\n body = JSON.stringify(output);\n status = 200;\n } catch (err) {\n body = err instanceof Error ? err.message : String(err);\n status = status ?? 500;\n }\n\n return new Response(body, { status });\n}\n"]}
@@ -0,0 +1,16 @@
1
+ export declare type Params = {
2
+ hostedPaymentGatewaysHelperUrl: string;
3
+ paymentGatewaysHelperUrl: string;
4
+ getPaymentMethodSetUrl: (id: string) => string;
5
+ request: Request;
6
+ fetch: Window['fetch'];
7
+ };
8
+ /**
9
+ * Request handler.
10
+ *
11
+ * Endpoint: `/payment_presets/:presetId/available_payment_methods`;
12
+ * Methods: GET;
13
+ * Curie: `fx:available_payment_methods`;
14
+ * Type: property helper.
15
+ */
16
+ export declare function handle(params: Params): Promise<Response>;
@@ -0,0 +1,44 @@
1
+ import { fetchJson } from "../utils.js";
2
+ import { compose } from "../composers/available_payment_methods.js";
3
+ /**
4
+ * Request handler.
5
+ *
6
+ * Endpoint: `/payment_presets/:presetId/available_payment_methods`;
7
+ * Methods: GET;
8
+ * Curie: `fx:available_payment_methods`;
9
+ * Type: property helper.
10
+ */
11
+ export async function handle(params) {
12
+ var _a;
13
+ let status = undefined;
14
+ let body;
15
+ try {
16
+ const { hostedPaymentGatewaysHelperUrl: hostedGwsHelperUrl, paymentGatewaysHelperUrl: gwsHelperUrl, getPaymentMethodSetUrl: getSetUrl, request, fetch, } = params;
17
+ if (request.method !== 'GET') {
18
+ status = 405;
19
+ throw new Error('Method not allowed. Allowed methods: GET.');
20
+ }
21
+ const pathRegex = /\/payment_presets\/(?<presetId>.+)\/available_payment_methods/;
22
+ const presetId = pathRegex.exec(new URL(request.url).pathname).groups.presetId;
23
+ const whenHostedGwsHelperLoaded = fetchJson(fetch(hostedGwsHelperUrl));
24
+ const whenGwsHelperLoaded = fetchJson(fetch(gwsHelperUrl));
25
+ const set = await fetchJson(fetch(getSetUrl(presetId)));
26
+ const gwUrl = (_a = set._links['fx:payment_gateway']) === null || _a === void 0 ? void 0 : _a.href;
27
+ const gw = gwUrl ? await fetchJson(fetch(gwUrl)) : undefined;
28
+ const output = compose({
29
+ hostedPaymentGatewaysHelper: await whenHostedGwsHelperLoaded,
30
+ paymentGatewaysHelper: await whenGwsHelperLoaded,
31
+ paymentPresetId: presetId,
32
+ paymentGateway: gw,
33
+ base: new URL(request.url).origin,
34
+ });
35
+ body = JSON.stringify(output);
36
+ status = 200;
37
+ }
38
+ catch (err) {
39
+ body = err instanceof Error ? err.message : String(err);
40
+ status = status !== null && status !== void 0 ? status : 500;
41
+ }
42
+ return new Response(body, { status });
43
+ }
44
+ //# sourceMappingURL=available_payment_methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"available_payment_methods.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/handlers/available_payment_methods.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,oBAAiB;AACrC,OAAO,EAAE,OAAO,EAAE,kDAA+C;AAUjE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAc;;IACzC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,IAAI,IAAY,CAAC;IAEjB,IAAI;QACF,MAAM,EACJ,8BAA8B,EAAE,kBAAkB,EAClD,wBAAwB,EAAE,YAAY,EACtC,sBAAsB,EAAE,SAAS,EACjC,OAAO,EACP,KAAK,GACN,GAAG,MAAM,CAAC;QAEX,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YAC5B,MAAM,GAAG,GAAG,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,MAAM,SAAS,GAAG,+DAA+D,CAAC;QAClF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAE,CAAC,MAAO,CAAC,QAAQ,CAAC;QAOjF,MAAM,yBAAyB,GAAG,SAAS,CAAkB,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACxF,MAAM,mBAAmB,GAAG,SAAS,CAAY,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,MAAM,SAAS,CAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAA,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,0CAAE,IAA0B,CAAC;QAC3E,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjE,MAAM,MAAM,GAAG,OAAO,CAAC;YACrB,2BAA2B,EAAE,MAAM,yBAAyB;YAC5D,qBAAqB,EAAE,MAAM,mBAAmB;YAChD,eAAe,EAAE,QAAQ;YACzB,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;SAClC,CAAC,CAAC;QAEH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC;KACd;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,GAAG,CAAC;KACxB;IAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { fetchJson } from '../utils';\nimport { compose } from '../composers/available_payment_methods';\n\nexport type Params = {\n hostedPaymentGatewaysHelperUrl: string;\n paymentGatewaysHelperUrl: string;\n getPaymentMethodSetUrl: (id: string) => string;\n request: Request;\n fetch: Window['fetch'];\n};\n\n/**\n * Request handler.\n *\n * Endpoint: `/payment_presets/:presetId/available_payment_methods`;\n * Methods: GET;\n * Curie: `fx:available_payment_methods`;\n * Type: property helper.\n */\nexport async function handle(params: Params): Promise<Response> {\n let status: number | undefined = undefined;\n let body: string;\n\n try {\n const {\n hostedPaymentGatewaysHelperUrl: hostedGwsHelperUrl,\n paymentGatewaysHelperUrl: gwsHelperUrl,\n getPaymentMethodSetUrl: getSetUrl,\n request,\n fetch,\n } = params;\n\n if (request.method !== 'GET') {\n status = 405;\n throw new Error('Method not allowed. Allowed methods: GET.');\n }\n\n const pathRegex = /\\/payment_presets\\/(?<presetId>.+)\\/available_payment_methods/;\n const presetId = pathRegex.exec(new URL(request.url).pathname)!.groups!.presetId;\n\n type HostedGwsHelper = Resource<Rels.HostedPaymentGatewaysHelper>;\n type GwsHelper = Resource<Rels.PaymentGatewaysHelper>;\n type Set = Resource<Rels.PaymentMethodSet>;\n type Gw = Resource<Rels.PaymentGateway>;\n\n const whenHostedGwsHelperLoaded = fetchJson<HostedGwsHelper>(fetch(hostedGwsHelperUrl));\n const whenGwsHelperLoaded = fetchJson<GwsHelper>(fetch(gwsHelperUrl));\n const set = await fetchJson<Set>(fetch(getSetUrl(presetId)));\n const gwUrl = set._links['fx:payment_gateway']?.href as string | undefined;\n const gw = gwUrl ? await fetchJson<Gw>(fetch(gwUrl)) : undefined;\n\n const output = compose({\n hostedPaymentGatewaysHelper: await whenHostedGwsHelperLoaded,\n paymentGatewaysHelper: await whenGwsHelperLoaded,\n paymentPresetId: presetId,\n paymentGateway: gw,\n base: new URL(request.url).origin,\n });\n\n body = JSON.stringify(output);\n status = 200;\n } catch (err) {\n body = err instanceof Error ? err.message : String(err);\n status = status ?? 500;\n }\n\n return new Response(body, { status });\n}\n"]}
@@ -0,0 +1,17 @@
1
+ export declare type Params = {
2
+ getPaymentMethodSetUrl: (id: string) => string;
3
+ getFraudProtectionUrl: (id: string) => string;
4
+ request: Request;
5
+ fetch: Window['fetch'];
6
+ };
7
+ /**
8
+ * Request handler.
9
+ *
10
+ * Endpoint: `/payment_presets/:presetId/fraud_protection/:protectionId`;
11
+ * Methods: GET, PATCH, DELETE;
12
+ * Curie: `fx:fraud_protection`;
13
+ * Type: resource.
14
+ *
15
+ * ID template: `{{ fraud protection id }}C{{ payment method set fraud protection id }}`.
16
+ */
17
+ export declare function handle(params: Params): Promise<Response>;
@@ -0,0 +1,68 @@
1
+ import { fetchJson } from "../utils.js";
2
+ import { compose } from "../composers/fraud_protection.js";
3
+ /**
4
+ * Request handler.
5
+ *
6
+ * Endpoint: `/payment_presets/:presetId/fraud_protection/:protectionId`;
7
+ * Methods: GET, PATCH, DELETE;
8
+ * Curie: `fx:fraud_protection`;
9
+ * Type: resource.
10
+ *
11
+ * ID template: `{{ fraud protection id }}C{{ payment method set fraud protection id }}`.
12
+ */
13
+ export async function handle(params) {
14
+ let status = undefined;
15
+ let body;
16
+ try {
17
+ const { getPaymentMethodSetUrl: getSetUrl, getFraudProtectionUrl: getFpUrl, request, fetch, } = params;
18
+ if (!['GET', 'PATCH', 'DELETE'].includes(request.method)) {
19
+ status = 405;
20
+ throw new Error('Method not allowed. Allowed methods: GET, PATCH, DELETE.');
21
+ }
22
+ const pathRegex = /\/payment_presets\/(?<presetId>.+)\/fraud_protections\/(?<protectionId>.+)/;
23
+ const { presetId, protectionId } = pathRegex.exec(request.url).groups;
24
+ const setUrl = getSetUrl(presetId);
25
+ const fpId = protectionId.substring(0, protectionId.indexOf('C'));
26
+ if (request.method === 'DELETE') {
27
+ const set = await fetchJson(fetch(setUrl));
28
+ const setFpsUrl = set._links['fx:payment_method_set_fraud_protections'].href;
29
+ const setFpsURL = new URL(setFpsUrl);
30
+ setFpsURL.searchParams.set('fraud_protection_id', fpId);
31
+ const setFps = await fetchJson(fetch(setFpsURL.toString()));
32
+ const setFpsEmbeds = setFps._embedded;
33
+ const removals = setFpsEmbeds['fx:payment_method_set_fraud_protections'].map(data => fetchJson(fetch(data._links.self.href, { method: 'DELETE' })));
34
+ await Promise.all(removals);
35
+ }
36
+ let requestBody = await request.text();
37
+ try {
38
+ const requestBodyAsJSON = JSON.parse(requestBody);
39
+ delete requestBodyAsJSON.helper;
40
+ requestBody = JSON.stringify(requestBodyAsJSON);
41
+ }
42
+ catch (_a) {
43
+ // ignore
44
+ }
45
+ const hapiRequest = fetch(getFpUrl(fpId), {
46
+ method: request.method,
47
+ body: request.method === 'PATCH' ? requestBody : null,
48
+ });
49
+ const fp = await fetchJson(hapiRequest);
50
+ if (request.method === 'DELETE') {
51
+ body = JSON.stringify({ message: 'Fraud protection was successfully deleted.' });
52
+ }
53
+ else {
54
+ body = JSON.stringify(compose({
55
+ paymentMethodSetFraudProtectionId: protectionId.substring(protectionId.indexOf('C') + 1),
56
+ fraudProtection: fp,
57
+ paymentPresetId: presetId,
58
+ base: new URL(request.url).origin,
59
+ }));
60
+ }
61
+ }
62
+ catch (err) {
63
+ body = err instanceof Error ? err.message : String(err);
64
+ status = status !== null && status !== void 0 ? status : 500;
65
+ }
66
+ return new Response(body, { status });
67
+ }
68
+ //# sourceMappingURL=fraud_protection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fraud_protection.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/handlers/fraud_protection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,oBAAiB;AACrC,OAAO,EAAE,OAAO,EAAE,yCAAsC;AASxD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAc;IACzC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,IAAI,IAAY,CAAC;IAEjB,IAAI;QACF,MAAM,EACJ,sBAAsB,EAAE,SAAS,EACjC,qBAAqB,EAAE,QAAQ,EAC/B,OAAO,EACP,KAAK,GACN,GAAG,MAAM,CAAC;QAEX,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxD,MAAM,GAAG,GAAG,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;SAC7E;QAED,MAAM,SAAS,GAAG,4EAA4E,CAAC;QAC/F,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC,MAAO,CAAC;QAExE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAMlE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC/B,MAAM,GAAG,GAAG,MAAM,SAAS,CAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,IAAI,CAAC;YAE7E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAS,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;YACtC,MAAM,QAAQ,GAAG,YAAY,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAClF,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC9D,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC7B;QAED,IAAI,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAEvC,IAAI;YACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClD,OAAO,iBAAiB,CAAC,MAAM,CAAC;YAChC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;SACjD;QAAC,WAAM;YACN,SAAS;SACV;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;SACtD,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,MAAM,SAAS,CAAK,WAAW,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC/B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,CAAC;SAClF;aAAM;YACL,IAAI,GAAG,IAAI,CAAC,SAAS,CACnB,OAAO,CAAC;gBACN,iCAAiC,EAAE,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxF,eAAe,EAAE,EAAE;gBACnB,eAAe,EAAE,QAAQ;gBACzB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;aAClC,CAAC,CACH,CAAC;SACH;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,GAAG,CAAC;KACxB;IAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { fetchJson } from '../utils';\nimport { compose } from '../composers/fraud_protection';\n\nexport type Params = {\n getPaymentMethodSetUrl: (id: string) => string;\n getFraudProtectionUrl: (id: string) => string;\n request: Request;\n fetch: Window['fetch'];\n};\n\n/**\n * Request handler.\n *\n * Endpoint: `/payment_presets/:presetId/fraud_protection/:protectionId`;\n * Methods: GET, PATCH, DELETE;\n * Curie: `fx:fraud_protection`;\n * Type: resource.\n *\n * ID template: `{{ fraud protection id }}C{{ payment method set fraud protection id }}`.\n */\nexport async function handle(params: Params): Promise<Response> {\n let status: number | undefined = undefined;\n let body: string;\n\n try {\n const {\n getPaymentMethodSetUrl: getSetUrl,\n getFraudProtectionUrl: getFpUrl,\n request,\n fetch,\n } = params;\n\n if (!['GET', 'PATCH', 'DELETE'].includes(request.method)) {\n status = 405;\n throw new Error('Method not allowed. Allowed methods: GET, PATCH, DELETE.');\n }\n\n const pathRegex = /\\/payment_presets\\/(?<presetId>.+)\\/fraud_protections\\/(?<protectionId>.+)/;\n const { presetId, protectionId } = pathRegex.exec(request.url)!.groups!;\n\n const setUrl = getSetUrl(presetId);\n const fpId = protectionId.substring(0, protectionId.indexOf('C'));\n\n type SetFps = Resource<Rels.PaymentMethodSetFraudProtections>;\n type Set = Resource<Rels.PaymentMethodSet>;\n type Fp = Resource<Rels.FraudProtection>;\n\n if (request.method === 'DELETE') {\n const set = await fetchJson<Set>(fetch(setUrl));\n const setFpsUrl = set._links['fx:payment_method_set_fraud_protections'].href;\n\n const setFpsURL = new URL(setFpsUrl);\n setFpsURL.searchParams.set('fraud_protection_id', fpId);\n\n const setFps = await fetchJson<SetFps>(fetch(setFpsURL.toString()));\n const setFpsEmbeds = setFps._embedded;\n const removals = setFpsEmbeds['fx:payment_method_set_fraud_protections'].map(data =>\n fetchJson(fetch(data._links.self.href, { method: 'DELETE' }))\n );\n\n await Promise.all(removals);\n }\n\n let requestBody = await request.text();\n\n try {\n const requestBodyAsJSON = JSON.parse(requestBody);\n delete requestBodyAsJSON.helper;\n requestBody = JSON.stringify(requestBodyAsJSON);\n } catch {\n // ignore\n }\n\n const hapiRequest = fetch(getFpUrl(fpId), {\n method: request.method,\n body: request.method === 'PATCH' ? requestBody : null,\n });\n\n const fp = await fetchJson<Fp>(hapiRequest);\n\n if (request.method === 'DELETE') {\n body = JSON.stringify({ message: 'Fraud protection was successfully deleted.' });\n } else {\n body = JSON.stringify(\n compose({\n paymentMethodSetFraudProtectionId: protectionId.substring(protectionId.indexOf('C') + 1),\n fraudProtection: fp,\n paymentPresetId: presetId,\n base: new URL(request.url).origin,\n })\n );\n }\n } catch (err) {\n body = err instanceof Error ? err.message : String(err);\n status = status ?? 500;\n }\n\n return new Response(body, { status });\n}\n"]}
@@ -0,0 +1,17 @@
1
+ export declare type Params = {
2
+ fraudProtectionsUrl: string;
3
+ getPaymentMethodSetUrl: (id: string) => string;
4
+ request: Request;
5
+ fetch: Window['fetch'];
6
+ };
7
+ /**
8
+ * Request handler.
9
+ *
10
+ * Endpoint: `/payment_presets/:presetId/fraud_protections`;
11
+ * Methods: GET, POST;
12
+ * Curie: `fx:fraud_protections`;
13
+ * Type: resource.
14
+ *
15
+ * ID template: `{{ fraud protection id }}C{{ payment method set fraud protection id }}`;
16
+ */
17
+ export declare function handle(params: Params): Promise<Response>;
@@ -0,0 +1,77 @@
1
+ import { compose as composeFraudProtections } from "../composers/fraud_protections.js";
2
+ import { compose as composeFraudProtection } from "../composers/fraud_protection.js";
3
+ import { fetchJson } from "../utils.js";
4
+ /**
5
+ * Request handler.
6
+ *
7
+ * Endpoint: `/payment_presets/:presetId/fraud_protections`;
8
+ * Methods: GET, POST;
9
+ * Curie: `fx:fraud_protections`;
10
+ * Type: resource.
11
+ *
12
+ * ID template: `{{ fraud protection id }}C{{ payment method set fraud protection id }}`;
13
+ */
14
+ export async function handle(params) {
15
+ var _a, _b;
16
+ let status = undefined;
17
+ let body;
18
+ try {
19
+ const { fraudProtectionsUrl: fpUrl, getPaymentMethodSetUrl: getSetUrl, request, fetch, } = params;
20
+ if (!['GET', 'POST'].includes(request.method)) {
21
+ status = 405;
22
+ throw new Error('Method not allowed. Allowed methods: GET, POST.');
23
+ }
24
+ const url = new URL(request.url);
25
+ const pathRegex = /\/payment_presets\/(?<presetId>.+)\/fraud_protections/;
26
+ const presetId = pathRegex.exec(url.pathname).groups.presetId;
27
+ const set = await fetchJson(fetch(getSetUrl(presetId)));
28
+ if (request.method === 'GET') {
29
+ const offset = parseInt((_a = url.searchParams.get('offset')) !== null && _a !== void 0 ? _a : '0');
30
+ const limit = parseInt((_b = url.searchParams.get('limit')) !== null && _b !== void 0 ? _b : '20');
31
+ const sfpsURL = new URL(set._links['fx:payment_method_set_fraud_protections'].href);
32
+ sfpsURL.searchParams.set('offset', String(Math.max(0, offset - 1)));
33
+ sfpsURL.searchParams.set('limit', String(limit));
34
+ const sfps = await fetchJson(fetch(sfpsURL.toString()));
35
+ const fps = await Promise.all(sfps._embedded['fx:payment_method_set_fraud_protections'].map(async (shgw) => {
36
+ return fetchJson(fetch(shgw._links['fx:fraud_protection'].href));
37
+ }));
38
+ const output = composeFraudProtections({
39
+ paymentMethodSetFraudProtections: sfps,
40
+ fraudProtections: fps,
41
+ paymentPresetId: presetId,
42
+ base: new URL(request.url).origin,
43
+ });
44
+ status = 200;
45
+ body = JSON.stringify(output);
46
+ }
47
+ else {
48
+ const requestBody = (await request.json());
49
+ delete requestBody.helper;
50
+ const hapiRequest = fetch(fpUrl, { method: 'POST', body: JSON.stringify(requestBody) });
51
+ const newFp = await fetchJson(hapiRequest);
52
+ const newSetFp = await fetchJson(fetch(set._links['fx:payment_method_set_fraud_protections'].href, {
53
+ method: 'POST',
54
+ body: JSON.stringify({
55
+ payment_method_set_uri: set._links.self.href,
56
+ fraud_protection_uri: newFp._links.self.href,
57
+ }),
58
+ }));
59
+ const output = composeFraudProtection({
60
+ paymentMethodSetFraudProtectionId: new URL(newSetFp._links.self.href).pathname
61
+ .split('/')
62
+ .pop(),
63
+ fraudProtection: newFp,
64
+ paymentPresetId: presetId,
65
+ base: new URL(request.url).origin,
66
+ });
67
+ status = 200;
68
+ body = JSON.stringify(output);
69
+ }
70
+ }
71
+ catch (err) {
72
+ body = err instanceof Error ? err.message : String(err);
73
+ status = status !== null && status !== void 0 ? status : 500;
74
+ }
75
+ return new Response(body, { status });
76
+ }
77
+ //# sourceMappingURL=fraud_protections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fraud_protections.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/handlers/fraud_protections.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FraudProtection } from '../types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { compose as composeFraudProtections } from '../composers/fraud_protections';\nimport { compose as composeFraudProtection } from '../composers/fraud_protection';\n\nimport { fetchJson } from '../utils';\n\nexport type Params = {\n fraudProtectionsUrl: string;\n getPaymentMethodSetUrl: (id: string) => string;\n request: Request;\n fetch: Window['fetch'];\n};\n\n/**\n * Request handler.\n *\n * Endpoint: `/payment_presets/:presetId/fraud_protections`;\n * Methods: GET, POST;\n * Curie: `fx:fraud_protections`;\n * Type: resource.\n *\n * ID template: `{{ fraud protection id }}C{{ payment method set fraud protection id }}`;\n */\nexport async function handle(params: Params): Promise<Response> {\n let status: number | undefined = undefined;\n let body: string;\n\n try {\n const {\n fraudProtectionsUrl: fpUrl,\n getPaymentMethodSetUrl: getSetUrl,\n request,\n fetch,\n } = params;\n\n if (!['GET', 'POST'].includes(request.method)) {\n status = 405;\n throw new Error('Method not allowed. Allowed methods: GET, POST.');\n }\n\n const url = new URL(request.url);\n const pathRegex = /\\/payment_presets\\/(?<presetId>.+)\\/fraud_protections/;\n const presetId = pathRegex.exec(url.pathname)!.groups!.presetId;\n\n type SetFps = Resource<Rels.PaymentMethodSetFraudProtections>;\n type SetFp = Resource<Rels.PaymentMethodSetFraudProtection>;\n type Fp = Resource<Rels.FraudProtection>;\n type Set = Resource<Rels.PaymentMethodSet>;\n\n const set = await fetchJson<Set>(fetch(getSetUrl(presetId)));\n\n if (request.method === 'GET') {\n const offset = parseInt(url.searchParams.get('offset') ?? '0');\n const limit = parseInt(url.searchParams.get('limit') ?? '20');\n\n const sfpsURL = new URL(set._links['fx:payment_method_set_fraud_protections'].href);\n\n sfpsURL.searchParams.set('offset', String(Math.max(0, offset - 1)));\n sfpsURL.searchParams.set('limit', String(limit));\n\n const sfps = await fetchJson<SetFps>(fetch(sfpsURL.toString()));\n const fps = await Promise.all(\n sfps._embedded['fx:payment_method_set_fraud_protections'].map(async shgw => {\n return fetchJson<Fp>(fetch(shgw._links['fx:fraud_protection'].href));\n })\n );\n\n const output = composeFraudProtections({\n paymentMethodSetFraudProtections: sfps,\n fraudProtections: fps,\n paymentPresetId: presetId,\n base: new URL(request.url).origin,\n });\n\n status = 200;\n body = JSON.stringify(output);\n } else {\n const requestBody = (await request.json()) as Partial<FraudProtection>;\n delete requestBody.helper;\n\n const hapiRequest = fetch(fpUrl, { method: 'POST', body: JSON.stringify(requestBody) });\n const newFp = await fetchJson<Fp>(hapiRequest);\n\n const newSetFp = await fetchJson<SetFp>(\n fetch(set._links['fx:payment_method_set_fraud_protections'].href, {\n method: 'POST',\n body: JSON.stringify({\n payment_method_set_uri: set._links.self.href,\n fraud_protection_uri: newFp._links.self.href,\n }),\n })\n );\n\n const output = composeFraudProtection({\n paymentMethodSetFraudProtectionId: new URL(newSetFp._links.self.href).pathname\n .split('/')\n .pop() as string,\n fraudProtection: newFp,\n paymentPresetId: presetId,\n base: new URL(request.url).origin,\n });\n\n status = 200;\n body = JSON.stringify(output);\n }\n } catch (err) {\n body = err instanceof Error ? err.message : String(err);\n status = status ?? 500;\n }\n\n return new Response(body, { status });\n}\n"]}
@@ -0,0 +1,22 @@
1
+ export declare type Params = {
2
+ getPaymentMethodSetHostedPaymentGatewayUrl: (id: string) => string;
3
+ getHostedPaymentGatewayUrl: (id: string) => string;
4
+ getPaymentMethodSetUrl: (id: string) => string;
5
+ getPaymentGatewayUrl: (id: string) => string;
6
+ hostedPaymentGatewaysHelperUrl: string;
7
+ paymentGatewaysHelperUrl: string;
8
+ request: Request;
9
+ fetch: Window['fetch'];
10
+ };
11
+ /**
12
+ * Request handler.
13
+ *
14
+ * Endpoint: `/payment_presets/:presetId/payment_methods/:methodId`;
15
+ * Methods: GET, PATCH, DELETE;
16
+ * Curie: `fx:payment_method`;
17
+ * Type: resource.
18
+ *
19
+ * Method ID template for regular gateways: `R{{ payment gateway id }}`;
20
+ * For hosted gateways: `H{{ hosted payment gateway id }}C{{ payment method set hosted payment gateway id }}`.
21
+ */
22
+ export declare function handle(params: Params): Promise<Response>;
@@ -0,0 +1,97 @@
1
+ import { fetchJson } from "../utils.js";
2
+ import { compose } from "../composers/payment_method.js";
3
+ /**
4
+ * Request handler.
5
+ *
6
+ * Endpoint: `/payment_presets/:presetId/payment_methods/:methodId`;
7
+ * Methods: GET, PATCH, DELETE;
8
+ * Curie: `fx:payment_method`;
9
+ * Type: resource.
10
+ *
11
+ * Method ID template for regular gateways: `R{{ payment gateway id }}`;
12
+ * For hosted gateways: `H{{ hosted payment gateway id }}C{{ payment method set hosted payment gateway id }}`.
13
+ */
14
+ export async function handle(params) {
15
+ let status = undefined;
16
+ let body;
17
+ try {
18
+ const { hostedPaymentGatewaysHelperUrl: hostedGwsHelperUrl, paymentGatewaysHelperUrl: gwsHelperUrl, getPaymentMethodSetHostedPaymentGatewayUrl: getSetHostedGwUrl, getHostedPaymentGatewayUrl: getHostedGwUrl, getPaymentMethodSetUrl: getSetUrl, getPaymentGatewayUrl: getGwUrl, request, fetch, } = params;
19
+ if (!['GET', 'PATCH', 'DELETE'].includes(request.method)) {
20
+ status = 405;
21
+ throw new Error('Method not allowed. Allowed methods: GET, PATCH, DELETE.');
22
+ }
23
+ const pathRegex = /\/payment_presets\/(?<presetId>.+)\/payment_methods\/(?<methodId>.+)/;
24
+ const { presetId, methodId } = pathRegex.exec(request.url).groups;
25
+ const isHosted = methodId.startsWith('H');
26
+ const setUrl = getSetUrl(presetId);
27
+ const gwId = methodId.substring(1, isHosted ? methodId.indexOf('C') : undefined);
28
+ const whenHostedGwsHelperLoaded = fetchJson(fetch(hostedGwsHelperUrl));
29
+ const whenGwsHelperLoaded = fetchJson(fetch(gwsHelperUrl));
30
+ if (request.method === 'DELETE') {
31
+ if (isHosted) {
32
+ const setHostedGwId = methodId.substring(methodId.indexOf('C') + 1);
33
+ const setHostedGwUrl = getSetHostedGwUrl(setHostedGwId);
34
+ await fetchJson(fetch(setHostedGwUrl, { method: 'DELETE' }));
35
+ }
36
+ else {
37
+ const setEdits = { gateway_uri: '' };
38
+ const setEditsAsString = JSON.stringify(setEdits);
39
+ await fetchJson(fetch(setUrl, { method: 'PATCH', body: setEditsAsString }));
40
+ }
41
+ }
42
+ let requestBody = await request.text();
43
+ try {
44
+ const requestBodyAsJSON = JSON.parse(requestBody);
45
+ delete requestBodyAsJSON.helper;
46
+ requestBody = JSON.stringify(requestBodyAsJSON);
47
+ }
48
+ catch (_a) {
49
+ // ignore
50
+ }
51
+ if (isHosted) {
52
+ const hapiRequest = fetch(getHostedGwUrl(gwId), {
53
+ method: request.method,
54
+ body: request.method === 'PATCH' ? requestBody : null,
55
+ });
56
+ const hostedGwsHelper = await whenHostedGwsHelperLoaded;
57
+ const hostedGw = await fetchJson(hapiRequest);
58
+ if (request.method === 'DELETE') {
59
+ body = JSON.stringify({ message: 'Payment method was successfully deleted.' });
60
+ }
61
+ else {
62
+ body = JSON.stringify(compose({
63
+ paymentMethodSetHostedPaymentGatewayId: methodId.substring(methodId.indexOf('C') + 1),
64
+ hostedPaymentGateway: hostedGw,
65
+ paymentPresetId: presetId,
66
+ helper: hostedGwsHelper.values[hostedGw.type],
67
+ base: new URL(request.url).origin,
68
+ }));
69
+ }
70
+ }
71
+ else {
72
+ const hapiRequest = fetch(getGwUrl(gwId), {
73
+ method: request.method,
74
+ body: request.method === 'PATCH' ? requestBody : null,
75
+ });
76
+ const gwsHelper = await whenGwsHelperLoaded;
77
+ const gw = await fetchJson(hapiRequest);
78
+ if (request.method === 'DELETE') {
79
+ body = JSON.stringify({ message: 'Payment method was successfully deleted.' });
80
+ }
81
+ else {
82
+ body = JSON.stringify(compose({
83
+ paymentGateway: gw,
84
+ paymentPresetId: presetId,
85
+ helper: gwsHelper.values[gw.type],
86
+ base: new URL(request.url).origin,
87
+ }));
88
+ }
89
+ }
90
+ }
91
+ catch (err) {
92
+ body = err instanceof Error ? err.message : String(err);
93
+ status = status !== null && status !== void 0 ? status : 500;
94
+ }
95
+ return new Response(body, { status });
96
+ }
97
+ //# sourceMappingURL=payment_method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment_method.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/handlers/payment_method.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,oBAAiB;AACrC,OAAO,EAAE,OAAO,EAAE,uCAAoC;AAatD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAc;IACzC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,IAAI,IAAY,CAAC;IAEjB,IAAI;QACF,MAAM,EACJ,8BAA8B,EAAE,kBAAkB,EAClD,wBAAwB,EAAE,YAAY,EACtC,0CAA0C,EAAE,iBAAiB,EAC7D,0BAA0B,EAAE,cAAc,EAC1C,sBAAsB,EAAE,SAAS,EACjC,oBAAoB,EAAE,QAAQ,EAC9B,OAAO,EACP,KAAK,GACN,GAAG,MAAM,CAAC;QAEX,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxD,MAAM,GAAG,GAAG,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;SAC7E;QAED,MAAM,SAAS,GAAG,sEAAsE,CAAC;QACzF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC,MAAO,CAAC;QAEpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAQjF,MAAM,yBAAyB,GAAG,SAAS,CAAkB,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACxF,MAAM,mBAAmB,GAAG,SAAS,CAAY,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAEtE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC/B,IAAI,QAAQ,EAAE;gBACZ,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpE,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBAExD,MAAM,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aAC9D;iBAAM;gBACL,MAAM,QAAQ,GAAiB,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;gBACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAElD,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;aAC7E;SACF;QAED,IAAI,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAEvC,IAAI;YACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClD,OAAO,iBAAiB,CAAC,MAAM,CAAC;YAChC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;SACjD;QAAC,WAAM;YACN,SAAS;SACV;QAED,IAAI,QAAQ,EAAE;YACZ,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;aACtD,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAW,WAAW,CAAC,CAAC;YAExD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;gBAC/B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;aAChF;iBAAM;gBACL,IAAI,GAAG,IAAI,CAAC,SAAS,CACnB,OAAO,CAAC;oBACN,sCAAsC,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACrF,oBAAoB,EAAE,QAAQ;oBAC9B,eAAe,EAAE,QAAQ;oBACzB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC7C,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;iBAClC,CAAC,CACH,CAAC;aACH;SACF;aAAM;YACL,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACxC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;aACtD,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;YAC5C,MAAM,EAAE,GAAG,MAAM,SAAS,CAAK,WAAW,CAAC,CAAC;YAE5C,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;gBAC/B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;aAChF;iBAAM;gBACL,IAAI,GAAG,IAAI,CAAC,SAAS,CACnB,OAAO,CAAC;oBACN,cAAc,EAAE,EAAE;oBAClB,eAAe,EAAE,QAAQ;oBACzB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;oBACjC,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;iBAClC,CAAC,CACH,CAAC;aACH;SACF;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,GAAG,CAAC;KACxB;IAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { fetchJson } from '../utils';\nimport { compose } from '../composers/payment_method';\n\nexport type Params = {\n getPaymentMethodSetHostedPaymentGatewayUrl: (id: string) => string;\n getHostedPaymentGatewayUrl: (id: string) => string;\n getPaymentMethodSetUrl: (id: string) => string;\n getPaymentGatewayUrl: (id: string) => string;\n hostedPaymentGatewaysHelperUrl: string;\n paymentGatewaysHelperUrl: string;\n request: Request;\n fetch: Window['fetch'];\n};\n\n/**\n * Request handler.\n *\n * Endpoint: `/payment_presets/:presetId/payment_methods/:methodId`;\n * Methods: GET, PATCH, DELETE;\n * Curie: `fx:payment_method`;\n * Type: resource.\n *\n * Method ID template for regular gateways: `R{{ payment gateway id }}`;\n * For hosted gateways: `H{{ hosted payment gateway id }}C{{ payment method set hosted payment gateway id }}`.\n */\nexport async function handle(params: Params): Promise<Response> {\n let status: number | undefined = undefined;\n let body: string;\n\n try {\n const {\n hostedPaymentGatewaysHelperUrl: hostedGwsHelperUrl,\n paymentGatewaysHelperUrl: gwsHelperUrl,\n getPaymentMethodSetHostedPaymentGatewayUrl: getSetHostedGwUrl,\n getHostedPaymentGatewayUrl: getHostedGwUrl,\n getPaymentMethodSetUrl: getSetUrl,\n getPaymentGatewayUrl: getGwUrl,\n request,\n fetch,\n } = params;\n\n if (!['GET', 'PATCH', 'DELETE'].includes(request.method)) {\n status = 405;\n throw new Error('Method not allowed. Allowed methods: GET, PATCH, DELETE.');\n }\n\n const pathRegex = /\\/payment_presets\\/(?<presetId>.+)\\/payment_methods\\/(?<methodId>.+)/;\n const { presetId, methodId } = pathRegex.exec(request.url)!.groups!;\n\n const isHosted = methodId.startsWith('H');\n const setUrl = getSetUrl(presetId);\n const gwId = methodId.substring(1, isHosted ? methodId.indexOf('C') : undefined);\n\n type HostedGw = Resource<Rels.HostedPaymentGateway>;\n type Set = Resource<Rels.PaymentMethodSet>;\n type Gw = Resource<Rels.PaymentGateway>;\n type HostedGwsHelper = Resource<Rels.HostedPaymentGatewaysHelper>;\n type GwsHelper = Resource<Rels.PaymentGatewaysHelper>;\n\n const whenHostedGwsHelperLoaded = fetchJson<HostedGwsHelper>(fetch(hostedGwsHelperUrl));\n const whenGwsHelperLoaded = fetchJson<GwsHelper>(fetch(gwsHelperUrl));\n\n if (request.method === 'DELETE') {\n if (isHosted) {\n const setHostedGwId = methodId.substring(methodId.indexOf('C') + 1);\n const setHostedGwUrl = getSetHostedGwUrl(setHostedGwId);\n\n await fetchJson(fetch(setHostedGwUrl, { method: 'DELETE' }));\n } else {\n const setEdits: Partial<Set> = { gateway_uri: '' };\n const setEditsAsString = JSON.stringify(setEdits);\n\n await fetchJson(fetch(setUrl, { method: 'PATCH', body: setEditsAsString }));\n }\n }\n\n let requestBody = await request.text();\n\n try {\n const requestBodyAsJSON = JSON.parse(requestBody);\n delete requestBodyAsJSON.helper;\n requestBody = JSON.stringify(requestBodyAsJSON);\n } catch {\n // ignore\n }\n\n if (isHosted) {\n const hapiRequest = fetch(getHostedGwUrl(gwId), {\n method: request.method,\n body: request.method === 'PATCH' ? requestBody : null,\n });\n\n const hostedGwsHelper = await whenHostedGwsHelperLoaded;\n const hostedGw = await fetchJson<HostedGw>(hapiRequest);\n\n if (request.method === 'DELETE') {\n body = JSON.stringify({ message: 'Payment method was successfully deleted.' });\n } else {\n body = JSON.stringify(\n compose({\n paymentMethodSetHostedPaymentGatewayId: methodId.substring(methodId.indexOf('C') + 1),\n hostedPaymentGateway: hostedGw,\n paymentPresetId: presetId,\n helper: hostedGwsHelper.values[hostedGw.type],\n base: new URL(request.url).origin,\n })\n );\n }\n } else {\n const hapiRequest = fetch(getGwUrl(gwId), {\n method: request.method,\n body: request.method === 'PATCH' ? requestBody : null,\n });\n\n const gwsHelper = await whenGwsHelperLoaded;\n const gw = await fetchJson<Gw>(hapiRequest);\n\n if (request.method === 'DELETE') {\n body = JSON.stringify({ message: 'Payment method was successfully deleted.' });\n } else {\n body = JSON.stringify(\n compose({\n paymentGateway: gw,\n paymentPresetId: presetId,\n helper: gwsHelper.values[gw.type],\n base: new URL(request.url).origin,\n })\n );\n }\n }\n } catch (err) {\n body = err instanceof Error ? err.message : String(err);\n status = status ?? 500;\n }\n\n return new Response(body, { status });\n}\n"]}
@@ -0,0 +1,21 @@
1
+ export declare type Params = {
2
+ hostedPaymentGatewaysHelperUrl: string;
3
+ paymentGatewaysHelperUrl: string;
4
+ hostedPaymentGatewaysUrl: string;
5
+ paymentGatewaysUrl: string;
6
+ getPaymentMethodSetUrl: (id: string) => string;
7
+ request: Request;
8
+ fetch: Window['fetch'];
9
+ };
10
+ /**
11
+ * Request handler.
12
+ *
13
+ * Endpoint: `/payment_presets/:presetId/payment_methods`;
14
+ * Methods: GET, POST;
15
+ * Curie: `fx:payment_methods`;
16
+ * Type: resource.
17
+ *
18
+ * Method ID template for regular gateways: `R{{ payment gateway id }}`;
19
+ * For hosted gateways: `H{{ hosted payment gateway id }}C{{ payment method set hosted payment gateway id }}`.
20
+ */
21
+ export declare function handle(params: Params): Promise<Response>;