@shopify/shopify-api 13.0.0 → 13.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/adapters/mock/adapter.js +1 -1
- package/dist/cjs/adapters/node/adapter.js +1 -1
- package/dist/cjs/lib/auth/oauth/nonce.js +4 -8
- package/dist/cjs/lib/auth/oauth/nonce.js.map +1 -1
- package/dist/cjs/lib/auth/oauth/safe-compare.js.map +1 -1
- package/dist/cjs/lib/clients/admin/rest/client.js +1 -1
- package/dist/cjs/lib/types.js +2 -0
- package/dist/cjs/lib/types.js.map +1 -1
- package/dist/cjs/lib/version.js +1 -1
- package/dist/cjs/lib/version.js.map +1 -1
- package/dist/cjs/lib/webhooks/types.js +1 -0
- package/dist/cjs/lib/webhooks/types.js.map +1 -1
- package/dist/cjs/lib/webhooks/validate.js +2 -0
- package/dist/cjs/lib/webhooks/validate.js.map +1 -1
- package/dist/cjs/rest/admin/2026-04/abandoned_checkout.js +85 -0
- package/dist/cjs/rest/admin/2026-04/abandoned_checkout.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/access_scope.js +36 -0
- package/dist/cjs/rest/admin/2026-04/access_scope.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/apple_pay_certificate.js +62 -0
- package/dist/cjs/rest/admin/2026-04/apple_pay_certificate.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/application_charge.js +56 -0
- package/dist/cjs/rest/admin/2026-04/application_charge.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/application_credit.js +50 -0
- package/dist/cjs/rest/admin/2026-04/application_credit.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/article.js +114 -0
- package/dist/cjs/rest/admin/2026-04/article.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/asset.js +57 -0
- package/dist/cjs/rest/admin/2026-04/asset.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/assigned_fulfillment_order.js +41 -0
- package/dist/cjs/rest/admin/2026-04/assigned_fulfillment_order.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/balance.js +34 -0
- package/dist/cjs/rest/admin/2026-04/balance.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/blog.js +83 -0
- package/dist/cjs/rest/admin/2026-04/blog.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/cancellation_request.js +52 -0
- package/dist/cjs/rest/admin/2026-04/cancellation_request.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/carrier_service.js +63 -0
- package/dist/cjs/rest/admin/2026-04/carrier_service.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/checkout.js +103 -0
- package/dist/cjs/rest/admin/2026-04/checkout.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/collect.js +74 -0
- package/dist/cjs/rest/admin/2026-04/collect.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/collection.js +59 -0
- package/dist/cjs/rest/admin/2026-04/collection.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/collection_listing.js +80 -0
- package/dist/cjs/rest/admin/2026-04/collection_listing.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/comment.js +135 -0
- package/dist/cjs/rest/admin/2026-04/comment.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/country.js +76 -0
- package/dist/cjs/rest/admin/2026-04/country.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/currency.js +35 -0
- package/dist/cjs/rest/admin/2026-04/currency.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/custom_collection.js +79 -0
- package/dist/cjs/rest/admin/2026-04/custom_collection.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/customer.js +150 -0
- package/dist/cjs/rest/admin/2026-04/customer.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/deprecated_api_call.js +35 -0
- package/dist/cjs/rest/admin/2026-04/deprecated_api_call.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/discount_code.js +115 -0
- package/dist/cjs/rest/admin/2026-04/discount_code.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/dispute.js +53 -0
- package/dist/cjs/rest/admin/2026-04/dispute.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/dispute_evidence.js +57 -0
- package/dist/cjs/rest/admin/2026-04/dispute_evidence.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/dispute_file_upload.js +45 -0
- package/dist/cjs/rest/admin/2026-04/dispute_file_upload.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/draft_order.js +126 -0
- package/dist/cjs/rest/admin/2026-04/draft_order.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/event.js +67 -0
- package/dist/cjs/rest/admin/2026-04/event.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment.js +102 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment_event.js +79 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment_event.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment_order.js +164 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment_order.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment_request.js +61 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment_request.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment_service.js +66 -0
- package/dist/cjs/rest/admin/2026-04/fulfillment_service.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/gift_card.js +105 -0
- package/dist/cjs/rest/admin/2026-04/gift_card.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/gift_card_adjustment.js +58 -0
- package/dist/cjs/rest/admin/2026-04/gift_card_adjustment.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/image.js +77 -0
- package/dist/cjs/rest/admin/2026-04/image.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/index.js +155 -0
- package/dist/cjs/rest/admin/2026-04/index.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/inventory_item.js +54 -0
- package/dist/cjs/rest/admin/2026-04/inventory_item.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/inventory_level.js +87 -0
- package/dist/cjs/rest/admin/2026-04/inventory_level.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/location.js +85 -0
- package/dist/cjs/rest/admin/2026-04/location.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/locations_for_move.js +34 -0
- package/dist/cjs/rest/admin/2026-04/locations_for_move.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/marketing_event.js +98 -0
- package/dist/cjs/rest/admin/2026-04/marketing_event.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/metafield.js +154 -0
- package/dist/cjs/rest/admin/2026-04/metafield.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/mobile_platform_application.js +63 -0
- package/dist/cjs/rest/admin/2026-04/mobile_platform_application.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/order.js +202 -0
- package/dist/cjs/rest/admin/2026-04/order.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/order_risk.js +68 -0
- package/dist/cjs/rest/admin/2026-04/order_risk.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/page.js +83 -0
- package/dist/cjs/rest/admin/2026-04/page.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/payment.js +46 -0
- package/dist/cjs/rest/admin/2026-04/payment.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/payment_gateway.js +72 -0
- package/dist/cjs/rest/admin/2026-04/payment_gateway.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/payment_transaction.js +56 -0
- package/dist/cjs/rest/admin/2026-04/payment_transaction.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/payout.js +47 -0
- package/dist/cjs/rest/admin/2026-04/payout.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/policy.js +39 -0
- package/dist/cjs/rest/admin/2026-04/policy.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/price_rule.js +97 -0
- package/dist/cjs/rest/admin/2026-04/price_rule.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/product.js +89 -0
- package/dist/cjs/rest/admin/2026-04/product.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/product_listing.js +99 -0
- package/dist/cjs/rest/admin/2026-04/product_listing.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/product_resource_feedback.js +46 -0
- package/dist/cjs/rest/admin/2026-04/product_resource_feedback.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/province.js +65 -0
- package/dist/cjs/rest/admin/2026-04/province.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/recurring_application_charge.js +87 -0
- package/dist/cjs/rest/admin/2026-04/recurring_application_charge.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/redirect.js +71 -0
- package/dist/cjs/rest/admin/2026-04/redirect.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/refund.js +72 -0
- package/dist/cjs/rest/admin/2026-04/refund.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/resource_feedback.js +41 -0
- package/dist/cjs/rest/admin/2026-04/resource_feedback.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/script_tag.js +75 -0
- package/dist/cjs/rest/admin/2026-04/script_tag.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/shipping_zone.js +47 -0
- package/dist/cjs/rest/admin/2026-04/shipping_zone.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/shop.js +96 -0
- package/dist/cjs/rest/admin/2026-04/shop.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/smart_collection.js +93 -0
- package/dist/cjs/rest/admin/2026-04/smart_collection.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/storefront_access_token.js +50 -0
- package/dist/cjs/rest/admin/2026-04/storefront_access_token.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/tender_transaction.js +43 -0
- package/dist/cjs/rest/admin/2026-04/tender_transaction.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/theme.js +64 -0
- package/dist/cjs/rest/admin/2026-04/theme.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/transaction.js +83 -0
- package/dist/cjs/rest/admin/2026-04/transaction.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/usage_charge.js +53 -0
- package/dist/cjs/rest/admin/2026-04/usage_charge.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/user.js +69 -0
- package/dist/cjs/rest/admin/2026-04/user.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/variant.js +96 -0
- package/dist/cjs/rest/admin/2026-04/variant.js.map +1 -0
- package/dist/cjs/rest/admin/2026-04/webhook.js +78 -0
- package/dist/cjs/rest/admin/2026-04/webhook.js.map +1 -0
- package/dist/cjs/runtime/crypto/utils.js +21 -4
- package/dist/cjs/runtime/crypto/utils.js.map +1 -1
- package/dist/cjs/runtime/http/cookies.js +21 -3
- package/dist/cjs/runtime/http/cookies.js.map +1 -1
- package/dist/cjs/runtime/http/index.js +2 -1
- package/dist/cjs/runtime/http/index.js.map +1 -1
- package/dist/cjs/runtime/index.js +1 -0
- package/dist/cjs/runtime/index.js.map +1 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/adapters/mock/adapter.mjs +1 -1
- package/dist/esm/adapters/node/adapter.mjs +1 -1
- package/dist/esm/lib/auth/oauth/nonce.mjs +4 -8
- package/dist/esm/lib/auth/oauth/nonce.mjs.map +1 -1
- package/dist/esm/lib/auth/oauth/safe-compare.mjs.map +1 -1
- package/dist/esm/lib/clients/admin/rest/client.mjs +1 -1
- package/dist/esm/lib/types.mjs +2 -0
- package/dist/esm/lib/types.mjs.map +1 -1
- package/dist/esm/lib/version.mjs +1 -1
- package/dist/esm/lib/version.mjs.map +1 -1
- package/dist/esm/lib/webhooks/types.mjs +1 -0
- package/dist/esm/lib/webhooks/types.mjs.map +1 -1
- package/dist/esm/lib/webhooks/validate.mjs +2 -0
- package/dist/esm/lib/webhooks/validate.mjs.map +1 -1
- package/dist/esm/rest/admin/2026-04/abandoned_checkout.mjs +83 -0
- package/dist/esm/rest/admin/2026-04/abandoned_checkout.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/access_scope.mjs +34 -0
- package/dist/esm/rest/admin/2026-04/access_scope.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/apple_pay_certificate.mjs +60 -0
- package/dist/esm/rest/admin/2026-04/apple_pay_certificate.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/application_charge.mjs +54 -0
- package/dist/esm/rest/admin/2026-04/application_charge.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/application_credit.mjs +48 -0
- package/dist/esm/rest/admin/2026-04/application_credit.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/article.mjs +112 -0
- package/dist/esm/rest/admin/2026-04/article.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/asset.mjs +55 -0
- package/dist/esm/rest/admin/2026-04/asset.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/assigned_fulfillment_order.mjs +39 -0
- package/dist/esm/rest/admin/2026-04/assigned_fulfillment_order.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/balance.mjs +32 -0
- package/dist/esm/rest/admin/2026-04/balance.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/blog.mjs +81 -0
- package/dist/esm/rest/admin/2026-04/blog.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/cancellation_request.mjs +50 -0
- package/dist/esm/rest/admin/2026-04/cancellation_request.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/carrier_service.mjs +61 -0
- package/dist/esm/rest/admin/2026-04/carrier_service.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/checkout.mjs +101 -0
- package/dist/esm/rest/admin/2026-04/checkout.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/collect.mjs +72 -0
- package/dist/esm/rest/admin/2026-04/collect.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/collection.mjs +57 -0
- package/dist/esm/rest/admin/2026-04/collection.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/collection_listing.mjs +78 -0
- package/dist/esm/rest/admin/2026-04/collection_listing.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/comment.mjs +133 -0
- package/dist/esm/rest/admin/2026-04/comment.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/country.mjs +74 -0
- package/dist/esm/rest/admin/2026-04/country.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/currency.mjs +33 -0
- package/dist/esm/rest/admin/2026-04/currency.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/custom_collection.mjs +77 -0
- package/dist/esm/rest/admin/2026-04/custom_collection.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/customer.mjs +148 -0
- package/dist/esm/rest/admin/2026-04/customer.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/deprecated_api_call.mjs +33 -0
- package/dist/esm/rest/admin/2026-04/deprecated_api_call.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/discount_code.mjs +113 -0
- package/dist/esm/rest/admin/2026-04/discount_code.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/dispute.mjs +51 -0
- package/dist/esm/rest/admin/2026-04/dispute.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/dispute_evidence.mjs +55 -0
- package/dist/esm/rest/admin/2026-04/dispute_evidence.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/dispute_file_upload.mjs +43 -0
- package/dist/esm/rest/admin/2026-04/dispute_file_upload.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/draft_order.mjs +124 -0
- package/dist/esm/rest/admin/2026-04/draft_order.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/event.mjs +65 -0
- package/dist/esm/rest/admin/2026-04/event.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/fulfillment.mjs +100 -0
- package/dist/esm/rest/admin/2026-04/fulfillment.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/fulfillment_event.mjs +77 -0
- package/dist/esm/rest/admin/2026-04/fulfillment_event.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/fulfillment_order.mjs +162 -0
- package/dist/esm/rest/admin/2026-04/fulfillment_order.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/fulfillment_request.mjs +59 -0
- package/dist/esm/rest/admin/2026-04/fulfillment_request.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/fulfillment_service.mjs +64 -0
- package/dist/esm/rest/admin/2026-04/fulfillment_service.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/gift_card.mjs +103 -0
- package/dist/esm/rest/admin/2026-04/gift_card.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/gift_card_adjustment.mjs +56 -0
- package/dist/esm/rest/admin/2026-04/gift_card_adjustment.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/image.mjs +75 -0
- package/dist/esm/rest/admin/2026-04/image.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/index.mjs +153 -0
- package/dist/esm/rest/admin/2026-04/index.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/inventory_item.mjs +52 -0
- package/dist/esm/rest/admin/2026-04/inventory_item.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/inventory_level.mjs +85 -0
- package/dist/esm/rest/admin/2026-04/inventory_level.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/location.mjs +83 -0
- package/dist/esm/rest/admin/2026-04/location.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/locations_for_move.mjs +32 -0
- package/dist/esm/rest/admin/2026-04/locations_for_move.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/marketing_event.mjs +96 -0
- package/dist/esm/rest/admin/2026-04/marketing_event.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/metafield.mjs +152 -0
- package/dist/esm/rest/admin/2026-04/metafield.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/mobile_platform_application.mjs +61 -0
- package/dist/esm/rest/admin/2026-04/mobile_platform_application.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/order.mjs +200 -0
- package/dist/esm/rest/admin/2026-04/order.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/order_risk.mjs +66 -0
- package/dist/esm/rest/admin/2026-04/order_risk.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/page.mjs +81 -0
- package/dist/esm/rest/admin/2026-04/page.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/payment.mjs +44 -0
- package/dist/esm/rest/admin/2026-04/payment.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/payment_gateway.mjs +70 -0
- package/dist/esm/rest/admin/2026-04/payment_gateway.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/payment_transaction.mjs +54 -0
- package/dist/esm/rest/admin/2026-04/payment_transaction.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/payout.mjs +45 -0
- package/dist/esm/rest/admin/2026-04/payout.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/policy.mjs +37 -0
- package/dist/esm/rest/admin/2026-04/policy.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/price_rule.mjs +95 -0
- package/dist/esm/rest/admin/2026-04/price_rule.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/product.mjs +87 -0
- package/dist/esm/rest/admin/2026-04/product.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/product_listing.mjs +97 -0
- package/dist/esm/rest/admin/2026-04/product_listing.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/product_resource_feedback.mjs +44 -0
- package/dist/esm/rest/admin/2026-04/product_resource_feedback.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/province.mjs +63 -0
- package/dist/esm/rest/admin/2026-04/province.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/recurring_application_charge.mjs +85 -0
- package/dist/esm/rest/admin/2026-04/recurring_application_charge.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/redirect.mjs +69 -0
- package/dist/esm/rest/admin/2026-04/redirect.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/refund.mjs +70 -0
- package/dist/esm/rest/admin/2026-04/refund.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/resource_feedback.mjs +39 -0
- package/dist/esm/rest/admin/2026-04/resource_feedback.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/script_tag.mjs +73 -0
- package/dist/esm/rest/admin/2026-04/script_tag.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/shipping_zone.mjs +45 -0
- package/dist/esm/rest/admin/2026-04/shipping_zone.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/shop.mjs +94 -0
- package/dist/esm/rest/admin/2026-04/shop.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/smart_collection.mjs +91 -0
- package/dist/esm/rest/admin/2026-04/smart_collection.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/storefront_access_token.mjs +48 -0
- package/dist/esm/rest/admin/2026-04/storefront_access_token.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/tender_transaction.mjs +41 -0
- package/dist/esm/rest/admin/2026-04/tender_transaction.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/theme.mjs +62 -0
- package/dist/esm/rest/admin/2026-04/theme.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/transaction.mjs +81 -0
- package/dist/esm/rest/admin/2026-04/transaction.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/usage_charge.mjs +51 -0
- package/dist/esm/rest/admin/2026-04/usage_charge.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/user.mjs +67 -0
- package/dist/esm/rest/admin/2026-04/user.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/variant.mjs +94 -0
- package/dist/esm/rest/admin/2026-04/variant.mjs.map +1 -0
- package/dist/esm/rest/admin/2026-04/webhook.mjs +76 -0
- package/dist/esm/rest/admin/2026-04/webhook.mjs.map +1 -0
- package/dist/esm/runtime/crypto/utils.mjs +21 -5
- package/dist/esm/runtime/crypto/utils.mjs.map +1 -1
- package/dist/esm/runtime/http/cookies.mjs +22 -4
- package/dist/esm/runtime/http/cookies.mjs.map +1 -1
- package/dist/esm/runtime/http/index.mjs +1 -1
- package/dist/esm/runtime/index.mjs +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/ts/lib/auth/oauth/nonce.d.ts.map +1 -1
- package/dist/ts/lib/types.d.ts +2 -0
- package/dist/ts/lib/types.d.ts.map +1 -1
- package/dist/ts/lib/version.d.ts +1 -1
- package/dist/ts/lib/webhooks/types.d.ts +2 -0
- package/dist/ts/lib/webhooks/types.d.ts.map +1 -1
- package/dist/ts/rest/admin/2026-04/abandoned_checkout.d.ts +90 -0
- package/dist/ts/rest/admin/2026-04/abandoned_checkout.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/access_scope.d.ts +30 -0
- package/dist/ts/rest/admin/2026-04/access_scope.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/apple_pay_certificate.d.ts +39 -0
- package/dist/ts/rest/admin/2026-04/apple_pay_certificate.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/application_charge.d.ts +46 -0
- package/dist/ts/rest/admin/2026-04/application_charge.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/application_credit.d.ts +40 -0
- package/dist/ts/rest/admin/2026-04/application_credit.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/article.d.ts +99 -0
- package/dist/ts/rest/admin/2026-04/article.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/asset.d.ts +49 -0
- package/dist/ts/rest/admin/2026-04/asset.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/assigned_fulfillment_order.d.ts +39 -0
- package/dist/ts/rest/admin/2026-04/assigned_fulfillment_order.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/balance.d.ts +28 -0
- package/dist/ts/rest/admin/2026-04/balance.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/blog.d.ts +60 -0
- package/dist/ts/rest/admin/2026-04/blog.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/cancellation_request.d.ts +36 -0
- package/dist/ts/rest/admin/2026-04/cancellation_request.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/carrier_service.d.ts +43 -0
- package/dist/ts/rest/admin/2026-04/carrier_service.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/checkout.d.ts +95 -0
- package/dist/ts/rest/admin/2026-04/checkout.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/collect.d.ts +51 -0
- package/dist/ts/rest/admin/2026-04/collect.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/collection.d.ts +46 -0
- package/dist/ts/rest/admin/2026-04/collection.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/collection_listing.d.ts +58 -0
- package/dist/ts/rest/admin/2026-04/collection_listing.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/comment.d.ts +103 -0
- package/dist/ts/rest/admin/2026-04/comment.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/country.d.ts +51 -0
- package/dist/ts/rest/admin/2026-04/country.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/currency.d.ts +27 -0
- package/dist/ts/rest/admin/2026-04/currency.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/custom_collection.d.ts +73 -0
- package/dist/ts/rest/admin/2026-04/custom_collection.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/customer.d.ts +121 -0
- package/dist/ts/rest/admin/2026-04/customer.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/deprecated_api_call.d.ts +29 -0
- package/dist/ts/rest/admin/2026-04/deprecated_api_call.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/discount_code.d.ts +76 -0
- package/dist/ts/rest/admin/2026-04/discount_code.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/dispute.d.ts +45 -0
- package/dist/ts/rest/admin/2026-04/dispute.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/dispute_evidence.d.ts +56 -0
- package/dist/ts/rest/admin/2026-04/dispute_evidence.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/dispute_file_upload.d.ts +35 -0
- package/dist/ts/rest/admin/2026-04/dispute_file_upload.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/draft_order.d.ts +116 -0
- package/dist/ts/rest/admin/2026-04/draft_order.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/event.d.ts +57 -0
- package/dist/ts/rest/admin/2026-04/event.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/fulfillment.d.ts +92 -0
- package/dist/ts/rest/admin/2026-04/fulfillment.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/fulfillment_event.d.ts +66 -0
- package/dist/ts/rest/admin/2026-04/fulfillment_event.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/fulfillment_order.d.ts +129 -0
- package/dist/ts/rest/admin/2026-04/fulfillment_order.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/fulfillment_request.d.ts +47 -0
- package/dist/ts/rest/admin/2026-04/fulfillment_request.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/fulfillment_service.d.ts +47 -0
- package/dist/ts/rest/admin/2026-04/fulfillment_service.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/gift_card.d.ts +83 -0
- package/dist/ts/rest/admin/2026-04/gift_card.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/gift_card_adjustment.d.ts +45 -0
- package/dist/ts/rest/admin/2026-04/gift_card_adjustment.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/image.d.ts +57 -0
- package/dist/ts/rest/admin/2026-04/image.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/index.d.ts +152 -0
- package/dist/ts/rest/admin/2026-04/index.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/inventory_item.d.ts +45 -0
- package/dist/ts/rest/admin/2026-04/inventory_item.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/inventory_level.d.ts +70 -0
- package/dist/ts/rest/admin/2026-04/inventory_level.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/location.d.ts +59 -0
- package/dist/ts/rest/admin/2026-04/location.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/locations_for_move.d.ts +29 -0
- package/dist/ts/rest/admin/2026-04/locations_for_move.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/marketing_event.d.ts +79 -0
- package/dist/ts/rest/admin/2026-04/marketing_event.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/metafield.d.ts +111 -0
- package/dist/ts/rest/admin/2026-04/metafield.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/mobile_platform_application.d.ts +43 -0
- package/dist/ts/rest/admin/2026-04/mobile_platform_application.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/order.d.ts +239 -0
- package/dist/ts/rest/admin/2026-04/order.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/order_risk.d.ts +49 -0
- package/dist/ts/rest/admin/2026-04/order_risk.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/page.d.ts +76 -0
- package/dist/ts/rest/admin/2026-04/page.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/payment.d.ts +43 -0
- package/dist/ts/rest/admin/2026-04/payment.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/payment_gateway.d.ts +52 -0
- package/dist/ts/rest/admin/2026-04/payment_gateway.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/payment_transaction.d.ts +51 -0
- package/dist/ts/rest/admin/2026-04/payment_transaction.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/payout.d.ts +41 -0
- package/dist/ts/rest/admin/2026-04/payout.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/policy.d.ts +31 -0
- package/dist/ts/rest/admin/2026-04/policy.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/price_rule.d.ts +90 -0
- package/dist/ts/rest/admin/2026-04/price_rule.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/product.d.ts +95 -0
- package/dist/ts/rest/admin/2026-04/product.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/product_listing.d.ts +73 -0
- package/dist/ts/rest/admin/2026-04/product_listing.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/product_resource_feedback.d.ts +36 -0
- package/dist/ts/rest/admin/2026-04/product_resource_feedback.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/province.d.ts +50 -0
- package/dist/ts/rest/admin/2026-04/province.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/recurring_application_charge.d.ts +65 -0
- package/dist/ts/rest/admin/2026-04/recurring_application_charge.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/redirect.d.ts +51 -0
- package/dist/ts/rest/admin/2026-04/redirect.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/refund.d.ts +73 -0
- package/dist/ts/rest/admin/2026-04/refund.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/resource_feedback.d.ts +32 -0
- package/dist/ts/rest/admin/2026-04/resource_feedback.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/script_tag.d.ts +57 -0
- package/dist/ts/rest/admin/2026-04/script_tag.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/shipping_zone.d.ts +45 -0
- package/dist/ts/rest/admin/2026-04/shipping_zone.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/shop.d.ts +82 -0
- package/dist/ts/rest/admin/2026-04/shop.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/smart_collection.d.ts +87 -0
- package/dist/ts/rest/admin/2026-04/smart_collection.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/storefront_access_token.d.ts +35 -0
- package/dist/ts/rest/admin/2026-04/storefront_access_token.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/tender_transaction.d.ts +43 -0
- package/dist/ts/rest/admin/2026-04/tender_transaction.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/theme.d.ts +46 -0
- package/dist/ts/rest/admin/2026-04/theme.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/transaction.d.ts +82 -0
- package/dist/ts/rest/admin/2026-04/transaction.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/usage_charge.d.ts +44 -0
- package/dist/ts/rest/admin/2026-04/usage_charge.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/user.d.ts +51 -0
- package/dist/ts/rest/admin/2026-04/user.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/variant.d.ts +78 -0
- package/dist/ts/rest/admin/2026-04/variant.d.ts.map +1 -0
- package/dist/ts/rest/admin/2026-04/webhook.d.ts +62 -0
- package/dist/ts/rest/admin/2026-04/webhook.d.ts.map +1 -0
- package/dist/ts/runtime/crypto/utils.d.ts +6 -3
- package/dist/ts/runtime/crypto/utils.d.ts.map +1 -1
- package/dist/ts/runtime/http/cookies.d.ts.map +1 -1
- package/dist/ts/tsconfig.build.tsbuildinfo +1 -1
- package/lib/auth/oauth/nonce.ts +3 -11
- package/lib/auth/oauth/safe-compare.ts +4 -1
- package/lib/types.ts +2 -0
- package/lib/version.ts +1 -1
- package/lib/webhooks/types.ts +2 -0
- package/lib/webhooks/validate.ts +6 -0
- package/package.json +6 -6
- package/rest/admin/2026-04/abandoned_checkout.ts +112 -0
- package/rest/admin/2026-04/access_scope.ts +48 -0
- package/rest/admin/2026-04/apple_pay_certificate.ts +97 -0
- package/rest/admin/2026-04/application_charge.ts +85 -0
- package/rest/admin/2026-04/application_credit.ts +77 -0
- package/rest/admin/2026-04/article.ts +237 -0
- package/rest/admin/2026-04/asset.ts +88 -0
- package/rest/admin/2026-04/assigned_fulfillment_order.ts +57 -0
- package/rest/admin/2026-04/balance.ts +46 -0
- package/rest/admin/2026-04/blog.ts +138 -0
- package/rest/admin/2026-04/cancellation_request.ts +78 -0
- package/rest/admin/2026-04/carrier_service.ts +96 -0
- package/rest/admin/2026-04/checkout.ts +139 -0
- package/rest/admin/2026-04/collect.ts +126 -0
- package/rest/admin/2026-04/collection.ts +88 -0
- package/rest/admin/2026-04/collection_listing.ts +131 -0
- package/rest/admin/2026-04/comment.ts +263 -0
- package/rest/admin/2026-04/country.ts +127 -0
- package/rest/admin/2026-04/currency.ts +47 -0
- package/rest/admin/2026-04/custom_collection.ts +163 -0
- package/rest/admin/2026-04/customer.ts +277 -0
- package/rest/admin/2026-04/deprecated_api_call.ts +47 -0
- package/rest/admin/2026-04/discount_code.ts +212 -0
- package/rest/admin/2026-04/dispute.ts +83 -0
- package/rest/admin/2026-04/dispute_evidence.ts +69 -0
- package/rest/admin/2026-04/dispute_file_upload.ts +59 -0
- package/rest/admin/2026-04/draft_order.ts +221 -0
- package/rest/admin/2026-04/event.ts +124 -0
- package/rest/admin/2026-04/fulfillment.ts +193 -0
- package/rest/admin/2026-04/fulfillment_event.ts +129 -0
- package/rest/admin/2026-04/fulfillment_order.ts +296 -0
- package/rest/admin/2026-04/fulfillment_request.ts +91 -0
- package/rest/admin/2026-04/fulfillment_service.ts +101 -0
- package/rest/admin/2026-04/gift_card.ts +187 -0
- package/rest/admin/2026-04/gift_card_adjustment.ts +86 -0
- package/rest/admin/2026-04/image.ts +137 -0
- package/rest/admin/2026-04/index.ts +228 -0
- package/rest/admin/2026-04/inventory_item.ts +80 -0
- package/rest/admin/2026-04/inventory_level.ts +173 -0
- package/rest/admin/2026-04/location.ts +133 -0
- package/rest/admin/2026-04/locations_for_move.ts +48 -0
- package/rest/admin/2026-04/marketing_event.ts +175 -0
- package/rest/admin/2026-04/metafield.ts +300 -0
- package/rest/admin/2026-04/mobile_platform_application.ts +96 -0
- package/rest/admin/2026-04/order.ts +338 -0
- package/rest/admin/2026-04/order_risk.ts +109 -0
- package/rest/admin/2026-04/page.ts +170 -0
- package/rest/admin/2026-04/payment.ts +60 -0
- package/rest/admin/2026-04/payment_gateway.ts +105 -0
- package/rest/admin/2026-04/payment_transaction.ts +79 -0
- package/rest/admin/2026-04/payout.ts +81 -0
- package/rest/admin/2026-04/policy.ts +51 -0
- package/rest/admin/2026-04/price_rule.ts +163 -0
- package/rest/admin/2026-04/product.ts +192 -0
- package/rest/admin/2026-04/product_listing.ts +167 -0
- package/rest/admin/2026-04/product_resource_feedback.ts +62 -0
- package/rest/admin/2026-04/province.ts +110 -0
- package/rest/admin/2026-04/recurring_application_charge.ts +138 -0
- package/rest/admin/2026-04/redirect.ts +131 -0
- package/rest/admin/2026-04/refund.ts +126 -0
- package/rest/admin/2026-04/resource_feedback.ts +53 -0
- package/rest/admin/2026-04/script_tag.ts +139 -0
- package/rest/admin/2026-04/shipping_zone.ts +62 -0
- package/rest/admin/2026-04/shop.ts +118 -0
- package/rest/admin/2026-04/smart_collection.ts +192 -0
- package/rest/admin/2026-04/storefront_access_token.ts +73 -0
- package/rest/admin/2026-04/tender_transaction.ts +67 -0
- package/rest/admin/2026-04/theme.ts +101 -0
- package/rest/admin/2026-04/transaction.ts +132 -0
- package/rest/admin/2026-04/usage_charge.ts +84 -0
- package/rest/admin/2026-04/user.ts +106 -0
- package/rest/admin/2026-04/variant.ts +156 -0
- package/rest/admin/2026-04/webhook.ts +146 -0
- package/runtime/crypto/utils.ts +44 -10
- package/runtime/http/cookies.ts +35 -4
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('../../../runtime/crypto/types.js');
|
|
4
|
+
var utils = require('../../../runtime/crypto/utils.js');
|
|
5
|
+
|
|
3
6
|
function nonce() {
|
|
4
|
-
|
|
5
|
-
const bytes = crypto.getRandomValues(new Uint8Array(length));
|
|
6
|
-
const nonce = bytes
|
|
7
|
-
.map((byte) => {
|
|
8
|
-
return byte % 10;
|
|
9
|
-
})
|
|
10
|
-
.join('');
|
|
11
|
-
return nonce;
|
|
7
|
+
return utils.asHex(crypto.getRandomValues(new Uint8Array(32)));
|
|
12
8
|
}
|
|
13
9
|
|
|
14
10
|
exports.nonce = nonce;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nonce.js","sources":["../../../../../../../lib/auth/oauth/nonce.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"nonce.js","sources":["../../../../../../../lib/auth/oauth/nonce.ts"],"sourcesContent":["import {asHex} from '../../../runtime/crypto';\n\nexport type Nonce = () => string;\n\nexport function nonce(): string {\n return asHex(crypto.getRandomValues(new Uint8Array(32)));\n}\n"],"names":["asHex"],"mappings":";;;;;SAIgB,KAAK,GAAA;AACnB,IAAA,OAAOA,WAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-compare.js","sources":["../../../../../../../lib/auth/oauth/safe-compare.ts"],"sourcesContent":["import * as ShopifyErrors from '../../error';\n\nexport type SafeCompare = (\n strA: string | Record<string, string> | string[] | number[],\n strB: string | Record<string, string> | string[] | number[],\n) => boolean;\n\nexport const safeCompare: SafeCompare = (strA, strB) => {\n if (typeof strA === typeof strB) {\n const enc = new TextEncoder();\n const buffA = enc.encode(JSON.stringify(strA));\n const buffB = enc.encode(JSON.stringify(strB));\n\n if (buffA.length === buffB.length) {\n return timingSafeEqual(buffA, buffB);\n }\n } else {\n throw new ShopifyErrors.SafeCompareError(\n `Mismatched data types provided: ${typeof strA} and ${typeof strB}`,\n );\n }\n return false;\n};\n\n// Buffer must be same length for this function to be secure.\nfunction timingSafeEqual(bufA: ArrayBuffer
|
|
1
|
+
{"version":3,"file":"safe-compare.js","sources":["../../../../../../../lib/auth/oauth/safe-compare.ts"],"sourcesContent":["import * as ShopifyErrors from '../../error';\n\nexport type SafeCompare = (\n strA: string | Record<string, string> | string[] | number[],\n strB: string | Record<string, string> | string[] | number[],\n) => boolean;\n\nexport const safeCompare: SafeCompare = (strA, strB) => {\n if (typeof strA === typeof strB) {\n const enc = new TextEncoder();\n const buffA = enc.encode(JSON.stringify(strA));\n const buffB = enc.encode(JSON.stringify(strB));\n\n if (buffA.length === buffB.length) {\n return timingSafeEqual(buffA, buffB);\n }\n } else {\n throw new ShopifyErrors.SafeCompareError(\n `Mismatched data types provided: ${typeof strA} and ${typeof strB}`,\n );\n }\n return false;\n};\n\n// Buffer must be same length for this function to be secure.\nfunction timingSafeEqual(\n bufA: ArrayBuffer | Uint8Array,\n bufB: ArrayBuffer | Uint8Array,\n): boolean {\n const viewA = new Uint8Array(bufA);\n const viewB = new Uint8Array(bufB);\n let out = 0;\n for (let i = 0; i < viewA.length; i++) {\n out |= viewA[i] ^ viewB[i];\n }\n return out === 0;\n}\n"],"names":["ShopifyErrors.SafeCompareError"],"mappings":";;;;MAOa,WAAW,GAAgB,CAAC,IAAI,EAAE,IAAI,KAAI;AACrD,IAAA,IAAI,OAAO,IAAI,KAAK,OAAO,IAAI,EAAE;AAC/B,QAAA,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE;AAC7B,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9C,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AACjC,YAAA,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC;QACtC;IACF;SAAO;AACL,QAAA,MAAM,IAAIA,sBAA8B,CACtC,CAAA,gCAAA,EAAmC,OAAO,IAAI,CAAA,KAAA,EAAQ,OAAO,IAAI,CAAA,CAAE,CACpE;IACH;AACA,IAAA,OAAO,KAAK;AACd;AAEA;AACA,SAAS,eAAe,CACtB,IAA8B,EAC9B,IAA8B,EAAA;AAE9B,IAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC;AAClC,IAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC;AACX,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC5B;IACA,OAAO,GAAG,KAAK,CAAC;AAClB;;;;"}
|
|
@@ -6,9 +6,9 @@ var common = require('../../common.js');
|
|
|
6
6
|
var error = require('../../../error.js');
|
|
7
7
|
var index = require('../../../logger/index.js');
|
|
8
8
|
var types = require('../../../types.js');
|
|
9
|
+
var index$1 = require('../../../../runtime/http/index.js');
|
|
9
10
|
var utils = require('../../../../runtime/crypto/utils.js');
|
|
10
11
|
var types$1 = require('../../../../runtime/crypto/types.js');
|
|
11
|
-
var index$1 = require('../../../../runtime/http/index.js');
|
|
12
12
|
var headers = require('../../../../runtime/http/headers.js');
|
|
13
13
|
|
|
14
14
|
function _interopNamespaceDefault(e) {
|
package/dist/cjs/lib/types.js
CHANGED
|
@@ -16,6 +16,7 @@ exports.ApiVersion = void 0;
|
|
|
16
16
|
ApiVersion["October25"] = "2025-10";
|
|
17
17
|
ApiVersion["January26"] = "2026-01";
|
|
18
18
|
ApiVersion["April26"] = "2026-04";
|
|
19
|
+
ApiVersion["July26"] = "2026-07";
|
|
19
20
|
ApiVersion["Unstable"] = "unstable";
|
|
20
21
|
})(exports.ApiVersion || (exports.ApiVersion = {}));
|
|
21
22
|
const LIBRARY_NAME = 'Shopify API Library';
|
|
@@ -43,6 +44,7 @@ const ShopifyEventsHeader = {
|
|
|
43
44
|
Domain: 'shopify-shop-domain',
|
|
44
45
|
ApiVersion: 'shopify-api-version',
|
|
45
46
|
EventId: 'shopify-event-id',
|
|
47
|
+
WebhookId: 'shopify-webhook-id',
|
|
46
48
|
Handle: 'shopify-handle',
|
|
47
49
|
Action: 'shopify-action',
|
|
48
50
|
ResourceId: 'shopify-resource-id',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../lib/types.ts"],"sourcesContent":["export enum LogSeverity {\n Error,\n Warning,\n Info,\n Debug,\n}\n\nexport enum ApiVersion {\n October24 = '2024-10',\n January25 = '2025-01',\n April25 = '2025-04',\n July25 = '2025-07',\n October25 = '2025-10',\n January26 = '2026-01',\n April26 = '2026-04',\n Unstable = 'unstable',\n}\n\nexport const LIBRARY_NAME = 'Shopify API Library';\n\n/* eslint-disable @shopify/typescript-prefer-pascal-case-enums */\nexport enum ShopifyHeader {\n AccessToken = 'X-Shopify-Access-Token',\n ApiVersion = 'X-Shopify-API-Version',\n Domain = 'X-Shopify-Shop-Domain',\n Hmac = 'X-Shopify-Hmac-Sha256',\n Topic = 'X-Shopify-Topic',\n SubTopic = 'X-Shopify-Sub-Topic',\n WebhookId = 'X-Shopify-Webhook-Id',\n Name = 'X-Shopify-Name',\n TriggeredAt = 'X-Shopify-Triggered-At',\n EventId = 'X-Shopify-Event-Id',\n StorefrontPrivateToken = 'Shopify-Storefront-Private-Token',\n StorefrontSDKVariant = 'X-SDK-Variant',\n StorefrontSDKVersion = 'X-SDK-Version',\n}\n/* eslint-enable @shopify/typescript-prefer-pascal-case-enums */\n\nexport const ShopifyEventsHeader = {\n Hmac: 'shopify-hmac-sha256',\n Topic: 'shopify-topic',\n Domain: 'shopify-shop-domain',\n ApiVersion: 'shopify-api-version',\n EventId: 'shopify-event-id',\n Handle: 'shopify-handle',\n Action: 'shopify-action',\n ResourceId: 'shopify-resource-id',\n TriggeredAt: 'shopify-triggered-at',\n} as const;\n\nexport enum ClientType {\n Rest = 'rest',\n Graphql = 'graphql',\n}\n\nexport const privacyTopics: string[] = [\n 'CUSTOMERS_DATA_REQUEST',\n 'CUSTOMERS_REDACT',\n 'SHOP_REDACT',\n];\n\nexport enum BillingInterval {\n OneTime = 'ONE_TIME',\n Every30Days = 'EVERY_30_DAYS',\n Annual = 'ANNUAL',\n Usage = 'USAGE',\n}\n\nexport type RecurringBillingIntervals = Exclude<\n BillingInterval,\n BillingInterval.OneTime\n>;\n\nexport enum BillingReplacementBehavior {\n ApplyImmediately = 'APPLY_IMMEDIATELY',\n ApplyOnNextBillingCycle = 'APPLY_ON_NEXT_BILLING_CYCLE',\n Standard = 'STANDARD',\n}\n\nexport enum StatusCode {\n Continue = 100,\n SwitchingProtocols = 101,\n Ok = 200,\n Created = 201,\n Accepted = 202,\n NonAuthoritativeInformation = 203,\n NoContent = 204,\n ResetContent = 205,\n PartialContent = 206,\n MultipleChoices = 300,\n MovedPermanently = 301,\n Found = 302,\n SeeOther = 303,\n NotModified = 304,\n UseProxy = 305,\n TemporaryRedirect = 307,\n BadRequest = 400,\n Unauthorized = 401,\n PaymentRequired = 402,\n Forbidden = 403,\n NotFound = 404,\n MethodNotAllowed = 405,\n NotAcceptable = 406,\n ProxyAuthenticationRequired = 407,\n RequestTimeout = 408,\n Conflict = 409,\n Gone = 410,\n LengthRequired = 411,\n PreconditionFailed = 412,\n RequestEntityTooLarge = 413,\n RequestUriTooLong = 414,\n UnsupportedMediaType = 415,\n RequestedRangeNotSatisfiable = 416,\n ExpectationFailed = 417,\n ImATeapot = 418,\n UnprocessableEntity = 422,\n TooManyRequests = 429,\n InternalServerError = 500,\n NotImplemented = 501,\n BadGateway = 502,\n ServiceUnavailable = 503,\n GatewayTimeout = 504,\n HttpVersionNotSupported = 505,\n}\n\nexport enum Method {\n Get = 'GET',\n Post = 'POST',\n Put = 'PUT',\n Patch = 'PATCH',\n Delete = 'DELETE',\n Head = 'HEAD',\n Options = 'OPTIONS',\n Connect = 'CONNECT',\n}\n\n/**\n * Configuration for transforming shop domains in split-domain architectures.\n *\n * @example\n * // Template-based transformation\n * {\n * match: /^([a-zA-Z0-9][a-zA-Z0-9-_]*)\\.my\\.shop\\.dev$/,\n * transform: '$1.dev-api.shop.dev'\n * }\n *\n * @example\n * // Function-based transformation\n * {\n * match: /^([^.]+)\\.ui\\.example\\.com$/,\n * transform: (matches) => `${matches[1]}.api.example.com`\n * }\n */\nexport interface DomainTransformation {\n /**\n * Pattern to match against shop domains (source domain).\n * Can be a RegExp or string (converted to RegExp internally).\n */\n match: RegExp | string;\n\n /**\n * Transformation function or template string.\n * - Template string: Uses $1, $2, etc. for capture group substitution\n * - Function: Receives regex match groups and returns transformed domain\n */\n transform: ((matches: RegExpMatchArray) => string | null) | string;\n\n /**\n * Whether this transformation should also apply to host validation.\n * @default true\n */\n includeHost?: boolean;\n}\n"],"names":["LogSeverity","ApiVersion","ShopifyHeader","ClientType","BillingInterval","BillingReplacementBehavior","StatusCode","Method"],"mappings":";;AAAYA;AAAZ,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,WAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,WAAA,CAAA,WAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACP,IAAA,WAAA,CAAA,WAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACJ,IAAA,WAAA,CAAA,WAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACP,CAAC,EALWA,mBAAW,KAAXA,mBAAW,GAAA,EAAA,CAAA,CAAA;AAOXC;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,SAAkB;AAClB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EATWA,kBAAU,KAAVA,kBAAU,GAAA,EAAA,CAAA,CAAA;AAWf,MAAM,YAAY,GAAG;AAE5B;AACYC;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC;AACtC,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,uBAAoC;AACpC,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,uBAAgC;AAChC,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,uBAA8B;AAC9B,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,iBAAyB;AACzB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qBAAgC;AAChC,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,sBAAkC;AAClC,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,gBAAuB;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC;AACtC,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,oBAA8B;AAC9B,IAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,kCAA2D;AAC3D,IAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,eAAsC;AACtC,IAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,eAAsC;AACxC,CAAC,EAdWA,qBAAa,KAAbA,qBAAa,GAAA,EAAA,CAAA,CAAA;AAezB;AAEO,MAAM,mBAAmB,GAAG;AACjC,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,KAAK,EAAE,eAAe;AACtB,IAAA,MAAM,EAAE,qBAAqB;AAC7B,IAAA,UAAU,EAAE,qBAAqB;AACjC,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,MAAM,EAAE,gBAAgB;AACxB,IAAA,MAAM,EAAE,gBAAgB;AACxB,IAAA,UAAU,EAAE,qBAAqB;AACjC,IAAA,WAAW,EAAE,sBAAsB;;AAGzBC;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAHWA,kBAAU,KAAVA,kBAAU,GAAA,EAAA,CAAA,CAAA;AAKf,MAAM,aAAa,GAAa;IACrC,wBAAwB;IACxB,kBAAkB;IAClB,aAAa;;AAGHC;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,UAAoB;AACpB,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,eAA6B;AAC7B,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EALWA,uBAAe,KAAfA,uBAAe,GAAA,EAAA,CAAA,CAAA;AAYfC;AAAZ,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC;AACtC,IAAA,0BAAA,CAAA,yBAAA,CAAA,GAAA,6BAAuD;AACvD,IAAA,0BAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EAJWA,kCAA0B,KAA1BA,kCAA0B,GAAA,EAAA,CAAA,CAAA;AAM1BC;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,UAAA,CAAA,UAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,6BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,6BAAiC;AACjC,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAsB;AACtB,IAAA,UAAA,CAAA,UAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,UAAA,CAAA,UAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAsB;AACtB,IAAA,UAAA,CAAA,UAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAmB;AACnB,IAAA,UAAA,CAAA,UAAA,CAAA,6BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,6BAAiC;AACjC,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,uBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,uBAA2B;AAC3B,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC1B,IAAA,UAAA,CAAA,UAAA,CAAA,8BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,8BAAkC;AAClC,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AACzB,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AACzB,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,yBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,yBAA6B;AAC/B,CAAC,EA5CWA,kBAAU,KAAVA,kBAAU,GAAA,EAAA,CAAA,CAAA;AA8CVC;AAAZ,CAAA,UAAY,MAAM,EAAA;AAChB,IAAA,MAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,MAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EATWA,cAAM,KAANA,cAAM,GAAA,EAAA,CAAA,CAAA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../lib/types.ts"],"sourcesContent":["export enum LogSeverity {\n Error,\n Warning,\n Info,\n Debug,\n}\n\nexport enum ApiVersion {\n October24 = '2024-10',\n January25 = '2025-01',\n April25 = '2025-04',\n July25 = '2025-07',\n October25 = '2025-10',\n January26 = '2026-01',\n April26 = '2026-04',\n July26 = '2026-07',\n Unstable = 'unstable',\n}\n\nexport const LIBRARY_NAME = 'Shopify API Library';\n\n/* eslint-disable @shopify/typescript-prefer-pascal-case-enums */\nexport enum ShopifyHeader {\n AccessToken = 'X-Shopify-Access-Token',\n ApiVersion = 'X-Shopify-API-Version',\n Domain = 'X-Shopify-Shop-Domain',\n Hmac = 'X-Shopify-Hmac-Sha256',\n Topic = 'X-Shopify-Topic',\n SubTopic = 'X-Shopify-Sub-Topic',\n WebhookId = 'X-Shopify-Webhook-Id',\n Name = 'X-Shopify-Name',\n TriggeredAt = 'X-Shopify-Triggered-At',\n EventId = 'X-Shopify-Event-Id',\n StorefrontPrivateToken = 'Shopify-Storefront-Private-Token',\n StorefrontSDKVariant = 'X-SDK-Variant',\n StorefrontSDKVersion = 'X-SDK-Version',\n}\n/* eslint-enable @shopify/typescript-prefer-pascal-case-enums */\n\nexport const ShopifyEventsHeader = {\n Hmac: 'shopify-hmac-sha256',\n Topic: 'shopify-topic',\n Domain: 'shopify-shop-domain',\n ApiVersion: 'shopify-api-version',\n EventId: 'shopify-event-id',\n WebhookId: 'shopify-webhook-id',\n Handle: 'shopify-handle',\n Action: 'shopify-action',\n ResourceId: 'shopify-resource-id',\n TriggeredAt: 'shopify-triggered-at',\n} as const;\n\nexport enum ClientType {\n Rest = 'rest',\n Graphql = 'graphql',\n}\n\nexport const privacyTopics: string[] = [\n 'CUSTOMERS_DATA_REQUEST',\n 'CUSTOMERS_REDACT',\n 'SHOP_REDACT',\n];\n\nexport enum BillingInterval {\n OneTime = 'ONE_TIME',\n Every30Days = 'EVERY_30_DAYS',\n Annual = 'ANNUAL',\n Usage = 'USAGE',\n}\n\nexport type RecurringBillingIntervals = Exclude<\n BillingInterval,\n BillingInterval.OneTime\n>;\n\nexport enum BillingReplacementBehavior {\n ApplyImmediately = 'APPLY_IMMEDIATELY',\n ApplyOnNextBillingCycle = 'APPLY_ON_NEXT_BILLING_CYCLE',\n Standard = 'STANDARD',\n}\n\nexport enum StatusCode {\n Continue = 100,\n SwitchingProtocols = 101,\n Ok = 200,\n Created = 201,\n Accepted = 202,\n NonAuthoritativeInformation = 203,\n NoContent = 204,\n ResetContent = 205,\n PartialContent = 206,\n MultipleChoices = 300,\n MovedPermanently = 301,\n Found = 302,\n SeeOther = 303,\n NotModified = 304,\n UseProxy = 305,\n TemporaryRedirect = 307,\n BadRequest = 400,\n Unauthorized = 401,\n PaymentRequired = 402,\n Forbidden = 403,\n NotFound = 404,\n MethodNotAllowed = 405,\n NotAcceptable = 406,\n ProxyAuthenticationRequired = 407,\n RequestTimeout = 408,\n Conflict = 409,\n Gone = 410,\n LengthRequired = 411,\n PreconditionFailed = 412,\n RequestEntityTooLarge = 413,\n RequestUriTooLong = 414,\n UnsupportedMediaType = 415,\n RequestedRangeNotSatisfiable = 416,\n ExpectationFailed = 417,\n ImATeapot = 418,\n UnprocessableEntity = 422,\n TooManyRequests = 429,\n InternalServerError = 500,\n NotImplemented = 501,\n BadGateway = 502,\n ServiceUnavailable = 503,\n GatewayTimeout = 504,\n HttpVersionNotSupported = 505,\n}\n\nexport enum Method {\n Get = 'GET',\n Post = 'POST',\n Put = 'PUT',\n Patch = 'PATCH',\n Delete = 'DELETE',\n Head = 'HEAD',\n Options = 'OPTIONS',\n Connect = 'CONNECT',\n}\n\n/**\n * Configuration for transforming shop domains in split-domain architectures.\n *\n * @example\n * // Template-based transformation\n * {\n * match: /^([a-zA-Z0-9][a-zA-Z0-9-_]*)\\.my\\.shop\\.dev$/,\n * transform: '$1.dev-api.shop.dev'\n * }\n *\n * @example\n * // Function-based transformation\n * {\n * match: /^([^.]+)\\.ui\\.example\\.com$/,\n * transform: (matches) => `${matches[1]}.api.example.com`\n * }\n */\nexport interface DomainTransformation {\n /**\n * Pattern to match against shop domains (source domain).\n * Can be a RegExp or string (converted to RegExp internally).\n */\n match: RegExp | string;\n\n /**\n * Transformation function or template string.\n * - Template string: Uses $1, $2, etc. for capture group substitution\n * - Function: Receives regex match groups and returns transformed domain\n */\n transform: ((matches: RegExpMatchArray) => string | null) | string;\n\n /**\n * Whether this transformation should also apply to host validation.\n * @default true\n */\n includeHost?: boolean;\n}\n"],"names":["LogSeverity","ApiVersion","ShopifyHeader","ClientType","BillingInterval","BillingReplacementBehavior","StatusCode","Method"],"mappings":";;AAAYA;AAAZ,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,WAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,WAAA,CAAA,WAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACP,IAAA,WAAA,CAAA,WAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACJ,IAAA,WAAA,CAAA,WAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACP,CAAC,EALWA,mBAAW,KAAXA,mBAAW,GAAA,EAAA,CAAA,CAAA;AAOXC;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,SAAkB;AAClB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,SAAkB;AAClB,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EAVWA,kBAAU,KAAVA,kBAAU,GAAA,EAAA,CAAA,CAAA;AAYf,MAAM,YAAY,GAAG;AAE5B;AACYC;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC;AACtC,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,uBAAoC;AACpC,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,uBAAgC;AAChC,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,uBAA8B;AAC9B,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,iBAAyB;AACzB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,qBAAgC;AAChC,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,sBAAkC;AAClC,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,gBAAuB;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC;AACtC,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,oBAA8B;AAC9B,IAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,kCAA2D;AAC3D,IAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,eAAsC;AACtC,IAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,eAAsC;AACxC,CAAC,EAdWA,qBAAa,KAAbA,qBAAa,GAAA,EAAA,CAAA,CAAA;AAezB;AAEO,MAAM,mBAAmB,GAAG;AACjC,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,KAAK,EAAE,eAAe;AACtB,IAAA,MAAM,EAAE,qBAAqB;AAC7B,IAAA,UAAU,EAAE,qBAAqB;AACjC,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,SAAS,EAAE,oBAAoB;AAC/B,IAAA,MAAM,EAAE,gBAAgB;AACxB,IAAA,MAAM,EAAE,gBAAgB;AACxB,IAAA,UAAU,EAAE,qBAAqB;AACjC,IAAA,WAAW,EAAE,sBAAsB;;AAGzBC;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAHWA,kBAAU,KAAVA,kBAAU,GAAA,EAAA,CAAA,CAAA;AAKf,MAAM,aAAa,GAAa;IACrC,wBAAwB;IACxB,kBAAkB;IAClB,aAAa;;AAGHC;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,UAAoB;AACpB,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,eAA6B;AAC7B,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EALWA,uBAAe,KAAfA,uBAAe,GAAA,EAAA,CAAA,CAAA;AAYfC;AAAZ,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC;AACtC,IAAA,0BAAA,CAAA,yBAAA,CAAA,GAAA,6BAAuD;AACvD,IAAA,0BAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EAJWA,kCAA0B,KAA1BA,kCAA0B,GAAA,EAAA,CAAA,CAAA;AAM1BC;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,UAAA,CAAA,UAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,6BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,6BAAiC;AACjC,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAsB;AACtB,IAAA,UAAA,CAAA,UAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,UAAA,CAAA,UAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAsB;AACtB,IAAA,UAAA,CAAA,UAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAmB;AACnB,IAAA,UAAA,CAAA,UAAA,CAAA,6BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,6BAAiC;AACjC,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,uBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,uBAA2B;AAC3B,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC1B,IAAA,UAAA,CAAA,UAAA,CAAA,8BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,8BAAkC;AAClC,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AACzB,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AACzB,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,yBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,yBAA6B;AAC/B,CAAC,EA5CWA,kBAAU,KAAVA,kBAAU,GAAA,EAAA,CAAA,CAAA;AA8CVC;AAAZ,CAAA,UAAY,MAAM,EAAA;AAChB,IAAA,MAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,MAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EATWA,cAAM,KAANA,cAAM,GAAA,EAAA,CAAA,CAAA;;;;;;"}
|
package/dist/cjs/lib/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sources":["../../../../../lib/version.ts"],"sourcesContent":["export const SHOPIFY_API_LIBRARY_VERSION = '13.
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../../../../../lib/version.ts"],"sourcesContent":["export const SHOPIFY_API_LIBRARY_VERSION = '13.1.0';\n"],"names":[],"mappings":";;AAAO,MAAM,2BAA2B,GAAG;;;;"}
|
|
@@ -24,6 +24,7 @@ const WEBHOOK_HEADER_NAMES = {
|
|
|
24
24
|
topic: types.ShopifyEventsHeader.Topic,
|
|
25
25
|
domain: types.ShopifyEventsHeader.Domain,
|
|
26
26
|
apiVersion: types.ShopifyEventsHeader.ApiVersion,
|
|
27
|
+
webhookId: types.ShopifyEventsHeader.WebhookId,
|
|
27
28
|
eventId: types.ShopifyEventsHeader.EventId,
|
|
28
29
|
handle: types.ShopifyEventsHeader.Handle,
|
|
29
30
|
action: types.ShopifyEventsHeader.Action,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../../lib/webhooks/types.ts"],"sourcesContent":["import {ValidationErrorReason, ValidationInvalid} from '../utils/types';\nimport {AdapterArgs} from '../../runtime/types';\nimport {Session} from '../session/session';\nimport {ShopifyEventsHeader, ShopifyHeader} from '../types';\n\nexport const WebhookType = {\n Webhooks: 'webhooks',\n Events: 'events',\n} as const;\n\nexport type WebhookTypeValue = (typeof WebhookType)[keyof typeof WebhookType];\n\nexport const WEBHOOK_HEADER_NAMES = {\n [WebhookType.Webhooks]: {\n hmac: ShopifyHeader.Hmac,\n topic: ShopifyHeader.Topic,\n domain: ShopifyHeader.Domain,\n apiVersion: ShopifyHeader.ApiVersion,\n webhookId: ShopifyHeader.WebhookId,\n subTopic: ShopifyHeader.SubTopic,\n name: ShopifyHeader.Name,\n triggeredAt: ShopifyHeader.TriggeredAt,\n eventId: ShopifyHeader.EventId,\n },\n [WebhookType.Events]: {\n hmac: ShopifyEventsHeader.Hmac,\n topic: ShopifyEventsHeader.Topic,\n domain: ShopifyEventsHeader.Domain,\n apiVersion: ShopifyEventsHeader.ApiVersion,\n eventId: ShopifyEventsHeader.EventId,\n handle: ShopifyEventsHeader.Handle,\n action: ShopifyEventsHeader.Action,\n resourceId: ShopifyEventsHeader.ResourceId,\n triggeredAt: ShopifyEventsHeader.TriggeredAt,\n },\n} as const;\n\nexport enum DeliveryMethod {\n Http = 'http',\n EventBridge = 'eventbridge',\n PubSub = 'pubsub',\n}\n\nexport type WebhookHandlerFunction = (\n topic: string,\n shop_domain: string,\n body: string,\n webhookId: string,\n apiVersion?: string,\n subTopic?: string,\n context?: any,\n) => Promise<void>;\n\ninterface BaseWebhookHandler {\n id?: string;\n includeFields?: string[];\n metafieldNamespaces?: string[];\n subTopic?: string;\n context?: any;\n}\n\nexport interface HttpWebhookHandler extends BaseWebhookHandler {\n deliveryMethod: DeliveryMethod.Http;\n callbackUrl: string;\n}\n\nexport interface HttpWebhookHandlerWithCallback extends HttpWebhookHandler {\n callback: WebhookHandlerFunction;\n}\n\nexport interface EventBridgeWebhookHandler extends BaseWebhookHandler {\n deliveryMethod: DeliveryMethod.EventBridge;\n arn: string;\n}\n\nexport interface PubSubWebhookHandler extends BaseWebhookHandler {\n deliveryMethod: DeliveryMethod.PubSub;\n pubSubProject: string;\n pubSubTopic: string;\n}\n\nexport type WebhookHandler =\n | HttpWebhookHandler\n | HttpWebhookHandlerWithCallback\n | EventBridgeWebhookHandler\n | PubSubWebhookHandler;\n\n// See https://shopify.dev/docs/api/admin-graphql/latest/enums/webhooksubscriptiontopic for available topics\nexport type WebhookRegistry<Handler extends WebhookHandler = WebhookHandler> =\n Record<string, Handler[]>;\n\n// eslint-disable-next-line no-warning-comments\n// TODO Rethink the wording for this enum - the operations we're doing are actually \"subscribing\" and \"unsubscribing\"\n// Consider changing the values when releasing v12.0.0 when it can be safely deprecated\nexport enum WebhookOperation {\n Create = 'create',\n Update = 'update',\n Delete = 'delete',\n}\n\nexport interface RegisterParams {\n session: Session;\n}\n\nexport interface RegisterResult {\n success: boolean;\n deliveryMethod: DeliveryMethod;\n result: unknown;\n operation: WebhookOperation;\n}\n\nexport type RegisterReturn = Record<string, RegisterResult[]>;\n\ninterface WebhookHttpEndpoint {\n __typename: 'WebhookHttpEndpoint';\n callbackUrl: string;\n}\ninterface WebhookEventBridgeEndpoint {\n __typename: 'WebhookEventBridgeEndpoint';\n arn: string;\n}\ninterface WebhookPubSubEndpoint {\n __typename: 'WebhookPubSubEndpoint';\n pubSubProject: string;\n pubSubTopic: string;\n}\n\ntype WebhookEndpoint =\n | WebhookHttpEndpoint\n | WebhookEventBridgeEndpoint\n | WebhookPubSubEndpoint;\n\nexport interface WebhookCheckResponseNode<\n T = {\n endpoint: WebhookEndpoint;\n },\n> {\n node: {\n id: string;\n topic: string;\n includeFields: string[];\n metafieldNamespaces: string[];\n } & T;\n}\n\nexport interface WebhookCheckResponse<T = WebhookCheckResponseNode> {\n webhookSubscriptions: {\n edges: T[];\n pageInfo: {\n endCursor: string;\n hasNextPage: boolean;\n };\n };\n}\n\nexport type AddHandlersParams = Record<\n string,\n WebhookHandler | WebhookHandler[]\n>;\n\nexport interface WebhookProcessParams extends AdapterArgs {\n rawBody: string;\n context?: any;\n}\n\nexport interface WebhookValidateParams extends WebhookProcessParams {}\n\nexport const WebhookValidationErrorReason = {\n ...ValidationErrorReason,\n MissingHeaders: 'missing_headers',\n} as const;\n\nexport type WebhookValidationErrorReasonType =\n (typeof WebhookValidationErrorReason)[keyof typeof WebhookValidationErrorReason];\n\ninterface BaseWebhookFields {\n apiVersion: string;\n domain: string;\n hmac: string;\n topic: string;\n triggeredAt?: string;\n}\n\nexport interface WebhooksWebhookFields extends BaseWebhookFields {\n webhookType: typeof WebhookType.Webhooks;\n webhookId: string;\n subTopic?: string;\n name?: string;\n eventId?: string;\n}\n\nexport interface EventsWebhookFields extends BaseWebhookFields {\n webhookType: typeof WebhookType.Events;\n eventId: string;\n handle?: string;\n action?: string;\n resourceId?: string;\n}\n\nexport type WebhookFields = WebhooksWebhookFields | EventsWebhookFields;\n\nexport interface WebhookValidationInvalid extends Omit<\n ValidationInvalid,\n 'reason'\n> {\n valid: false;\n reason: WebhookValidationErrorReasonType;\n}\n\nexport interface WebhookValidationMissingHeaders extends WebhookValidationInvalid {\n reason: typeof WebhookValidationErrorReason.MissingHeaders;\n missingHeaders: string[];\n}\n\nexport type WebhookValidationValid = WebhookFields & {valid: true};\n\nexport type WebhookValidation =\n | WebhookValidationValid\n | WebhookValidationInvalid\n | WebhookValidationMissingHeaders;\n"],"names":["ShopifyHeader","ShopifyEventsHeader","DeliveryMethod","WebhookOperation","ValidationErrorReason"],"mappings":";;;;;AAKO,MAAM,WAAW,GAAG;AACzB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,MAAM,EAAE,QAAQ;;AAKX,MAAM,oBAAoB,GAAG;AAClC,IAAA,CAAC,WAAW,CAAC,QAAQ,GAAG;QACtB,IAAI,EAAEA,mBAAa,CAAC,IAAI;QACxB,KAAK,EAAEA,mBAAa,CAAC,KAAK;QAC1B,MAAM,EAAEA,mBAAa,CAAC,MAAM;QAC5B,UAAU,EAAEA,mBAAa,CAAC,UAAU;QACpC,SAAS,EAAEA,mBAAa,CAAC,SAAS;QAClC,QAAQ,EAAEA,mBAAa,CAAC,QAAQ;QAChC,IAAI,EAAEA,mBAAa,CAAC,IAAI;QACxB,WAAW,EAAEA,mBAAa,CAAC,WAAW;QACtC,OAAO,EAAEA,mBAAa,CAAC,OAAO;AAC/B,KAAA;AACD,IAAA,CAAC,WAAW,CAAC,MAAM,GAAG;QACpB,IAAI,EAAEC,yBAAmB,CAAC,IAAI;QAC9B,KAAK,EAAEA,yBAAmB,CAAC,KAAK;QAChC,MAAM,EAAEA,yBAAmB,CAAC,MAAM;QAClC,UAAU,EAAEA,yBAAmB,CAAC,UAAU;QAC1C,OAAO,EAAEA,yBAAmB,CAAC,OAAO;QACpC,MAAM,EAAEA,yBAAmB,CAAC,MAAM;QAClC,MAAM,EAAEA,yBAAmB,CAAC,MAAM;QAClC,UAAU,EAAEA,yBAAmB,CAAC,UAAU;QAC1C,WAAW,EAAEA,yBAAmB,CAAC,WAAW;AAC7C,KAAA;;AAGSC;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAJWA,sBAAc,KAAdA,sBAAc,GAAA,EAAA,CAAA,CAAA;AAsD1B;AACA;AACA;AACYC;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAJWA,wBAAgB,KAAhBA,wBAAgB,GAAA,EAAA,CAAA,CAAA;AAyErB,MAAM,4BAA4B,GAAG;AAC1C,IAAA,GAAGC,6BAAqB;AACxB,IAAA,cAAc,EAAE,iBAAiB;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../../lib/webhooks/types.ts"],"sourcesContent":["import {ValidationErrorReason, ValidationInvalid} from '../utils/types';\nimport {AdapterArgs} from '../../runtime/types';\nimport {Session} from '../session/session';\nimport {ShopifyEventsHeader, ShopifyHeader} from '../types';\n\nexport const WebhookType = {\n Webhooks: 'webhooks',\n Events: 'events',\n} as const;\n\nexport type WebhookTypeValue = (typeof WebhookType)[keyof typeof WebhookType];\n\nexport const WEBHOOK_HEADER_NAMES = {\n [WebhookType.Webhooks]: {\n hmac: ShopifyHeader.Hmac,\n topic: ShopifyHeader.Topic,\n domain: ShopifyHeader.Domain,\n apiVersion: ShopifyHeader.ApiVersion,\n webhookId: ShopifyHeader.WebhookId,\n subTopic: ShopifyHeader.SubTopic,\n name: ShopifyHeader.Name,\n triggeredAt: ShopifyHeader.TriggeredAt,\n eventId: ShopifyHeader.EventId,\n },\n [WebhookType.Events]: {\n hmac: ShopifyEventsHeader.Hmac,\n topic: ShopifyEventsHeader.Topic,\n domain: ShopifyEventsHeader.Domain,\n apiVersion: ShopifyEventsHeader.ApiVersion,\n webhookId: ShopifyEventsHeader.WebhookId,\n eventId: ShopifyEventsHeader.EventId,\n handle: ShopifyEventsHeader.Handle,\n action: ShopifyEventsHeader.Action,\n resourceId: ShopifyEventsHeader.ResourceId,\n triggeredAt: ShopifyEventsHeader.TriggeredAt,\n },\n} as const;\n\nexport enum DeliveryMethod {\n Http = 'http',\n EventBridge = 'eventbridge',\n PubSub = 'pubsub',\n}\n\nexport type WebhookHandlerFunction = (\n topic: string,\n shop_domain: string,\n body: string,\n webhookId: string,\n apiVersion?: string,\n subTopic?: string,\n context?: any,\n) => Promise<void>;\n\ninterface BaseWebhookHandler {\n id?: string;\n includeFields?: string[];\n metafieldNamespaces?: string[];\n subTopic?: string;\n context?: any;\n}\n\nexport interface HttpWebhookHandler extends BaseWebhookHandler {\n deliveryMethod: DeliveryMethod.Http;\n callbackUrl: string;\n}\n\nexport interface HttpWebhookHandlerWithCallback extends HttpWebhookHandler {\n callback: WebhookHandlerFunction;\n}\n\nexport interface EventBridgeWebhookHandler extends BaseWebhookHandler {\n deliveryMethod: DeliveryMethod.EventBridge;\n arn: string;\n}\n\nexport interface PubSubWebhookHandler extends BaseWebhookHandler {\n deliveryMethod: DeliveryMethod.PubSub;\n pubSubProject: string;\n pubSubTopic: string;\n}\n\nexport type WebhookHandler =\n | HttpWebhookHandler\n | HttpWebhookHandlerWithCallback\n | EventBridgeWebhookHandler\n | PubSubWebhookHandler;\n\n// See https://shopify.dev/docs/api/admin-graphql/latest/enums/webhooksubscriptiontopic for available topics\nexport type WebhookRegistry<Handler extends WebhookHandler = WebhookHandler> =\n Record<string, Handler[]>;\n\n// eslint-disable-next-line no-warning-comments\n// TODO Rethink the wording for this enum - the operations we're doing are actually \"subscribing\" and \"unsubscribing\"\n// Consider changing the values when releasing v12.0.0 when it can be safely deprecated\nexport enum WebhookOperation {\n Create = 'create',\n Update = 'update',\n Delete = 'delete',\n}\n\nexport interface RegisterParams {\n session: Session;\n}\n\nexport interface RegisterResult {\n success: boolean;\n deliveryMethod: DeliveryMethod;\n result: unknown;\n operation: WebhookOperation;\n}\n\nexport type RegisterReturn = Record<string, RegisterResult[]>;\n\ninterface WebhookHttpEndpoint {\n __typename: 'WebhookHttpEndpoint';\n callbackUrl: string;\n}\ninterface WebhookEventBridgeEndpoint {\n __typename: 'WebhookEventBridgeEndpoint';\n arn: string;\n}\ninterface WebhookPubSubEndpoint {\n __typename: 'WebhookPubSubEndpoint';\n pubSubProject: string;\n pubSubTopic: string;\n}\n\ntype WebhookEndpoint =\n | WebhookHttpEndpoint\n | WebhookEventBridgeEndpoint\n | WebhookPubSubEndpoint;\n\nexport interface WebhookCheckResponseNode<\n T = {\n endpoint: WebhookEndpoint;\n },\n> {\n node: {\n id: string;\n topic: string;\n includeFields: string[];\n metafieldNamespaces: string[];\n } & T;\n}\n\nexport interface WebhookCheckResponse<T = WebhookCheckResponseNode> {\n webhookSubscriptions: {\n edges: T[];\n pageInfo: {\n endCursor: string;\n hasNextPage: boolean;\n };\n };\n}\n\nexport type AddHandlersParams = Record<\n string,\n WebhookHandler | WebhookHandler[]\n>;\n\nexport interface WebhookProcessParams extends AdapterArgs {\n rawBody: string;\n context?: any;\n}\n\nexport interface WebhookValidateParams extends WebhookProcessParams {}\n\nexport const WebhookValidationErrorReason = {\n ...ValidationErrorReason,\n MissingHeaders: 'missing_headers',\n} as const;\n\nexport type WebhookValidationErrorReasonType =\n (typeof WebhookValidationErrorReason)[keyof typeof WebhookValidationErrorReason];\n\ninterface BaseWebhookFields {\n apiVersion: string;\n domain: string;\n hmac: string;\n topic: string;\n triggeredAt?: string;\n}\n\nexport interface WebhooksWebhookFields extends BaseWebhookFields {\n webhookType: typeof WebhookType.Webhooks;\n webhookId: string;\n subTopic?: string;\n name?: string;\n eventId?: string;\n}\n\nexport interface EventsWebhookFields extends BaseWebhookFields {\n webhookType: typeof WebhookType.Events;\n webhookId: string;\n eventId: string;\n handle?: string;\n action?: string;\n resourceId?: string;\n}\n\nexport type WebhookFields = WebhooksWebhookFields | EventsWebhookFields;\n\nexport interface WebhookValidationInvalid extends Omit<\n ValidationInvalid,\n 'reason'\n> {\n valid: false;\n reason: WebhookValidationErrorReasonType;\n}\n\nexport interface WebhookValidationMissingHeaders extends WebhookValidationInvalid {\n reason: typeof WebhookValidationErrorReason.MissingHeaders;\n missingHeaders: string[];\n}\n\nexport type WebhookValidationValid = WebhookFields & {valid: true};\n\nexport type WebhookValidation =\n | WebhookValidationValid\n | WebhookValidationInvalid\n | WebhookValidationMissingHeaders;\n"],"names":["ShopifyHeader","ShopifyEventsHeader","DeliveryMethod","WebhookOperation","ValidationErrorReason"],"mappings":";;;;;AAKO,MAAM,WAAW,GAAG;AACzB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,MAAM,EAAE,QAAQ;;AAKX,MAAM,oBAAoB,GAAG;AAClC,IAAA,CAAC,WAAW,CAAC,QAAQ,GAAG;QACtB,IAAI,EAAEA,mBAAa,CAAC,IAAI;QACxB,KAAK,EAAEA,mBAAa,CAAC,KAAK;QAC1B,MAAM,EAAEA,mBAAa,CAAC,MAAM;QAC5B,UAAU,EAAEA,mBAAa,CAAC,UAAU;QACpC,SAAS,EAAEA,mBAAa,CAAC,SAAS;QAClC,QAAQ,EAAEA,mBAAa,CAAC,QAAQ;QAChC,IAAI,EAAEA,mBAAa,CAAC,IAAI;QACxB,WAAW,EAAEA,mBAAa,CAAC,WAAW;QACtC,OAAO,EAAEA,mBAAa,CAAC,OAAO;AAC/B,KAAA;AACD,IAAA,CAAC,WAAW,CAAC,MAAM,GAAG;QACpB,IAAI,EAAEC,yBAAmB,CAAC,IAAI;QAC9B,KAAK,EAAEA,yBAAmB,CAAC,KAAK;QAChC,MAAM,EAAEA,yBAAmB,CAAC,MAAM;QAClC,UAAU,EAAEA,yBAAmB,CAAC,UAAU;QAC1C,SAAS,EAAEA,yBAAmB,CAAC,SAAS;QACxC,OAAO,EAAEA,yBAAmB,CAAC,OAAO;QACpC,MAAM,EAAEA,yBAAmB,CAAC,MAAM;QAClC,MAAM,EAAEA,yBAAmB,CAAC,MAAM;QAClC,UAAU,EAAEA,yBAAmB,CAAC,UAAU;QAC1C,WAAW,EAAEA,yBAAmB,CAAC,WAAW;AAC7C,KAAA;;AAGSC;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAJWA,sBAAc,KAAdA,sBAAc,GAAA,EAAA,CAAA,CAAA;AAsD1B;AACA;AACA;AACYC;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAJWA,wBAAgB,KAAhBA,wBAAgB,GAAA,EAAA,CAAA,CAAA;AAyErB,MAAM,4BAA4B,GAAG;AAC1C,IAAA,GAAGC,6BAAqB;AACxB,IAAA,cAAc,EAAE,iBAAiB;;;;;;;"}
|
|
@@ -96,6 +96,7 @@ function checkEventsHeaders(headers$1) {
|
|
|
96
96
|
const topic = getRequiredHeader(headers$1, headerNames.topic, missingHeaders);
|
|
97
97
|
const domain = getRequiredHeader(headers$1, headerNames.domain, missingHeaders);
|
|
98
98
|
const apiVersion = getRequiredHeader(headers$1, headerNames.apiVersion, missingHeaders);
|
|
99
|
+
const webhookId = getRequiredHeader(headers$1, headerNames.webhookId, missingHeaders);
|
|
99
100
|
const eventId = getRequiredHeader(headers$1, headerNames.eventId, missingHeaders);
|
|
100
101
|
if (missingHeaders.length) {
|
|
101
102
|
return {
|
|
@@ -110,6 +111,7 @@ function checkEventsHeaders(headers$1) {
|
|
|
110
111
|
topic: registry.topicForStorage(topic),
|
|
111
112
|
domain: domain,
|
|
112
113
|
apiVersion: apiVersion,
|
|
114
|
+
webhookId: webhookId,
|
|
113
115
|
eventId: eventId,
|
|
114
116
|
};
|
|
115
117
|
const handle = headers.getHeader(headers$1, headerNames.handle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sources":["../../../../../../lib/webhooks/validate.ts"],"sourcesContent":["import {logger} from '../logger';\nimport {validateHmacFromRequestFactory} from '../utils/hmac-validator';\nimport {HmacValidationType, ValidationErrorReason} from '../utils/types';\nimport {\n abstractConvertRequest,\n getHeader,\n Headers,\n NormalizedRequest,\n} from '../../runtime/http';\nimport {ConfigInterface} from '../base-types';\n\nimport {\n EventsWebhookFields,\n WEBHOOK_HEADER_NAMES,\n WebhooksWebhookFields,\n WebhookType,\n WebhookTypeValue,\n WebhookValidateParams,\n WebhookValidation,\n WebhookValidationErrorReason,\n WebhookValidationMissingHeaders,\n WebhookValidationValid,\n} from './types';\nimport {topicForStorage} from './registry';\n\nfunction detectWebhookType(headers: Headers): WebhookTypeValue {\n const eventsHmac = getHeader(\n headers,\n WEBHOOK_HEADER_NAMES[WebhookType.Events].hmac,\n );\n if (eventsHmac) {\n return WebhookType.Events;\n }\n\n const webhooksHmac = getHeader(\n headers,\n WEBHOOK_HEADER_NAMES[WebhookType.Webhooks].hmac,\n );\n if (webhooksHmac) {\n return WebhookType.Webhooks;\n }\n\n return WebhookType.Webhooks;\n}\n\nexport function validateFactory(config: ConfigInterface) {\n return async function validate({\n rawBody,\n ...adapterArgs\n }: WebhookValidateParams): Promise<WebhookValidation> {\n const request: NormalizedRequest =\n await abstractConvertRequest(adapterArgs);\n\n const webhookType = detectWebhookType(request.headers);\n\n const validHmacResult = await validateHmacFromRequestFactory(config)({\n type: HmacValidationType.Webhook,\n rawBody,\n webhookType,\n ...adapterArgs,\n });\n\n if (!validHmacResult.valid) {\n if (validHmacResult.reason === ValidationErrorReason.InvalidHmac) {\n const log = logger(config);\n await log.debug(\n \"Webhook HMAC validation failed. Please note that events manually triggered from a store's Notifications settings will fail this validation. To test this, please use the CLI or trigger the actual event in a development store.\",\n );\n }\n return validHmacResult;\n }\n\n return checkWebhookHeaders(request.headers, webhookType);\n };\n}\n\nfunction getRequiredHeader(\n headers: Headers,\n headerName: string,\n missingHeaders: string[],\n): string | undefined {\n const value = getHeader(headers, headerName);\n if (!value) {\n missingHeaders.push(headerName);\n }\n return value;\n}\n\nfunction checkWebhookHeaders(\n headers: Headers,\n webhookType: WebhookTypeValue,\n): WebhookValidationMissingHeaders | WebhookValidationValid {\n if (webhookType === WebhookType.Webhooks) {\n return checkWebhooksHeaders(headers);\n }\n return checkEventsHeaders(headers);\n}\n\nfunction checkWebhooksHeaders(\n headers: Headers,\n): WebhookValidationMissingHeaders | WebhookValidationValid {\n const headerNames = WEBHOOK_HEADER_NAMES[WebhookType.Webhooks];\n const missingHeaders: string[] = [];\n\n const hmac = getRequiredHeader(headers, headerNames.hmac, missingHeaders);\n const topic = getRequiredHeader(headers, headerNames.topic, missingHeaders);\n const domain = getRequiredHeader(headers, headerNames.domain, missingHeaders);\n const apiVersion = getRequiredHeader(\n headers,\n headerNames.apiVersion,\n missingHeaders,\n );\n const webhookId = getRequiredHeader(\n headers,\n headerNames.webhookId,\n missingHeaders,\n );\n\n if (missingHeaders.length) {\n return {\n valid: false,\n reason: WebhookValidationErrorReason.MissingHeaders,\n missingHeaders,\n };\n }\n\n const fields: WebhooksWebhookFields = {\n webhookType: WebhookType.Webhooks,\n hmac: hmac!,\n topic: topicForStorage(topic!),\n domain: domain!,\n apiVersion: apiVersion!,\n webhookId: webhookId!,\n };\n\n const subTopic = getHeader(headers, headerNames.subTopic);\n if (subTopic) fields.subTopic = subTopic;\n\n const name = getHeader(headers, headerNames.name);\n if (name) fields.name = name;\n\n const triggeredAt = getHeader(headers, headerNames.triggeredAt);\n if (triggeredAt) fields.triggeredAt = triggeredAt;\n\n const eventId = getHeader(headers, headerNames.eventId);\n if (eventId) fields.eventId = eventId;\n\n return {valid: true, ...fields};\n}\n\nfunction checkEventsHeaders(\n headers: Headers,\n): WebhookValidationMissingHeaders | WebhookValidationValid {\n const headerNames = WEBHOOK_HEADER_NAMES[WebhookType.Events];\n const missingHeaders: string[] = [];\n\n const hmac = getRequiredHeader(headers, headerNames.hmac, missingHeaders);\n const topic = getRequiredHeader(headers, headerNames.topic, missingHeaders);\n const domain = getRequiredHeader(headers, headerNames.domain, missingHeaders);\n const apiVersion = getRequiredHeader(\n headers,\n headerNames.apiVersion,\n missingHeaders,\n );\n const eventId = getRequiredHeader(\n headers,\n headerNames.eventId,\n missingHeaders,\n );\n\n if (missingHeaders.length) {\n return {\n valid: false,\n reason: WebhookValidationErrorReason.MissingHeaders,\n missingHeaders,\n };\n }\n\n const fields: EventsWebhookFields = {\n webhookType: WebhookType.Events,\n hmac: hmac!,\n topic: topicForStorage(topic!),\n domain: domain!,\n apiVersion: apiVersion!,\n eventId: eventId!,\n };\n\n const handle = getHeader(headers, headerNames.handle);\n if (handle) fields.handle = handle;\n\n const action = getHeader(headers, headerNames.action);\n if (action) fields.action = action;\n\n const resourceId = getHeader(headers, headerNames.resourceId);\n if (resourceId) fields.resourceId = resourceId;\n\n const triggeredAt = getHeader(headers, headerNames.triggeredAt);\n if (triggeredAt) fields.triggeredAt = triggeredAt;\n\n return {valid: true, ...fields};\n}\n"],"names":["headers","getHeader","WEBHOOK_HEADER_NAMES","WebhookType","abstractConvertRequest","validateHmacFromRequestFactory","HmacValidationType","ValidationErrorReason","logger","WebhookValidationErrorReason","topicForStorage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sources":["../../../../../../lib/webhooks/validate.ts"],"sourcesContent":["import {logger} from '../logger';\nimport {validateHmacFromRequestFactory} from '../utils/hmac-validator';\nimport {HmacValidationType, ValidationErrorReason} from '../utils/types';\nimport {\n abstractConvertRequest,\n getHeader,\n Headers,\n NormalizedRequest,\n} from '../../runtime/http';\nimport {ConfigInterface} from '../base-types';\n\nimport {\n EventsWebhookFields,\n WEBHOOK_HEADER_NAMES,\n WebhooksWebhookFields,\n WebhookType,\n WebhookTypeValue,\n WebhookValidateParams,\n WebhookValidation,\n WebhookValidationErrorReason,\n WebhookValidationMissingHeaders,\n WebhookValidationValid,\n} from './types';\nimport {topicForStorage} from './registry';\n\nfunction detectWebhookType(headers: Headers): WebhookTypeValue {\n const eventsHmac = getHeader(\n headers,\n WEBHOOK_HEADER_NAMES[WebhookType.Events].hmac,\n );\n if (eventsHmac) {\n return WebhookType.Events;\n }\n\n const webhooksHmac = getHeader(\n headers,\n WEBHOOK_HEADER_NAMES[WebhookType.Webhooks].hmac,\n );\n if (webhooksHmac) {\n return WebhookType.Webhooks;\n }\n\n return WebhookType.Webhooks;\n}\n\nexport function validateFactory(config: ConfigInterface) {\n return async function validate({\n rawBody,\n ...adapterArgs\n }: WebhookValidateParams): Promise<WebhookValidation> {\n const request: NormalizedRequest =\n await abstractConvertRequest(adapterArgs);\n\n const webhookType = detectWebhookType(request.headers);\n\n const validHmacResult = await validateHmacFromRequestFactory(config)({\n type: HmacValidationType.Webhook,\n rawBody,\n webhookType,\n ...adapterArgs,\n });\n\n if (!validHmacResult.valid) {\n if (validHmacResult.reason === ValidationErrorReason.InvalidHmac) {\n const log = logger(config);\n await log.debug(\n \"Webhook HMAC validation failed. Please note that events manually triggered from a store's Notifications settings will fail this validation. To test this, please use the CLI or trigger the actual event in a development store.\",\n );\n }\n return validHmacResult;\n }\n\n return checkWebhookHeaders(request.headers, webhookType);\n };\n}\n\nfunction getRequiredHeader(\n headers: Headers,\n headerName: string,\n missingHeaders: string[],\n): string | undefined {\n const value = getHeader(headers, headerName);\n if (!value) {\n missingHeaders.push(headerName);\n }\n return value;\n}\n\nfunction checkWebhookHeaders(\n headers: Headers,\n webhookType: WebhookTypeValue,\n): WebhookValidationMissingHeaders | WebhookValidationValid {\n if (webhookType === WebhookType.Webhooks) {\n return checkWebhooksHeaders(headers);\n }\n return checkEventsHeaders(headers);\n}\n\nfunction checkWebhooksHeaders(\n headers: Headers,\n): WebhookValidationMissingHeaders | WebhookValidationValid {\n const headerNames = WEBHOOK_HEADER_NAMES[WebhookType.Webhooks];\n const missingHeaders: string[] = [];\n\n const hmac = getRequiredHeader(headers, headerNames.hmac, missingHeaders);\n const topic = getRequiredHeader(headers, headerNames.topic, missingHeaders);\n const domain = getRequiredHeader(headers, headerNames.domain, missingHeaders);\n const apiVersion = getRequiredHeader(\n headers,\n headerNames.apiVersion,\n missingHeaders,\n );\n const webhookId = getRequiredHeader(\n headers,\n headerNames.webhookId,\n missingHeaders,\n );\n\n if (missingHeaders.length) {\n return {\n valid: false,\n reason: WebhookValidationErrorReason.MissingHeaders,\n missingHeaders,\n };\n }\n\n const fields: WebhooksWebhookFields = {\n webhookType: WebhookType.Webhooks,\n hmac: hmac!,\n topic: topicForStorage(topic!),\n domain: domain!,\n apiVersion: apiVersion!,\n webhookId: webhookId!,\n };\n\n const subTopic = getHeader(headers, headerNames.subTopic);\n if (subTopic) fields.subTopic = subTopic;\n\n const name = getHeader(headers, headerNames.name);\n if (name) fields.name = name;\n\n const triggeredAt = getHeader(headers, headerNames.triggeredAt);\n if (triggeredAt) fields.triggeredAt = triggeredAt;\n\n const eventId = getHeader(headers, headerNames.eventId);\n if (eventId) fields.eventId = eventId;\n\n return {valid: true, ...fields};\n}\n\nfunction checkEventsHeaders(\n headers: Headers,\n): WebhookValidationMissingHeaders | WebhookValidationValid {\n const headerNames = WEBHOOK_HEADER_NAMES[WebhookType.Events];\n const missingHeaders: string[] = [];\n\n const hmac = getRequiredHeader(headers, headerNames.hmac, missingHeaders);\n const topic = getRequiredHeader(headers, headerNames.topic, missingHeaders);\n const domain = getRequiredHeader(headers, headerNames.domain, missingHeaders);\n const apiVersion = getRequiredHeader(\n headers,\n headerNames.apiVersion,\n missingHeaders,\n );\n const webhookId = getRequiredHeader(\n headers,\n headerNames.webhookId,\n missingHeaders,\n );\n const eventId = getRequiredHeader(\n headers,\n headerNames.eventId,\n missingHeaders,\n );\n\n if (missingHeaders.length) {\n return {\n valid: false,\n reason: WebhookValidationErrorReason.MissingHeaders,\n missingHeaders,\n };\n }\n\n const fields: EventsWebhookFields = {\n webhookType: WebhookType.Events,\n hmac: hmac!,\n topic: topicForStorage(topic!),\n domain: domain!,\n apiVersion: apiVersion!,\n webhookId: webhookId!,\n eventId: eventId!,\n };\n\n const handle = getHeader(headers, headerNames.handle);\n if (handle) fields.handle = handle;\n\n const action = getHeader(headers, headerNames.action);\n if (action) fields.action = action;\n\n const resourceId = getHeader(headers, headerNames.resourceId);\n if (resourceId) fields.resourceId = resourceId;\n\n const triggeredAt = getHeader(headers, headerNames.triggeredAt);\n if (triggeredAt) fields.triggeredAt = triggeredAt;\n\n return {valid: true, ...fields};\n}\n"],"names":["headers","getHeader","WEBHOOK_HEADER_NAMES","WebhookType","abstractConvertRequest","validateHmacFromRequestFactory","HmacValidationType","ValidationErrorReason","logger","WebhookValidationErrorReason","topicForStorage"],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base = require('../../base.js');
|
|
4
|
+
var types = require('../../../lib/types.js');
|
|
5
|
+
var currency = require('./currency.js');
|
|
6
|
+
var customer = require('./customer.js');
|
|
7
|
+
var discount_code = require('./discount_code.js');
|
|
8
|
+
|
|
9
|
+
/***********************************************************************************************************************
|
|
10
|
+
* This file is auto-generated. If you have an issue, please create a GitHub issue. *
|
|
11
|
+
***********************************************************************************************************************/
|
|
12
|
+
class AbandonedCheckout extends base.Base {
|
|
13
|
+
static apiVersion = types.ApiVersion.April26;
|
|
14
|
+
static hasOne = {
|
|
15
|
+
"currency": currency.Currency,
|
|
16
|
+
"customer": customer.Customer
|
|
17
|
+
};
|
|
18
|
+
static hasMany = {
|
|
19
|
+
"discount_codes": discount_code.DiscountCode
|
|
20
|
+
};
|
|
21
|
+
static paths = [
|
|
22
|
+
{ "http_method": "get", "operation": "checkouts", "ids": [], "path": "checkouts.json" },
|
|
23
|
+
{ "http_method": "get", "operation": "checkouts", "ids": [], "path": "checkouts.json" }
|
|
24
|
+
];
|
|
25
|
+
static resourceNames = [
|
|
26
|
+
{
|
|
27
|
+
"singular": "abandoned_checkout",
|
|
28
|
+
"plural": "abandoned_checkouts"
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
static async checkouts({ session, since_id = null, created_at_min = null, created_at_max = null, updated_at_min = null, updated_at_max = null, status = null, limit = null, ...otherArgs }) {
|
|
32
|
+
const response = await this.request({
|
|
33
|
+
http_method: "get",
|
|
34
|
+
operation: "checkouts",
|
|
35
|
+
session: session,
|
|
36
|
+
urlIds: {},
|
|
37
|
+
params: { "since_id": since_id, "created_at_min": created_at_min, "created_at_max": created_at_max, "updated_at_min": updated_at_min, "updated_at_max": updated_at_max, "status": status, "limit": limit, ...otherArgs },
|
|
38
|
+
body: {},
|
|
39
|
+
entity: null,
|
|
40
|
+
});
|
|
41
|
+
return response ? response.body : null;
|
|
42
|
+
}
|
|
43
|
+
abandoned_checkout_url;
|
|
44
|
+
billing_address;
|
|
45
|
+
buyer_accepts_marketing;
|
|
46
|
+
buyer_accepts_sms_marketing;
|
|
47
|
+
cart_token;
|
|
48
|
+
closed_at;
|
|
49
|
+
completed_at;
|
|
50
|
+
created_at;
|
|
51
|
+
currency;
|
|
52
|
+
customer;
|
|
53
|
+
customer_locale;
|
|
54
|
+
device_id;
|
|
55
|
+
discount_codes;
|
|
56
|
+
email;
|
|
57
|
+
gateway;
|
|
58
|
+
id;
|
|
59
|
+
landing_site;
|
|
60
|
+
line_items;
|
|
61
|
+
location_id;
|
|
62
|
+
note;
|
|
63
|
+
phone;
|
|
64
|
+
presentment_currency;
|
|
65
|
+
referring_site;
|
|
66
|
+
shipping_address;
|
|
67
|
+
shipping_lines;
|
|
68
|
+
sms_marketing_phone;
|
|
69
|
+
source_name;
|
|
70
|
+
subtotal_price;
|
|
71
|
+
tax_lines;
|
|
72
|
+
taxes_included;
|
|
73
|
+
token;
|
|
74
|
+
total_discounts;
|
|
75
|
+
total_duties;
|
|
76
|
+
total_line_items_price;
|
|
77
|
+
total_price;
|
|
78
|
+
total_tax;
|
|
79
|
+
total_weight;
|
|
80
|
+
updated_at;
|
|
81
|
+
user_id;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
exports.AbandonedCheckout = AbandonedCheckout;
|
|
85
|
+
//# sourceMappingURL=abandoned_checkout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abandoned_checkout.js","sources":["../../../../../../../rest/admin/2026-04/abandoned_checkout.ts"],"sourcesContent":["/***********************************************************************************************************************\n* This file is auto-generated. If you have an issue, please create a GitHub issue. *\n***********************************************************************************************************************/\n\nimport {Base} from '../../base';\nimport {ResourcePath, ResourceNames} from '../../types';\nimport {Session} from '../../../lib/session/session';\nimport {ApiVersion} from '../../../lib/types';\n\nimport {Currency} from './currency';\nimport {Customer} from './customer';\nimport {DiscountCode} from './discount_code';\n\ninterface CheckoutsArgs {\n [key: string]: unknown;\n session: Session;\n since_id?: unknown;\n created_at_min?: unknown;\n created_at_max?: unknown;\n updated_at_min?: unknown;\n updated_at_max?: unknown;\n status?: unknown;\n limit?: unknown;\n}\n\nexport class AbandonedCheckout extends Base {\n public static apiVersion = ApiVersion.April26;\n\n protected static hasOne: {[key: string]: typeof Base} = {\n \"currency\": Currency,\n \"customer\": Customer\n };\n protected static hasMany: {[key: string]: typeof Base} = {\n \"discount_codes\": DiscountCode\n };\n protected static paths: ResourcePath[] = [\n {\"http_method\": \"get\", \"operation\": \"checkouts\", \"ids\": [], \"path\": \"checkouts.json\"},\n {\"http_method\": \"get\", \"operation\": \"checkouts\", \"ids\": [], \"path\": \"checkouts.json\"}\n ];\n protected static resourceNames: ResourceNames[] = [\n {\n \"singular\": \"abandoned_checkout\",\n \"plural\": \"abandoned_checkouts\"\n }\n ];\n\n public static async checkouts(\n {\n session,\n since_id = null,\n created_at_min = null,\n created_at_max = null,\n updated_at_min = null,\n updated_at_max = null,\n status = null,\n limit = null,\n ...otherArgs\n }: CheckoutsArgs\n ): Promise<unknown> {\n const response = await this.request<AbandonedCheckout>({\n http_method: \"get\",\n operation: \"checkouts\",\n session: session,\n urlIds: {},\n params: {\"since_id\": since_id, \"created_at_min\": created_at_min, \"created_at_max\": created_at_max, \"updated_at_min\": updated_at_min, \"updated_at_max\": updated_at_max, \"status\": status, \"limit\": limit, ...otherArgs},\n body: {},\n entity: null,\n });\n\n return response ? response.body : null;\n }\n\n public abandoned_checkout_url: string | null;\n public billing_address: {[key: string]: unknown} | null;\n public buyer_accepts_marketing: boolean | null;\n public buyer_accepts_sms_marketing: boolean | null;\n public cart_token: string | null;\n public closed_at: string | null;\n public completed_at: string | null;\n public created_at: string | null;\n public currency: Currency | null | {[key: string]: any};\n public customer: Customer | null | {[key: string]: any};\n public customer_locale: string | null;\n public device_id: string | null;\n public discount_codes: DiscountCode[] | null | {[key: string]: any};\n public email: string | null;\n public gateway: string | null;\n public id: string | null;\n public landing_site: string | null;\n public line_items: {[key: string]: unknown} | null;\n public location_id: string | null;\n public note: string | null;\n public phone: string | null;\n public presentment_currency: string | null;\n public referring_site: string | null;\n public shipping_address: {[key: string]: unknown} | null;\n public shipping_lines: {[key: string]: unknown} | null;\n public sms_marketing_phone: string | null;\n public source_name: string | null;\n public subtotal_price: string | null;\n public tax_lines: {[key: string]: unknown} | null;\n public taxes_included: boolean | null;\n public token: string | null;\n public total_discounts: string | null;\n public total_duties: string | null;\n public total_line_items_price: string | null;\n public total_price: string | null;\n public total_tax: string | null;\n public total_weight: number | null;\n public updated_at: string | null;\n public user_id: string | null;\n}\n"],"names":["Base","ApiVersion","Currency","Customer","DiscountCode"],"mappings":";;;;;;;;AAAA;;AAEwH;AAuBlH,MAAO,iBAAkB,SAAQA,SAAI,CAAA;AAClC,IAAA,OAAO,UAAU,GAAGC,gBAAU,CAAC,OAAO;IAEnC,OAAO,MAAM,GAAiC;AACtD,QAAA,UAAU,EAAEC,iBAAQ;AACpB,QAAA,UAAU,EAAEC;KACb;IACS,OAAO,OAAO,GAAiC;AACvD,QAAA,gBAAgB,EAAEC;KACnB;IACS,OAAO,KAAK,GAAmB;AACvC,QAAA,EAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAC;AACrF,QAAA,EAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB;KACrF;IACS,OAAO,aAAa,GAAoB;AAChD,QAAA;AACE,YAAA,UAAU,EAAE,oBAAoB;AAChC,YAAA,QAAQ,EAAE;AACX;KACF;AAEM,IAAA,aAAa,SAAS,CAC3B,EACE,OAAO,EACP,QAAQ,GAAG,IAAI,EACf,cAAc,GAAG,IAAI,EACrB,cAAc,GAAG,IAAI,EACrB,cAAc,GAAG,IAAI,EACrB,cAAc,GAAG,IAAI,EACrB,MAAM,GAAG,IAAI,EACb,KAAK,GAAG,IAAI,EACZ,GAAG,SAAS,EACE,EAAA;AAEhB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAoB;AACrD,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,SAAS,EAAE,WAAW;AACtB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,MAAM,EAAE,EAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,EAAC;AACtN,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC;QAEF,OAAO,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAI;IACxC;AAEO,IAAA,sBAAsB;AACtB,IAAA,eAAe;AACf,IAAA,uBAAuB;AACvB,IAAA,2BAA2B;AAC3B,IAAA,UAAU;AACV,IAAA,SAAS;AACT,IAAA,YAAY;AACZ,IAAA,UAAU;AACV,IAAA,QAAQ;AACR,IAAA,QAAQ;AACR,IAAA,eAAe;AACf,IAAA,SAAS;AACT,IAAA,cAAc;AACd,IAAA,KAAK;AACL,IAAA,OAAO;AACP,IAAA,EAAE;AACF,IAAA,YAAY;AACZ,IAAA,UAAU;AACV,IAAA,WAAW;AACX,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,oBAAoB;AACpB,IAAA,cAAc;AACd,IAAA,gBAAgB;AAChB,IAAA,cAAc;AACd,IAAA,mBAAmB;AACnB,IAAA,WAAW;AACX,IAAA,cAAc;AACd,IAAA,SAAS;AACT,IAAA,cAAc;AACd,IAAA,KAAK;AACL,IAAA,eAAe;AACf,IAAA,YAAY;AACZ,IAAA,sBAAsB;AACtB,IAAA,WAAW;AACX,IAAA,SAAS;AACT,IAAA,YAAY;AACZ,IAAA,UAAU;AACV,IAAA,OAAO;;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base = require('../../base.js');
|
|
4
|
+
var types = require('../../../lib/types.js');
|
|
5
|
+
|
|
6
|
+
/***********************************************************************************************************************
|
|
7
|
+
* This file is auto-generated. If you have an issue, please create a GitHub issue. *
|
|
8
|
+
***********************************************************************************************************************/
|
|
9
|
+
class AccessScope extends base.Base {
|
|
10
|
+
static apiVersion = types.ApiVersion.April26;
|
|
11
|
+
static hasOne = {};
|
|
12
|
+
static hasMany = {};
|
|
13
|
+
static customPrefix = "/admin/oauth";
|
|
14
|
+
static paths = [
|
|
15
|
+
{ "http_method": "get", "operation": "get", "ids": [], "path": "access_scopes.json" }
|
|
16
|
+
];
|
|
17
|
+
static resourceNames = [
|
|
18
|
+
{
|
|
19
|
+
"singular": "access_scope",
|
|
20
|
+
"plural": "access_scopes"
|
|
21
|
+
}
|
|
22
|
+
];
|
|
23
|
+
static async all({ session, ...otherArgs }) {
|
|
24
|
+
const response = await this.baseFind({
|
|
25
|
+
session: session,
|
|
26
|
+
urlIds: {},
|
|
27
|
+
params: { ...otherArgs },
|
|
28
|
+
});
|
|
29
|
+
return response;
|
|
30
|
+
}
|
|
31
|
+
handle;
|
|
32
|
+
access_scopes;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.AccessScope = AccessScope;
|
|
36
|
+
//# sourceMappingURL=access_scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access_scope.js","sources":["../../../../../../../rest/admin/2026-04/access_scope.ts"],"sourcesContent":["/***********************************************************************************************************************\n* This file is auto-generated. If you have an issue, please create a GitHub issue. *\n***********************************************************************************************************************/\n\nimport {Base, FindAllResponse} from '../../base';\nimport {ResourcePath, ResourceNames} from '../../types';\nimport {Session} from '../../../lib/session/session';\nimport {ApiVersion} from '../../../lib/types';\n\ninterface AllArgs {\n [key: string]: unknown;\n session: Session;\n}\n\nexport class AccessScope extends Base {\n public static apiVersion = ApiVersion.April26;\n\n protected static hasOne: {[key: string]: typeof Base} = {};\n protected static hasMany: {[key: string]: typeof Base} = {};\n protected static customPrefix: string | null = \"/admin/oauth\";\n protected static paths: ResourcePath[] = [\n {\"http_method\": \"get\", \"operation\": \"get\", \"ids\": [], \"path\": \"access_scopes.json\"}\n ];\n protected static resourceNames: ResourceNames[] = [\n {\n \"singular\": \"access_scope\",\n \"plural\": \"access_scopes\"\n }\n ];\n\n public static async all(\n {\n session,\n ...otherArgs\n }: AllArgs\n ): Promise<FindAllResponse<AccessScope>> {\n const response = await this.baseFind<AccessScope>({\n session: session,\n urlIds: {},\n params: {...otherArgs},\n });\n\n return response;\n }\n\n public handle: string | null;\n public access_scopes: {[key: string]: unknown}[] | null;\n}\n"],"names":["Base","ApiVersion"],"mappings":";;;;;AAAA;;AAEwH;AAYlH,MAAO,WAAY,SAAQA,SAAI,CAAA;AAC5B,IAAA,OAAO,UAAU,GAAGC,gBAAU,CAAC,OAAO;AAEnC,IAAA,OAAO,MAAM,GAAiC,EAAE;AAChD,IAAA,OAAO,OAAO,GAAiC,EAAE;AACjD,IAAA,OAAO,YAAY,GAAkB,cAAc;IACnD,OAAO,KAAK,GAAmB;AACvC,QAAA,EAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB;KACnF;IACS,OAAO,aAAa,GAAoB;AAChD,QAAA;AACE,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,QAAQ,EAAE;AACX;KACF;IAEM,aAAa,GAAG,CACrB,EACE,OAAO,EACP,GAAG,SAAS,EACJ,EAAA;AAEV,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAc;AAChD,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,MAAM,EAAE,EAAC,GAAG,SAAS,EAAC;AACvB,SAAA,CAAC;AAEF,QAAA,OAAO,QAAQ;IACjB;AAEO,IAAA,MAAM;AACN,IAAA,aAAa;;;;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base = require('../../base.js');
|
|
4
|
+
var types = require('../../../lib/types.js');
|
|
5
|
+
|
|
6
|
+
/***********************************************************************************************************************
|
|
7
|
+
* This file is auto-generated. If you have an issue, please create a GitHub issue. *
|
|
8
|
+
***********************************************************************************************************************/
|
|
9
|
+
class ApplePayCertificate extends base.Base {
|
|
10
|
+
static apiVersion = types.ApiVersion.April26;
|
|
11
|
+
static hasOne = {};
|
|
12
|
+
static hasMany = {};
|
|
13
|
+
static paths = [
|
|
14
|
+
{ "http_method": "delete", "operation": "delete", "ids": ["id"], "path": "apple_pay_certificates/<id>.json" },
|
|
15
|
+
{ "http_method": "get", "operation": "csr", "ids": ["id"], "path": "apple_pay_certificates/<id>/csr.json" },
|
|
16
|
+
{ "http_method": "get", "operation": "get", "ids": ["id"], "path": "apple_pay_certificates/<id>.json" },
|
|
17
|
+
{ "http_method": "post", "operation": "post", "ids": [], "path": "apple_pay_certificates.json" },
|
|
18
|
+
{ "http_method": "put", "operation": "put", "ids": ["id"], "path": "apple_pay_certificates/<id>.json" }
|
|
19
|
+
];
|
|
20
|
+
static resourceNames = [
|
|
21
|
+
{
|
|
22
|
+
"singular": "apple_pay_certificate",
|
|
23
|
+
"plural": "apple_pay_certificates"
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
static async find({ session, id }) {
|
|
27
|
+
const result = await this.baseFind({
|
|
28
|
+
session: session,
|
|
29
|
+
urlIds: { "id": id },
|
|
30
|
+
params: {},
|
|
31
|
+
});
|
|
32
|
+
return result.data ? result.data[0] : null;
|
|
33
|
+
}
|
|
34
|
+
static async delete({ session, id }) {
|
|
35
|
+
const response = await this.request({
|
|
36
|
+
http_method: "delete",
|
|
37
|
+
operation: "delete",
|
|
38
|
+
session: session,
|
|
39
|
+
urlIds: { "id": id },
|
|
40
|
+
params: {},
|
|
41
|
+
});
|
|
42
|
+
return response ? response.body : null;
|
|
43
|
+
}
|
|
44
|
+
static async csr({ session, id, ...otherArgs }) {
|
|
45
|
+
const response = await this.request({
|
|
46
|
+
http_method: "get",
|
|
47
|
+
operation: "csr",
|
|
48
|
+
session: session,
|
|
49
|
+
urlIds: { "id": id },
|
|
50
|
+
params: { ...otherArgs },
|
|
51
|
+
body: {},
|
|
52
|
+
entity: null,
|
|
53
|
+
});
|
|
54
|
+
return response ? response.body : null;
|
|
55
|
+
}
|
|
56
|
+
id;
|
|
57
|
+
merchant_id;
|
|
58
|
+
status;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
exports.ApplePayCertificate = ApplePayCertificate;
|
|
62
|
+
//# sourceMappingURL=apple_pay_certificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apple_pay_certificate.js","sources":["../../../../../../../rest/admin/2026-04/apple_pay_certificate.ts"],"sourcesContent":["/***********************************************************************************************************************\n* This file is auto-generated. If you have an issue, please create a GitHub issue. *\n***********************************************************************************************************************/\n\nimport {Base} from '../../base';\nimport {ResourcePath, ResourceNames} from '../../types';\nimport {Session} from '../../../lib/session/session';\nimport {ApiVersion} from '../../../lib/types';\n\ninterface FindArgs {\n session: Session;\n id: number | string;\n}\ninterface DeleteArgs {\n session: Session;\n id: number | string;\n}\ninterface CsrArgs {\n [key: string]: unknown;\n session: Session;\n id: number | string;\n}\n\nexport class ApplePayCertificate extends Base {\n public static apiVersion = ApiVersion.April26;\n\n protected static hasOne: {[key: string]: typeof Base} = {};\n protected static hasMany: {[key: string]: typeof Base} = {};\n protected static paths: ResourcePath[] = [\n {\"http_method\": \"delete\", \"operation\": \"delete\", \"ids\": [\"id\"], \"path\": \"apple_pay_certificates/<id>.json\"},\n {\"http_method\": \"get\", \"operation\": \"csr\", \"ids\": [\"id\"], \"path\": \"apple_pay_certificates/<id>/csr.json\"},\n {\"http_method\": \"get\", \"operation\": \"get\", \"ids\": [\"id\"], \"path\": \"apple_pay_certificates/<id>.json\"},\n {\"http_method\": \"post\", \"operation\": \"post\", \"ids\": [], \"path\": \"apple_pay_certificates.json\"},\n {\"http_method\": \"put\", \"operation\": \"put\", \"ids\": [\"id\"], \"path\": \"apple_pay_certificates/<id>.json\"}\n ];\n protected static resourceNames: ResourceNames[] = [\n {\n \"singular\": \"apple_pay_certificate\",\n \"plural\": \"apple_pay_certificates\"\n }\n ];\n\n public static async find(\n {\n session,\n id\n }: FindArgs\n ): Promise<ApplePayCertificate | null> {\n const result = await this.baseFind<ApplePayCertificate>({\n session: session,\n urlIds: {\"id\": id},\n params: {},\n });\n return result.data ? result.data[0] : null;\n }\n\n public static async delete(\n {\n session,\n id\n }: DeleteArgs\n ): Promise<unknown> {\n const response = await this.request<ApplePayCertificate>({\n http_method: \"delete\",\n operation: \"delete\",\n session: session,\n urlIds: {\"id\": id},\n params: {},\n });\n\n return response ? response.body : null;\n }\n\n public static async csr(\n {\n session,\n id,\n ...otherArgs\n }: CsrArgs\n ): Promise<unknown> {\n const response = await this.request<ApplePayCertificate>({\n http_method: \"get\",\n operation: \"csr\",\n session: session,\n urlIds: {\"id\": id},\n params: {...otherArgs},\n body: {},\n entity: null,\n });\n\n return response ? response.body : null;\n }\n\n public id: string | null;\n public merchant_id: string | null;\n public status: string | null;\n}\n"],"names":["Base","ApiVersion"],"mappings":";;;;;AAAA;;AAEwH;AAqBlH,MAAO,mBAAoB,SAAQA,SAAI,CAAA;AACpC,IAAA,OAAO,UAAU,GAAGC,gBAAU,CAAC,OAAO;AAEnC,IAAA,OAAO,MAAM,GAAiC,EAAE;AAChD,IAAA,OAAO,OAAO,GAAiC,EAAE;IACjD,OAAO,KAAK,GAAmB;AACvC,QAAA,EAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kCAAkC,EAAC;AAC3G,QAAA,EAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,sCAAsC,EAAC;AACzG,QAAA,EAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kCAAkC,EAAC;AACrG,QAAA,EAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAC;AAC9F,QAAA,EAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kCAAkC;KACrG;IACS,OAAO,aAAa,GAAoB;AAChD,QAAA;AACE,YAAA,UAAU,EAAE,uBAAuB;AACnC,YAAA,QAAQ,EAAE;AACX;KACF;IAEM,aAAa,IAAI,CACtB,EACE,OAAO,EACP,EAAE,EACO,EAAA;AAEX,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAsB;AACtD,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,EAAC,IAAI,EAAE,EAAE,EAAC;AAClB,YAAA,MAAM,EAAE,EAAE;AACX,SAAA,CAAC;AACF,QAAA,OAAO,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;IAC5C;IAEO,aAAa,MAAM,CACxB,EACE,OAAO,EACP,EAAE,EACS,EAAA;AAEb,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAsB;AACvD,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,EAAC,IAAI,EAAE,EAAE,EAAC;AAClB,YAAA,MAAM,EAAE,EAAE;AACX,SAAA,CAAC;QAEF,OAAO,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAI;IACxC;AAEO,IAAA,aAAa,GAAG,CACrB,EACE,OAAO,EACP,EAAE,EACF,GAAG,SAAS,EACJ,EAAA;AAEV,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAsB;AACvD,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,EAAC,IAAI,EAAE,EAAE,EAAC;AAClB,YAAA,MAAM,EAAE,EAAC,GAAG,SAAS,EAAC;AACtB,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC;QAEF,OAAO,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAI;IACxC;AAEO,IAAA,EAAE;AACF,IAAA,WAAW;AACX,IAAA,MAAM;;;;;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base = require('../../base.js');
|
|
4
|
+
var types = require('../../../lib/types.js');
|
|
5
|
+
var currency = require('./currency.js');
|
|
6
|
+
|
|
7
|
+
/***********************************************************************************************************************
|
|
8
|
+
* This file is auto-generated. If you have an issue, please create a GitHub issue. *
|
|
9
|
+
***********************************************************************************************************************/
|
|
10
|
+
class ApplicationCharge extends base.Base {
|
|
11
|
+
static apiVersion = types.ApiVersion.April26;
|
|
12
|
+
static hasOne = {
|
|
13
|
+
"currency": currency.Currency
|
|
14
|
+
};
|
|
15
|
+
static hasMany = {};
|
|
16
|
+
static paths = [
|
|
17
|
+
{ "http_method": "get", "operation": "get", "ids": [], "path": "application_charges.json" },
|
|
18
|
+
{ "http_method": "get", "operation": "get", "ids": ["id"], "path": "application_charges/<id>.json" },
|
|
19
|
+
{ "http_method": "post", "operation": "post", "ids": [], "path": "application_charges.json" }
|
|
20
|
+
];
|
|
21
|
+
static resourceNames = [
|
|
22
|
+
{
|
|
23
|
+
"singular": "application_charge",
|
|
24
|
+
"plural": "application_charges"
|
|
25
|
+
}
|
|
26
|
+
];
|
|
27
|
+
static async find({ session, id, fields = null }) {
|
|
28
|
+
const result = await this.baseFind({
|
|
29
|
+
session: session,
|
|
30
|
+
urlIds: { "id": id },
|
|
31
|
+
params: { "fields": fields },
|
|
32
|
+
});
|
|
33
|
+
return result.data ? result.data[0] : null;
|
|
34
|
+
}
|
|
35
|
+
static async all({ session, since_id = null, fields = null, ...otherArgs }) {
|
|
36
|
+
const response = await this.baseFind({
|
|
37
|
+
session: session,
|
|
38
|
+
urlIds: {},
|
|
39
|
+
params: { "since_id": since_id, "fields": fields, ...otherArgs },
|
|
40
|
+
});
|
|
41
|
+
return response;
|
|
42
|
+
}
|
|
43
|
+
confirmation_url;
|
|
44
|
+
created_at;
|
|
45
|
+
currency;
|
|
46
|
+
id;
|
|
47
|
+
name;
|
|
48
|
+
price;
|
|
49
|
+
return_url;
|
|
50
|
+
status;
|
|
51
|
+
test;
|
|
52
|
+
updated_at;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
exports.ApplicationCharge = ApplicationCharge;
|
|
56
|
+
//# sourceMappingURL=application_charge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application_charge.js","sources":["../../../../../../../rest/admin/2026-04/application_charge.ts"],"sourcesContent":["/***********************************************************************************************************************\n* This file is auto-generated. If you have an issue, please create a GitHub issue. *\n***********************************************************************************************************************/\n\nimport {Base, FindAllResponse} from '../../base';\nimport {ResourcePath, ResourceNames} from '../../types';\nimport {Session} from '../../../lib/session/session';\nimport {ApiVersion} from '../../../lib/types';\n\nimport {Currency} from './currency';\n\ninterface FindArgs {\n session: Session;\n id: number | string;\n fields?: unknown;\n}\ninterface AllArgs {\n [key: string]: unknown;\n session: Session;\n since_id?: unknown;\n fields?: unknown;\n}\n\nexport class ApplicationCharge extends Base {\n public static apiVersion = ApiVersion.April26;\n\n protected static hasOne: {[key: string]: typeof Base} = {\n \"currency\": Currency\n };\n protected static hasMany: {[key: string]: typeof Base} = {};\n protected static paths: ResourcePath[] = [\n {\"http_method\": \"get\", \"operation\": \"get\", \"ids\": [], \"path\": \"application_charges.json\"},\n {\"http_method\": \"get\", \"operation\": \"get\", \"ids\": [\"id\"], \"path\": \"application_charges/<id>.json\"},\n {\"http_method\": \"post\", \"operation\": \"post\", \"ids\": [], \"path\": \"application_charges.json\"}\n ];\n protected static resourceNames: ResourceNames[] = [\n {\n \"singular\": \"application_charge\",\n \"plural\": \"application_charges\"\n }\n ];\n\n public static async find(\n {\n session,\n id,\n fields = null\n }: FindArgs\n ): Promise<ApplicationCharge | null> {\n const result = await this.baseFind<ApplicationCharge>({\n session: session,\n urlIds: {\"id\": id},\n params: {\"fields\": fields},\n });\n return result.data ? result.data[0] : null;\n }\n\n public static async all(\n {\n session,\n since_id = null,\n fields = null,\n ...otherArgs\n }: AllArgs\n ): Promise<FindAllResponse<ApplicationCharge>> {\n const response = await this.baseFind<ApplicationCharge>({\n session: session,\n urlIds: {},\n params: {\"since_id\": since_id, \"fields\": fields, ...otherArgs},\n });\n\n return response;\n }\n\n public confirmation_url: string | null;\n public created_at: string | null;\n public currency: Currency | null | {[key: string]: any};\n public id: string | null;\n public name: string | null;\n public price: string | number | null;\n public return_url: string | null;\n public status: string | null;\n public test: boolean | null;\n public updated_at: string | null;\n}\n"],"names":["Base","ApiVersion","Currency"],"mappings":";;;;;;AAAA;;AAEwH;AAqBlH,MAAO,iBAAkB,SAAQA,SAAI,CAAA;AAClC,IAAA,OAAO,UAAU,GAAGC,gBAAU,CAAC,OAAO;IAEnC,OAAO,MAAM,GAAiC;AACtD,QAAA,UAAU,EAAEC;KACb;AACS,IAAA,OAAO,OAAO,GAAiC,EAAE;IACjD,OAAO,KAAK,GAAmB;AACvC,QAAA,EAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAC;AACzF,QAAA,EAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,+BAA+B,EAAC;AAClG,QAAA,EAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,0BAA0B;KAC3F;IACS,OAAO,aAAa,GAAoB;AAChD,QAAA;AACE,YAAA,UAAU,EAAE,oBAAoB;AAChC,YAAA,QAAQ,EAAE;AACX;KACF;AAEM,IAAA,aAAa,IAAI,CACtB,EACE,OAAO,EACP,EAAE,EACF,MAAM,GAAG,IAAI,EACJ,EAAA;AAEX,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAoB;AACpD,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,EAAC,IAAI,EAAE,EAAE,EAAC;AAClB,YAAA,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC;AAC3B,SAAA,CAAC;AACF,QAAA,OAAO,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;IAC5C;AAEO,IAAA,aAAa,GAAG,CACrB,EACE,OAAO,EACP,QAAQ,GAAG,IAAI,EACf,MAAM,GAAG,IAAI,EACb,GAAG,SAAS,EACJ,EAAA;AAEV,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAoB;AACtD,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,MAAM,EAAE,EAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAAC;AAC/D,SAAA,CAAC;AAEF,QAAA,OAAO,QAAQ;IACjB;AAEO,IAAA,gBAAgB;AAChB,IAAA,UAAU;AACV,IAAA,QAAQ;AACR,IAAA,EAAE;AACF,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,UAAU;AACV,IAAA,MAAM;AACN,IAAA,IAAI;AACJ,IAAA,UAAU;;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base = require('../../base.js');
|
|
4
|
+
var types = require('../../../lib/types.js');
|
|
5
|
+
var currency = require('./currency.js');
|
|
6
|
+
|
|
7
|
+
/***********************************************************************************************************************
|
|
8
|
+
* This file is auto-generated. If you have an issue, please create a GitHub issue. *
|
|
9
|
+
***********************************************************************************************************************/
|
|
10
|
+
class ApplicationCredit extends base.Base {
|
|
11
|
+
static apiVersion = types.ApiVersion.April26;
|
|
12
|
+
static hasOne = {
|
|
13
|
+
"currency": currency.Currency
|
|
14
|
+
};
|
|
15
|
+
static hasMany = {};
|
|
16
|
+
static paths = [
|
|
17
|
+
{ "http_method": "get", "operation": "get", "ids": [], "path": "application_credits.json" },
|
|
18
|
+
{ "http_method": "get", "operation": "get", "ids": ["id"], "path": "application_credits/<id>.json" }
|
|
19
|
+
];
|
|
20
|
+
static resourceNames = [
|
|
21
|
+
{
|
|
22
|
+
"singular": "application_credit",
|
|
23
|
+
"plural": "application_credits"
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
static async find({ session, id, fields = null }) {
|
|
27
|
+
const result = await this.baseFind({
|
|
28
|
+
session: session,
|
|
29
|
+
urlIds: { "id": id },
|
|
30
|
+
params: { "fields": fields },
|
|
31
|
+
});
|
|
32
|
+
return result.data ? result.data[0] : null;
|
|
33
|
+
}
|
|
34
|
+
static async all({ session, fields = null, ...otherArgs }) {
|
|
35
|
+
const response = await this.baseFind({
|
|
36
|
+
session: session,
|
|
37
|
+
urlIds: {},
|
|
38
|
+
params: { "fields": fields, ...otherArgs },
|
|
39
|
+
});
|
|
40
|
+
return response;
|
|
41
|
+
}
|
|
42
|
+
amount;
|
|
43
|
+
currency;
|
|
44
|
+
description;
|
|
45
|
+
id;
|
|
46
|
+
test;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
exports.ApplicationCredit = ApplicationCredit;
|
|
50
|
+
//# sourceMappingURL=application_credit.js.map
|