@agnostack/next-shopify 1.7.5-beta.8 → 1.7.5
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/handlers/api/index.d.ts +1 -0
- package/dist/handlers/api/index.js +1 -0
- package/dist/handlers/api/index.js.map +1 -1
- package/dist/handlers/api/proxy.js +5 -38
- package/dist/handlers/api/proxy.js.map +1 -1
- package/dist/handlers/api/rest.js +1 -0
- package/dist/handlers/api/rest.js.map +1 -1
- package/dist/handlers/api/uninstall.js +23 -18
- package/dist/handlers/api/uninstall.js.map +1 -1
- package/dist/handlers/api/webhook.d.ts +1 -0
- package/dist/handlers/api/webhook.js +82 -0
- package/dist/handlers/api/webhook.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/constants.d.ts +182 -8
- package/dist/utils/constants.js +184 -12
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/crypto.d.ts +2 -2
- package/dist/utils/crypto.js +19 -16
- package/dist/utils/crypto.js.map +1 -1
- package/dist/utils/display.d.ts +3 -0
- package/dist/utils/display.js +18 -1
- package/dist/utils/display.js.map +1 -1
- package/dist/utils/session.d.ts +2 -3
- package/dist/utils/session.js +28 -25
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/shopify.d.ts +1 -0
- package/dist/utils/shopify.js +48 -21
- package/dist/utils/shopify.js.map +1 -1
- package/dist/withShopify.js +30 -6
- package/dist/withShopify.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/constants.js
CHANGED
|
@@ -1,29 +1,201 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.BILLING_INTERVALS = exports.API_ROUTE_NAMES = exports.convertEventTopic = exports.API_WEBHOOK_TOPICS = exports.PAGE_ROUTE_NAMES = exports.COLLECTION_ROOT = void 0;
|
|
4
4
|
exports.COLLECTION_ROOT = 'oauth-data';
|
|
5
5
|
exports.PAGE_ROUTE_NAMES = {
|
|
6
6
|
EXIT: 'pageRouteExit',
|
|
7
7
|
ERROR: 'pageRouteError',
|
|
8
8
|
};
|
|
9
|
+
exports.API_WEBHOOK_TOPICS = {
|
|
10
|
+
APP_UNINSTALLED: 'APP_UNINSTALLED',
|
|
11
|
+
APP_PURCHASES_ONE_TIME_UPDATE: 'APP_PURCHASES_ONE_TIME_UPDATE',
|
|
12
|
+
APP_SUBSCRIPTIONS_APPROACHING_CAPPED_AMOUNT: 'APP_SUBSCRIPTIONS_APPROACHING_CAPPED_AMOUNT',
|
|
13
|
+
APP_SUBSCRIPTIONS_UPDATE: 'APP_SUBSCRIPTIONS_UPDATE',
|
|
14
|
+
ATTRIBUTED_SESSIONS_FIRST: 'ATTRIBUTED_SESSIONS_FIRST',
|
|
15
|
+
ATTRIBUTED_SESSIONS_LAST: 'ATTRIBUTED_SESSIONS_LAST',
|
|
16
|
+
AUDIT_EVENTS_ADMIN_API_ACTIVITY: 'AUDIT_EVENTS_ADMIN_API_ACTIVITY',
|
|
17
|
+
BULK_OPERATIONS_FINISH: 'BULK_OPERATIONS_FINISH',
|
|
18
|
+
CARTS_CREATE: 'CARTS_CREATE',
|
|
19
|
+
CARTS_UPDATE: 'CARTS_UPDATE',
|
|
20
|
+
CHANNELS_DELETE: 'CHANNELS_DELETE',
|
|
21
|
+
CHECKOUTS_CREATE: 'CHECKOUTS_CREATE',
|
|
22
|
+
CHECKOUTS_DELETE: 'CHECKOUTS_DELETE',
|
|
23
|
+
CHECKOUTS_UPDATE: 'CHECKOUTS_UPDATE',
|
|
24
|
+
COLLECTIONS_CREATE: 'COLLECTIONS_CREATE',
|
|
25
|
+
COLLECTIONS_DELETE: 'COLLECTIONS_DELETE',
|
|
26
|
+
COLLECTIONS_UPDATE: 'COLLECTIONS_UPDATE',
|
|
27
|
+
COLLECTION_LISTINGS_ADD: 'COLLECTION_LISTINGS_ADD',
|
|
28
|
+
COLLECTION_LISTINGS_REMOVE: 'COLLECTION_LISTINGS_REMOVE',
|
|
29
|
+
COLLECTION_LISTINGS_UPDATE: 'COLLECTION_LISTINGS_UPDATE',
|
|
30
|
+
COLLECTION_PUBLICATIONS_CREATE: 'COLLECTION_PUBLICATIONS_CREATE',
|
|
31
|
+
COLLECTION_PUBLICATIONS_DELETE: 'COLLECTION_PUBLICATIONS_DELETE',
|
|
32
|
+
COLLECTION_PUBLICATIONS_UPDATE: 'COLLECTION_PUBLICATIONS_UPDATE',
|
|
33
|
+
COMPANIES_CREATE: 'COMPANIES_CREATE',
|
|
34
|
+
COMPANIES_DELETE: 'COMPANIES_DELETE',
|
|
35
|
+
COMPANIES_UPDATE: 'COMPANIES_UPDATE',
|
|
36
|
+
COMPANY_CONTACTS_CREATE: 'COMPANY_CONTACTS_CREATE',
|
|
37
|
+
COMPANY_CONTACTS_DELETE: 'COMPANY_CONTACTS_DELETE',
|
|
38
|
+
COMPANY_CONTACTS_UPDATE: 'COMPANY_CONTACTS_UPDATE',
|
|
39
|
+
COMPANY_LOCATIONS_CREATE: 'COMPANY_LOCATIONS_CREATE',
|
|
40
|
+
COMPANY_LOCATIONS_DELETE: 'COMPANY_LOCATIONS_DELETE',
|
|
41
|
+
COMPANY_LOCATIONS_UPDATE: 'COMPANY_LOCATIONS_UPDATE',
|
|
42
|
+
CUSTOMERS_CREATE: 'CUSTOMERS_CREATE',
|
|
43
|
+
CUSTOMERS_DELETE: 'CUSTOMERS_DELETE',
|
|
44
|
+
CUSTOMERS_DISABLE: 'CUSTOMERS_DISABLE',
|
|
45
|
+
CUSTOMERS_ENABLE: 'CUSTOMERS_ENABLE',
|
|
46
|
+
CUSTOMERS_MARKETING_CONSENT_UPDATE: 'CUSTOMERS_MARKETING_CONSENT_UPDATE',
|
|
47
|
+
CUSTOMERS_MERGE: 'CUSTOMERS_MERGE',
|
|
48
|
+
CUSTOMERS_UPDATE: 'CUSTOMERS_UPDATE',
|
|
49
|
+
CUSTOMER_GROUPS_CREATE: 'CUSTOMER_GROUPS_CREATE',
|
|
50
|
+
CUSTOMER_GROUPS_DELETE: 'CUSTOMER_GROUPS_DELETE',
|
|
51
|
+
CUSTOMER_GROUPS_UPDATE: 'CUSTOMER_GROUPS_UPDATE',
|
|
52
|
+
CUSTOMER_PAYMENT_METHODS_CREATE: 'CUSTOMER_PAYMENT_METHODS_CREATE',
|
|
53
|
+
CUSTOMER_PAYMENT_METHODS_REVOKE: 'CUSTOMER_PAYMENT_METHODS_REVOKE',
|
|
54
|
+
CUSTOMER_PAYMENT_METHODS_UPDATE: 'CUSTOMER_PAYMENT_METHODS_UPDATE',
|
|
55
|
+
DISPUTES_CREATE: 'DISPUTES_CREATE',
|
|
56
|
+
DISPUTES_UPDATE: 'DISPUTES_UPDATE',
|
|
57
|
+
DOMAINS_CREATE: 'DOMAINS_CREATE',
|
|
58
|
+
DOMAINS_DESTROY: 'DOMAINS_DESTROY',
|
|
59
|
+
DOMAINS_UPDATE: 'DOMAINS_UPDATE',
|
|
60
|
+
DRAFT_ORDERS_CREATE: 'DRAFT_ORDERS_CREATE',
|
|
61
|
+
DRAFT_ORDERS_DELETE: 'DRAFT_ORDERS_DELETE',
|
|
62
|
+
DRAFT_ORDERS_UPDATE: 'DRAFT_ORDERS_UPDATE',
|
|
63
|
+
FULFILLMENTS_CREATE: 'FULFILLMENTS_CREATE',
|
|
64
|
+
FULFILLMENTS_UPDATE: 'FULFILLMENTS_UPDATE',
|
|
65
|
+
FULFILLMENT_EVENTS_CREATE: 'FULFILLMENT_EVENTS_CREATE',
|
|
66
|
+
FULFILLMENT_EVENTS_DELETE: 'FULFILLMENT_EVENTS_DELETE',
|
|
67
|
+
FULFILLMENT_ORDERS_CANCELLATION_REQUEST_ACCEPTED: 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_ACCEPTED',
|
|
68
|
+
FULFILLMENT_ORDERS_CANCELLATION_REQUEST_REJECTED: 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_REJECTED',
|
|
69
|
+
FULFILLMENT_ORDERS_CANCELLATION_REQUEST_SUBMITTED: 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_SUBMITTED',
|
|
70
|
+
FULFILLMENT_ORDERS_CANCELLED: 'FULFILLMENT_ORDERS_CANCELLED',
|
|
71
|
+
FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_ACCEPTED: 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_ACCEPTED',
|
|
72
|
+
FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_REJECTED: 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_REJECTED',
|
|
73
|
+
FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_SUBMITTED: 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_SUBMITTED',
|
|
74
|
+
FULFILLMENT_ORDERS_FULFILLMENT_SERVICE_FAILED_TO_COMPLETE: 'FULFILLMENT_ORDERS_FULFILLMENT_SERVICE_FAILED_TO_COMPLETE',
|
|
75
|
+
FULFILLMENT_ORDERS_HOLD_RELEASED: 'FULFILLMENT_ORDERS_HOLD_RELEASED',
|
|
76
|
+
FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY: 'FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY',
|
|
77
|
+
FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_PICKUP: 'FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_PICKUP',
|
|
78
|
+
FULFILLMENT_ORDERS_MOVED: 'FULFILLMENT_ORDERS_MOVED',
|
|
79
|
+
FULFILLMENT_ORDERS_ORDER_ROUTING_COMPLETE: 'FULFILLMENT_ORDERS_ORDER_ROUTING_COMPLETE',
|
|
80
|
+
FULFILLMENT_ORDERS_PLACED_ON_HOLD: 'FULFILLMENT_ORDERS_PLACED_ON_HOLD',
|
|
81
|
+
FULFILLMENT_ORDERS_RESCHEDULED: 'FULFILLMENT_ORDERS_RESCHEDULED',
|
|
82
|
+
FULFILLMENT_ORDERS_SCHEDULED_FULFILLMENT_ORDER_READY: 'FULFILLMENT_ORDERS_SCHEDULED_FULFILLMENT_ORDER_READY',
|
|
83
|
+
INVENTORY_ITEMS_CREATE: 'INVENTORY_ITEMS_CREATE',
|
|
84
|
+
INVENTORY_ITEMS_DELETE: 'INVENTORY_ITEMS_DELETE',
|
|
85
|
+
INVENTORY_ITEMS_UPDATE: 'INVENTORY_ITEMS_UPDATE',
|
|
86
|
+
INVENTORY_LEVELS_CONNECT: 'INVENTORY_LEVELS_CONNECT',
|
|
87
|
+
INVENTORY_LEVELS_DISCONNECT: 'INVENTORY_LEVELS_DISCONNECT',
|
|
88
|
+
INVENTORY_LEVELS_UPDATE: 'INVENTORY_LEVELS_UPDATE',
|
|
89
|
+
LOCALES_CREATE: 'LOCALES_CREATE',
|
|
90
|
+
LOCALES_UPDATE: 'LOCALES_UPDATE',
|
|
91
|
+
LOCATIONS_ACTIVATE: 'LOCATIONS_ACTIVATE',
|
|
92
|
+
LOCATIONS_CREATE: 'LOCATIONS_CREATE',
|
|
93
|
+
LOCATIONS_DEACTIVATE: 'LOCATIONS_DEACTIVATE',
|
|
94
|
+
LOCATIONS_DELETE: 'LOCATIONS_DELETE',
|
|
95
|
+
LOCATIONS_UPDATE: 'LOCATIONS_UPDATE',
|
|
96
|
+
MARKETS_CREATE: 'MARKETS_CREATE',
|
|
97
|
+
MARKETS_DELETE: 'MARKETS_DELETE',
|
|
98
|
+
MARKETS_UPDATE: 'MARKETS_UPDATE',
|
|
99
|
+
ORDERS_CANCELLED: 'ORDERS_CANCELLED',
|
|
100
|
+
ORDERS_CREATE: 'ORDERS_CREATE',
|
|
101
|
+
ORDERS_DELETE: 'ORDERS_DELETE',
|
|
102
|
+
ORDERS_EDITED: 'ORDERS_EDITED',
|
|
103
|
+
ORDERS_FULFILLED: 'ORDERS_FULFILLED',
|
|
104
|
+
ORDERS_PAID: 'ORDERS_PAID',
|
|
105
|
+
ORDERS_PARTIALLY_FULFILLED: 'ORDERS_PARTIALLY_FULFILLED',
|
|
106
|
+
ORDERS_UPDATED: 'ORDERS_UPDATED',
|
|
107
|
+
ORDER_TRANSACTIONS_CREATE: 'ORDER_TRANSACTIONS_CREATE',
|
|
108
|
+
PAYMENT_SCHEDULES_DUE: 'PAYMENT_SCHEDULES_DUE',
|
|
109
|
+
PAYMENT_TERMS_CREATE: 'PAYMENT_TERMS_CREATE',
|
|
110
|
+
PAYMENT_TERMS_DELETE: 'PAYMENT_TERMS_DELETE',
|
|
111
|
+
PAYMENT_TERMS_UPDATE: 'PAYMENT_TERMS_UPDATE',
|
|
112
|
+
PRODUCTS_CREATE: 'PRODUCTS_CREATE',
|
|
113
|
+
PRODUCTS_DELETE: 'PRODUCTS_DELETE',
|
|
114
|
+
PRODUCTS_UPDATE: 'PRODUCTS_UPDATE',
|
|
115
|
+
PRODUCT_LISTINGS_ADD: 'PRODUCT_LISTINGS_ADD',
|
|
116
|
+
PRODUCT_LISTINGS_REMOVE: 'PRODUCT_LISTINGS_REMOVE',
|
|
117
|
+
PRODUCT_LISTINGS_UPDATE: 'PRODUCT_LISTINGS_UPDATE',
|
|
118
|
+
PRODUCT_PUBLICATIONS_CREATE: 'PRODUCT_PUBLICATIONS_CREATE',
|
|
119
|
+
PRODUCT_PUBLICATIONS_DELETE: 'PRODUCT_PUBLICATIONS_DELETE',
|
|
120
|
+
PRODUCT_PUBLICATIONS_UPDATE: 'PRODUCT_PUBLICATIONS_UPDATE',
|
|
121
|
+
PROFILES_CREATE: 'PROFILES_CREATE',
|
|
122
|
+
PROFILES_DELETE: 'PROFILES_DELETE',
|
|
123
|
+
PROFILES_UPDATE: 'PROFILES_UPDATE',
|
|
124
|
+
REFUNDS_CREATE: 'REFUNDS_CREATE',
|
|
125
|
+
RETURNS_APPROVE: 'RETURNS_APPROVE',
|
|
126
|
+
RETURNS_CANCEL: 'RETURNS_CANCEL',
|
|
127
|
+
RETURNS_CLOSE: 'RETURNS_CLOSE',
|
|
128
|
+
RETURNS_DECLINE: 'RETURNS_DECLINE',
|
|
129
|
+
RETURNS_REOPEN: 'RETURNS_REOPEN',
|
|
130
|
+
RETURNS_REQUEST: 'RETURNS_REQUEST',
|
|
131
|
+
REVERSE_DELIVERIES_ATTACH_DELIVERABLE: 'REVERSE_DELIVERIES_ATTACH_DELIVERABLE',
|
|
132
|
+
REVERSE_FULFILLMENT_ORDERS_DISPOSE: 'REVERSE_FULFILLMENT_ORDERS_DISPOSE',
|
|
133
|
+
SCHEDULED_PRODUCT_LISTINGS_ADD: 'SCHEDULED_PRODUCT_LISTINGS_ADD',
|
|
134
|
+
SCHEDULED_PRODUCT_LISTINGS_REMOVE: 'SCHEDULED_PRODUCT_LISTINGS_REMOVE',
|
|
135
|
+
SCHEDULED_PRODUCT_LISTINGS_UPDATE: 'SCHEDULED_PRODUCT_LISTINGS_UPDATE',
|
|
136
|
+
SEGMENTS_CREATE: 'SEGMENTS_CREATE',
|
|
137
|
+
SEGMENTS_DELETE: 'SEGMENTS_DELETE',
|
|
138
|
+
SEGMENTS_UPDATE: 'SEGMENTS_UPDATE',
|
|
139
|
+
SELLING_PLAN_GROUPS_CREATE: 'SELLING_PLAN_GROUPS_CREATE',
|
|
140
|
+
SELLING_PLAN_GROUPS_DELETE: 'SELLING_PLAN_GROUPS_DELETE',
|
|
141
|
+
SELLING_PLAN_GROUPS_UPDATE: 'SELLING_PLAN_GROUPS_UPDATE',
|
|
142
|
+
SHIPPING_ADDRESSES_CREATE: 'SHIPPING_ADDRESSES_CREATE',
|
|
143
|
+
SHIPPING_ADDRESSES_UPDATE: 'SHIPPING_ADDRESSES_UPDATE',
|
|
144
|
+
SHOP_UPDATE: 'SHOP_UPDATE',
|
|
145
|
+
SUBSCRIPTION_BILLING_ATTEMPTS_CHALLENGED: 'SUBSCRIPTION_BILLING_ATTEMPTS_CHALLENGED',
|
|
146
|
+
SUBSCRIPTION_BILLING_ATTEMPTS_FAILURE: 'SUBSCRIPTION_BILLING_ATTEMPTS_FAILURE',
|
|
147
|
+
SUBSCRIPTION_BILLING_ATTEMPTS_SUCCESS: 'SUBSCRIPTION_BILLING_ATTEMPTS_SUCCESS',
|
|
148
|
+
SUBSCRIPTION_BILLING_CYCLE_EDITS_CREATE: 'SUBSCRIPTION_BILLING_CYCLE_EDITS_CREATE',
|
|
149
|
+
SUBSCRIPTION_BILLING_CYCLE_EDITS_DELETE: 'SUBSCRIPTION_BILLING_CYCLE_EDITS_DELETE',
|
|
150
|
+
SUBSCRIPTION_BILLING_CYCLE_EDITS_UPDATE: 'SUBSCRIPTION_BILLING_CYCLE_EDITS_UPDATE',
|
|
151
|
+
SUBSCRIPTION_CONTRACTS_CREATE: 'SUBSCRIPTION_CONTRACTS_CREATE',
|
|
152
|
+
SUBSCRIPTION_CONTRACTS_UPDATE: 'SUBSCRIPTION_CONTRACTS_UPDATE',
|
|
153
|
+
TAX_SERVICES_CREATE: 'TAX_SERVICES_CREATE',
|
|
154
|
+
TAX_SERVICES_UPDATE: 'TAX_SERVICES_UPDATE',
|
|
155
|
+
TENDER_TRANSACTIONS_CREATE: 'TENDER_TRANSACTIONS_CREATE',
|
|
156
|
+
THEMES_CREATE: 'THEMES_CREATE',
|
|
157
|
+
THEMES_DELETE: 'THEMES_DELETE',
|
|
158
|
+
THEMES_PUBLISH: 'THEMES_PUBLISH',
|
|
159
|
+
THEMES_UPDATE: 'THEMES_UPDATE',
|
|
160
|
+
VARIANTS_IN_STOCK: 'VARIANTS_IN_STOCK',
|
|
161
|
+
VARIANTS_OUT_OF_STOCK: 'VARIANTS_OUT_OF_STOCK',
|
|
162
|
+
// NOTE: latest webhooks as of 6/3/23 UNSTABLE below (https://shopify.dev/docs/api/admin-graphql/unstable/enums/WebhookSubscriptionTopic)
|
|
163
|
+
CHECKOUTS_PAID: 'CHECKOUTS_PAID',
|
|
164
|
+
COMPANY_CONTACT_ROLES_ASSIGN: 'COMPANY_CONTACT_ROLES_ASSIGN',
|
|
165
|
+
COMPANY_CONTACT_ROLES_REVOKE: 'COMPANY_CONTACT_ROLES_REVOKE',
|
|
166
|
+
CUSTOMERS_EMAIL_MARKETING_CONSENT_UPDATE: 'CUSTOMERS_EMAIL_MARKETING_CONSENT_UPDATE',
|
|
167
|
+
FINANCE_KYC_INFORMATION_UPDATE: 'FINANCE_KYC_INFORMATION_UPDATE',
|
|
168
|
+
FULFILLMENT_ORDERS_HOLD_FULFILLMENT: 'FULFILLMENT_ORDERS_HOLD_FULFILLMENT',
|
|
169
|
+
FULFILLMENT_ORDERS_READY_FOR_PICKUP: 'FULFILLMENT_ORDERS_READY_FOR_PICKUP',
|
|
170
|
+
FULFILLMENT_ORDERS_READY_TO_FULFILL: 'FULFILLMENT_ORDERS_READY_TO_FULFILL',
|
|
171
|
+
INVENTORY_QUANTITIES_CHANGED: 'INVENTORY_QUANTITIES_CHANGED',
|
|
172
|
+
MARKETPLACE_PAYMENTS_CONFIGURATIONS_UPDATE: 'MARKETPLACE_PAYMENTS_CONFIGURATIONS_UPDATE',
|
|
173
|
+
PRODUCT_FEEDS_CREATE: 'PRODUCT_FEEDS_CREATE',
|
|
174
|
+
PRODUCT_FEEDS_FULL_SYNC: 'PRODUCT_FEEDS_FULL_SYNC',
|
|
175
|
+
PRODUCT_FEEDS_INCREMENTAL_SYNC: 'PRODUCT_FEEDS_INCREMENTAL_SYNC',
|
|
176
|
+
PRODUCT_FEEDS_UPDATE: 'PRODUCT_FEEDS_UPDATE',
|
|
177
|
+
PUBLICATIONS_DELETE: 'PUBLICATIONS_DELETE',
|
|
178
|
+
PURCHASE_ORDERS_CREATE: 'PURCHASE_ORDERS_CREATE',
|
|
179
|
+
PURCHASE_ORDERS_DELETE: 'PURCHASE_ORDERS_DELETE',
|
|
180
|
+
PURCHASE_ORDERS_MARK_AS_ORDERED: 'PURCHASE_ORDERS_MARK_AS_ORDERED',
|
|
181
|
+
PURCHASE_ORDERS_RECEIVE: 'PURCHASE_ORDERS_RECEIVE',
|
|
182
|
+
PURCHASE_ORDERS_UPDATE: 'PURCHASE_ORDERS_UPDATE',
|
|
183
|
+
SUPPLIERS_CREATE: 'SUPPLIERS_CREATE',
|
|
184
|
+
SUPPLIERS_DELETE: 'SUPPLIERS_DELETE',
|
|
185
|
+
SUPPLIERS_UPDATE: 'SUPPLIERS_UPDATE',
|
|
186
|
+
};
|
|
187
|
+
// NOTE: this is a duplicate of shopify-api-js/registry.topicForStorage
|
|
188
|
+
const convertEventTopic = (topic) => (exports.API_WEBHOOK_TOPICS[topic === null || topic === void 0 ? void 0 : topic.toUpperCase().replace(/\/|\./g, '_')]);
|
|
189
|
+
exports.convertEventTopic = convertEventTopic;
|
|
9
190
|
exports.API_ROUTE_NAMES = {
|
|
191
|
+
WEBHOOK_EVENT: 'apiRouteWebhook',
|
|
10
192
|
AUTH: 'apiRouteAuth',
|
|
11
193
|
AUTH_CALLBACK: 'apiRouteAuthCallback',
|
|
12
|
-
APP_UNINSTALLED: 'apiRouteAppUninstalled',
|
|
13
|
-
};
|
|
14
|
-
exports.API_WEBHOOK_TOPICS = {
|
|
15
|
-
APP_UNINSTALLED: 'APP_UNINSTALLED',
|
|
194
|
+
[exports.API_WEBHOOK_TOPICS.APP_UNINSTALLED]: 'apiRouteAppUninstalled',
|
|
16
195
|
};
|
|
17
196
|
exports.BILLING_INTERVALS = {
|
|
18
197
|
ONE_TIME: 'ONE_TIME',
|
|
19
198
|
EVERY_30_DAYS: 'EVERY_30_DAYS',
|
|
20
199
|
ANNUAL: 'ANNUAL',
|
|
21
200
|
};
|
|
22
|
-
exports.SHOP_QUERY = `
|
|
23
|
-
{
|
|
24
|
-
shop {
|
|
25
|
-
name
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
`;
|
|
29
201
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.js"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,YAAY,CAAA;AAE9B,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,gBAAgB;CACxB,CAAA;AAEY,QAAA,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.js"],"names":[],"mappings":"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"}
|
package/dist/utils/crypto.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export function generateHMAC(message: any, apiSecret: any, digest?: string): Buffer & string;
|
|
2
|
-
export function compareHashes(digestable: any, checkSumable: any, encoding?: string): boolean;
|
|
3
1
|
export function wrapKeyData(keyData: any, keyType?: string): string;
|
|
4
2
|
export function getRecrypted(encrypted: any): {
|
|
5
3
|
initialVector: any;
|
|
@@ -8,3 +6,5 @@ export function getRecrypted(encrypted: any): {
|
|
|
8
6
|
export function decryptAES(toDecrypt: any, sharedSecret: any, initialVector: any): string;
|
|
9
7
|
export function decryptRSAPublic(toDecrypt: any, publicKey: any, encoding?: string): string;
|
|
10
8
|
export function encryptRSAPrivate(toEncrypt: any, privateKey: any, encoding?: string): string;
|
|
9
|
+
export function generateHMAC(message: any, apiSecret: any, digest?: string): Buffer & string;
|
|
10
|
+
export function compareHashes(digestable: any, checkSumable: any, encoding?: string): boolean;
|
package/dist/utils/crypto.js
CHANGED
|
@@ -3,24 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.compareHashes = exports.generateHMAC = exports.encryptRSAPrivate = exports.decryptRSAPublic = exports.decryptAES = exports.getRecrypted = exports.wrapKeyData = void 0;
|
|
7
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
8
8
|
const display_1 = require("./display");
|
|
9
|
-
const generateHMAC = (message, apiSecret, digest = 'hex') => (crypto_1.default.createHmac('sha256', apiSecret)
|
|
10
|
-
.update(message)
|
|
11
|
-
.digest(digest));
|
|
12
|
-
exports.generateHMAC = generateHMAC;
|
|
13
|
-
const compareHashes = (digestable, checkSumable, encoding = 'utf8') => {
|
|
14
|
-
const digest = (digestable instanceof ArrayBuffer)
|
|
15
|
-
? digestable
|
|
16
|
-
: Buffer.from(digestable, encoding);
|
|
17
|
-
const checkSum = (checkSumable instanceof ArrayBuffer)
|
|
18
|
-
? checkSumable
|
|
19
|
-
: Buffer.from(checkSumable, encoding);
|
|
20
|
-
return ((digest.length === checkSum.length) &&
|
|
21
|
-
crypto_1.default.timingSafeEqual(digest, checkSum));
|
|
22
|
-
};
|
|
23
|
-
exports.compareHashes = compareHashes;
|
|
24
9
|
const wrapKeyData = (keyData, keyType = 'RSA PRIVATE') => (`-----BEGIN ${keyType} KEY-----${display_1.ensureString(keyData).replace(/"/g, '')}-----END ${keyType} KEY-----\n`.replace(/\\n/g, '\n'));
|
|
25
10
|
exports.wrapKeyData = wrapKeyData;
|
|
26
11
|
const getRecrypted = (encrypted) => {
|
|
@@ -51,4 +36,22 @@ const encryptRSAPrivate = (toEncrypt, privateKey, encoding = 'utf8') => (!toEncr
|
|
|
51
36
|
.privateEncrypt(privateKey, Buffer.from(JSON.stringify(toEncrypt), encoding))
|
|
52
37
|
.toString('base64'));
|
|
53
38
|
exports.encryptRSAPrivate = encryptRSAPrivate;
|
|
39
|
+
const generateHMAC = (message, apiSecret, digest = 'hex') => {
|
|
40
|
+
console.log(`>>> generateHMAC > message, apiSecret, digest:`, { message, apiSecret, digest });
|
|
41
|
+
return crypto_1.default.createHmac('sha256', apiSecret)
|
|
42
|
+
.update(message)
|
|
43
|
+
.digest(digest);
|
|
44
|
+
};
|
|
45
|
+
exports.generateHMAC = generateHMAC;
|
|
46
|
+
const compareHashes = (digestable, checkSumable, encoding = 'utf8') => {
|
|
47
|
+
const digest = (digestable instanceof ArrayBuffer)
|
|
48
|
+
? digestable
|
|
49
|
+
: Buffer.from(digestable, encoding);
|
|
50
|
+
const checkSum = (checkSumable instanceof ArrayBuffer)
|
|
51
|
+
? checkSumable
|
|
52
|
+
: Buffer.from(checkSumable, encoding);
|
|
53
|
+
return ((digest.length === checkSum.length) &&
|
|
54
|
+
crypto_1.default.timingSafeEqual(digest, checkSum));
|
|
55
|
+
};
|
|
56
|
+
exports.compareHashes = compareHashes;
|
|
54
57
|
//# sourceMappingURL=crypto.js.map
|
package/dist/utils/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.js"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAE3B,uCAAwC;AAEjC,MAAM,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.js"],"names":[],"mappings":"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"}
|
package/dist/utils/display.d.ts
CHANGED
|
@@ -23,3 +23,6 @@ export function splitCommas(value: any): any[];
|
|
|
23
23
|
export function arrayIncludesAll(_values: any, comparison: any): boolean;
|
|
24
24
|
export function arraysMatch(array1: any, array2: any): boolean;
|
|
25
25
|
export function templateReplace(template: any, replacements: any, partials: any, tokens: any): any;
|
|
26
|
+
export function compareString(string1: any, string2: any): number;
|
|
27
|
+
export function compareEntryKeys([string1]: [any], [string2]: [any]): number;
|
|
28
|
+
export function objectToSortedString(object: any, separator?: string): string;
|
package/dist/utils/display.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.templateReplace = exports.arraysMatch = exports.arrayIncludesAll = exports.splitCommas = exports.safeParse = exports.safeTrim = exports.cleanObject = exports.isTrue = exports.unsnakecase = exports.arrayNotEmpty = exports.arrayEmpty = exports.stringEmpty = exports.stringNotEmpty = exports.objectNotEmpty = exports.objectEmpty = exports.ensureNumeric = exports.ensureArray = exports.ensureString = exports.ensureObject = exports.isType = exports.querystringToObject = exports.getInteger = exports.getGUID = void 0;
|
|
6
|
+
exports.objectToSortedString = exports.compareEntryKeys = exports.compareString = exports.templateReplace = exports.arraysMatch = exports.arrayIncludesAll = exports.splitCommas = exports.safeParse = exports.safeTrim = exports.cleanObject = exports.isTrue = exports.unsnakecase = exports.arrayNotEmpty = exports.arrayEmpty = exports.stringEmpty = exports.stringNotEmpty = exports.objectNotEmpty = exports.objectEmpty = exports.ensureNumeric = exports.ensureArray = exports.ensureString = exports.ensureObject = exports.isType = exports.querystringToObject = exports.getInteger = exports.getGUID = void 0;
|
|
7
7
|
/* eslint-disable no-use-before-define */
|
|
8
8
|
const mustache_1 = __importDefault(require("mustache"));
|
|
9
9
|
const uuid_1 = require("uuid");
|
|
@@ -125,4 +125,21 @@ const templateReplace = (template, replacements, partials, tokens) => {
|
|
|
125
125
|
return mustache_1.default.render(exports.ensureString(template), exports.ensureObject(replacements), partials, tokens);
|
|
126
126
|
};
|
|
127
127
|
exports.templateReplace = templateReplace;
|
|
128
|
+
const compareString = (string1, string2) => {
|
|
129
|
+
if (exports.stringEmpty(string1)) {
|
|
130
|
+
return 1;
|
|
131
|
+
}
|
|
132
|
+
if (exports.stringEmpty(string2)) {
|
|
133
|
+
return -1;
|
|
134
|
+
}
|
|
135
|
+
return exports.ensureString(string1).localeCompare(string2);
|
|
136
|
+
};
|
|
137
|
+
exports.compareString = compareString;
|
|
138
|
+
const compareEntryKeys = ([string1], [string2]) => (exports.compareString(string1, string2));
|
|
139
|
+
exports.compareEntryKeys = compareEntryKeys;
|
|
140
|
+
const objectToSortedString = (object, separator = '') => (Object.entries(exports.ensureObject(object))
|
|
141
|
+
.sort(exports.compareEntryKeys)
|
|
142
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
143
|
+
.join(separator));
|
|
144
|
+
exports.objectToSortedString = objectToSortedString;
|
|
128
145
|
//# sourceMappingURL=display.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/utils/display.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/utils/display.js"],"names":[],"mappings":"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"}
|
package/dist/utils/session.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
export function getShopifyHelpers(serverRuntimeConfig: any, { shop
|
|
2
|
-
[x: string]: any;
|
|
1
|
+
export function getShopifyHelpers(serverRuntimeConfig: any, { shop }: {
|
|
3
2
|
shop: any;
|
|
4
3
|
}): Promise<{
|
|
5
4
|
shopify: any;
|
|
6
|
-
loadSession: ({ req, res }
|
|
5
|
+
loadSession: ({ req, res }?: {
|
|
7
6
|
req: any;
|
|
8
7
|
res: any;
|
|
9
8
|
}) => Promise<any>;
|
package/dist/utils/session.js
CHANGED
|
@@ -15,16 +15,13 @@ exports.getVerifiedClients = exports.getShopifyHelpers = void 0;
|
|
|
15
15
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
16
16
|
const luxon_1 = require("luxon");
|
|
17
17
|
const billing_1 = require("./billing");
|
|
18
|
+
const crypto_1 = require("./crypto");
|
|
18
19
|
const display_1 = require("./display");
|
|
19
20
|
const shopify_1 = require("./shopify");
|
|
20
21
|
const firebase_1 = require("./firebase");
|
|
21
22
|
const errors_1 = require("./errors");
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const crypto_2 = require("./crypto");
|
|
25
|
-
const getShopifyHelpers = async (serverRuntimeConfig, _a) => {
|
|
26
|
-
var { shop } = _a, overrides = __rest(_a, ["shop"]);
|
|
27
|
-
const shopify = await shopify_1.getInitializedShopify(serverRuntimeConfig, overrides);
|
|
23
|
+
const getShopifyHelpers = async (serverRuntimeConfig, { shop }) => {
|
|
24
|
+
const shopify = await shopify_1.getInitializedShopify(serverRuntimeConfig);
|
|
28
25
|
const { FB_CONFIG, FB_ROOT_COLLECTION, SESSION_CONFIG, APP_ID } = serverRuntimeConfig;
|
|
29
26
|
const sessionHandler = firebase_1.FirebaseSessionHandler.getInstance(FB_CONFIG, {
|
|
30
27
|
collection: FB_ROOT_COLLECTION,
|
|
@@ -36,26 +33,32 @@ const getShopifyHelpers = async (serverRuntimeConfig, _a) => {
|
|
|
36
33
|
const { initialVector: hiddenPrivateIv, encrypted: recryptedPrivateKey, } = crypto_1.getRecrypted(SESSION_CONFIG.encryptedPrivateKey);
|
|
37
34
|
const privateKey = crypto_1.wrapKeyData(crypto_1.decryptAES(recryptedPrivateKey, SESSION_CONFIG.sharedSecret, hiddenPrivateIv));
|
|
38
35
|
// #endregion CRYPTO
|
|
39
|
-
const decryptVerifySession = async ({ req, res }) => {
|
|
36
|
+
const decryptVerifySession = async ({ req, res } = {}) => {
|
|
40
37
|
var _a, _b;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
38
|
+
try {
|
|
39
|
+
const sessionId = ((req != undefined) && (res != undefined))
|
|
40
|
+
? (await shopify.session.getCurrentId({
|
|
41
|
+
isOnline: true,
|
|
42
|
+
rawRequest: req,
|
|
43
|
+
rawResponse: res,
|
|
44
|
+
})) : (await shopify.session.getOfflineId(shop) // NOTE: not sure if this is working yet?
|
|
45
|
+
);
|
|
46
|
+
const _c = (_a = (await firebase_1.loadCallback(sessionHandler, sessionId))) !== null && _a !== void 0 ? _a : {}, { accessToken: encryptedAccessToken } = _c, session = __rest(_c, ["accessToken"]);
|
|
47
|
+
// TODO clear sessions if undefined???
|
|
48
|
+
if (display_1.stringNotEmpty(session === null || session === void 0 ? void 0 : session.shop) && (session.shop !== shop)) {
|
|
49
|
+
throw new Error('Invalid shop');
|
|
50
|
+
}
|
|
51
|
+
const scopesUnchanged = display_1.arraysMatch(display_1.splitCommas((_b = shopify.config) === null || _b === void 0 ? void 0 : _b.scopes.toString()), display_1.splitCommas(session === null || session === void 0 ? void 0 : session.scope));
|
|
52
|
+
const sessionExpired = !(session === null || session === void 0 ? void 0 : session.expires) || (luxon_1.DateTime.fromISO(session.expires) < luxon_1.DateTime.now());
|
|
53
|
+
const sessionActive = (scopesUnchanged && !sessionExpired);
|
|
54
|
+
if (!sessionActive) {
|
|
55
|
+
throw new Error('Inactive session');
|
|
56
|
+
}
|
|
57
|
+
return Object.assign(Object.assign({}, session), { accessToken: JSON.parse(crypto_1.decryptRSAPublic(encryptedAccessToken, publicKey)) });
|
|
51
58
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const sessionActive = (scopesUnchanged && !sessionExpired);
|
|
55
|
-
if (!sessionActive) {
|
|
56
|
-
throw new errors_1.ShopifyAuthenticationError('Inactive session');
|
|
59
|
+
catch (error) {
|
|
60
|
+
throw new errors_1.ShopifyAuthenticationError(error === null || error === void 0 ? void 0 : error.message);
|
|
57
61
|
}
|
|
58
|
-
return Object.assign(Object.assign({}, session), { accessToken: JSON.parse(crypto_2.decryptRSAPublic(encryptedAccessToken, publicKey)) });
|
|
59
62
|
};
|
|
60
63
|
const encryptStoreSession = async (_session) => {
|
|
61
64
|
const { accessToken } = _session, session = __rest(_session, ["accessToken"]);
|
|
@@ -73,10 +76,10 @@ const getShopifyHelpers = async (serverRuntimeConfig, _a) => {
|
|
|
73
76
|
exports.getShopifyHelpers = getShopifyHelpers;
|
|
74
77
|
const getVerifiedClients = async (serverRuntimeConfig, { req, res, shop, apiVersion }) => {
|
|
75
78
|
try {
|
|
76
|
-
const { PAYMENT_CONFIG } = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {};
|
|
77
79
|
const { shopify, loadSession } = await exports.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
78
80
|
const session = await loadSession({ req, res });
|
|
79
81
|
const Graphql = new shopify.clients.Graphql(Object.assign({ session }, apiVersion && { apiVersion }));
|
|
82
|
+
const { PAYMENT_CONFIG } = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {};
|
|
80
83
|
if (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) {
|
|
81
84
|
const confirmationUrl = await billing_1.ensureBilling({
|
|
82
85
|
shopify,
|
|
@@ -91,7 +94,7 @@ const getVerifiedClients = async (serverRuntimeConfig, { req, res, shop, apiVers
|
|
|
91
94
|
}
|
|
92
95
|
else {
|
|
93
96
|
// NOTE making a test call to ensure a valid session for free apps
|
|
94
|
-
await Graphql.query({ data:
|
|
97
|
+
await Graphql.query({ data: shopify_1.SHOP_QUERY });
|
|
95
98
|
}
|
|
96
99
|
return {
|
|
97
100
|
Graphql,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAwD;AACxD,iCAAgC;AAEhC,uCAAyC;AACzC,uCAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAwD;AACxD,iCAAgC;AAEhC,uCAAyC;AACzC,qCAAqG;AACrG,uCAAoE;AACpE,uCAA6D;AAC7D,yCAMmB;AACnB,qCAAqD;AAE9C,MAAM,iBAAiB,GAAG,KAAK,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACvE,MAAM,OAAO,GAAG,MAAM,+BAAqB,CAAC,mBAAmB,CAAC,CAAA;IAChE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAA;IAErF,MAAM,cAAc,GAAG,iCAAsB,CAAC,WAAW,CACvD,SAAS,EACT;QACE,UAAU,EAAE,kBAAkB;QAC9B,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;KAC5E,CACF,CAAA;IAED,iBAAiB;IACjB,MAAM,EACJ,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,kBAAkB,GAC9B,GAAG,qBAAY,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,oBAAW,CAAC,mBAAU,CACtC,kBAAkB,EAClB,cAAc,CAAC,YAAY,EAC3B,cAAc,CACf,EAAE,YAAY,CAAC,CAAA;IAEhB,MAAM,EACJ,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,qBAAY,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;IACpD,MAAM,UAAU,GAAG,oBAAW,CAAC,mBAAU,CACvC,mBAAmB,EACnB,cAAc,CAAC,YAAY,EAC3B,eAAe,CAChB,CAAC,CAAA;IACF,oBAAoB;IAEpB,MAAM,oBAAoB,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;;QACvD,IAAI;YACF,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;gBAC1D,CAAC,CAAC,CACA,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;oBACjC,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,GAAG;oBACf,WAAW,EAAE,GAAG;iBACjB,CAAC,CACH,CAAC,CAAC,CAAC,CACF,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,yCAAyC;aACnF,CAAA;YAEH,MAAM,KAAoD,MAAA,CAAC,MAAM,uBAAY,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,mCAAI,EAAE,EAAzG,EAAE,WAAW,EAAE,oBAAoB,OAAsE,EAAjE,OAAO,cAA/C,eAAiD,CAAwD,CAAA;YAE/G,sCAAsC;YACtC,IAAI,wBAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;gBAC5D,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;aAChC;YAED,MAAM,eAAe,GAAG,qBAAW,CACjC,qBAAW,CAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAC9C,qBAAW,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAC5B,CAAA;YACD,MAAM,cAAc,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,IAAI,CAAC,gBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;YAChG,MAAM,aAAa,GAAG,CAAC,eAAe,IAAI,CAAC,cAAc,CAAC,CAAA;YAE1D,IAAG,CAAC,aAAa,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;aACpC;YAED,uCACK,OAAO,KACV,WAAW,EAAE,IAAI,CAAC,KAAK,CACrB,yBAAgB,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAClD,IACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,mCAA0B,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAA;SACrD;IACH,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC7C,MAAM,EAAE,WAAW,KAAiB,QAAQ,EAApB,OAAO,UAAK,QAAQ,EAAtC,eAA2B,CAAW,CAAA;QAC5C,MAAM,oBAAoB,GAAG,0BAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;QAEvE,OAAO,wBAAa,CAAC,cAAc,kCAC9B,OAAO,KACV,WAAW,EAAE,oBAAoB,IACjC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO;QACL,OAAO;QACP,WAAW,EAAE,oBAAoB;QACjC,YAAY,EAAE,mBAAmB;QACjC,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,iCAAsB,CAAC,cAAc,EAAE,UAAU,CAAC;QACxF,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,+BAAoB,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KACzG,CAAA;AACH,CAAC,CAAA;AA7FY,QAAA,iBAAiB,qBA6F7B;AAEM,MAAM,kBAAkB,GAAG,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;IAC9F,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,yBAAiB,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACvF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;QAE/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,iBAAG,OAAO,IAAK,UAAU,IAAI,EAAE,UAAU,EAAE,EAAG,CAAA;QAEzF,MAAM,EAAE,cAAc,EAAE,GAAG,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE,CAAA;QACpD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,EAAE;YAC5B,MAAM,eAAe,GAAG,MAAM,uBAAa,CAAC;gBAC1C,OAAO;gBACP,OAAO;gBACP,aAAa,EAAE,cAAc;aAC9B,CAAC,CAAA;YAEF,IAAI,wBAAc,CAAC,eAAe,CAAC,EAAE;gBACnC,6CAA6C;gBAC7C,oDAAoD;gBACpD,MAAM,IAAI,mCAA0B,CAClC,wBAAwB,EACxB,EAAE,WAAW,EAAE,eAAe,EAAE,CACjC,CAAA;aACF;SACF;aAAM;YACL,kEAAkE;YAClE,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,oBAAU,EAAE,CAAC,CAAA;SAC1C;QAED,OAAO;YACL,OAAO;YACP,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,iBAAG,OAAO,IAAK,UAAU,IAAI,EAAE,UAAU,EAAE,EAAG;YAC5E,mEAAmE;YACnE,+EAA+E;SAChF,CAAA;KACF;IAAC,OAAO,KAAK,EAAE;QACd,IACE,KAAK,YAAY,+BAAiB;YAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAC3B;YACA,MAAM,IAAI,mCAA0B,CAAC,mBAAmB,CAAC,CAAA;SAC1D;QAED,MAAM,KAAK,CAAA;KACZ;AACH,CAAC,CAAA;AA5CY,QAAA,kBAAkB,sBA4C9B"}
|
package/dist/utils/shopify.d.ts
CHANGED
package/dist/utils/shopify.js
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
5
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getInitializedShopify = exports.decodeShopData = exports.getSanitizedShopData = exports.getSecurityHeader = void 0;
|
|
17
|
+
exports.SHOP_QUERY = exports.getInitializedShopify = exports.decodeShopData = exports.getSanitizedShopData = exports.getSecurityHeader = void 0;
|
|
7
18
|
require("@shopify/shopify-api/adapters/node");
|
|
8
19
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
9
20
|
const jwt_decode_1 = __importDefault(require("jwt-decode"));
|
|
10
21
|
const js_base64_1 = require("js-base64");
|
|
11
22
|
const display_1 = require("./display");
|
|
12
23
|
const constants_1 = require("./constants");
|
|
24
|
+
const VALID_WEBHOOK_TOPICS = Object.keys(constants_1.API_WEBHOOK_TOPICS);
|
|
13
25
|
const getSecurityHeader = (shop) => (display_1.stringNotEmpty(shop)
|
|
14
26
|
? `frame-ancestors self https://admin.shopify.com https://${shop};`
|
|
15
27
|
: "frame-ancestors 'none';");
|
|
@@ -64,9 +76,9 @@ const getInitializedShopify = async (serverRuntimeConfig) => {
|
|
|
64
76
|
const { APP_CONFIG, APP_WEBHOOKS, INITIALIZED_SHOPIFY, SHOPIFY_RUN_MODE } = serverRuntimeConfig;
|
|
65
77
|
let initializedShopify = INITIALIZED_SHOPIFY;
|
|
66
78
|
if (initializedShopify) {
|
|
67
|
-
const
|
|
79
|
+
const appWebhookTopics = Object.keys(APP_WEBHOOKS).filter((webhookTopic) => VALID_WEBHOOK_TOPICS.includes(webhookTopic));
|
|
68
80
|
const installedTopics = (_c = await ((_b = (_a = initializedShopify === null || initializedShopify === void 0 ? void 0 : initializedShopify.webhooks) === null || _a === void 0 ? void 0 : _a.getTopicsAdded) === null || _b === void 0 ? void 0 : _b.call(_a))) !== null && _c !== void 0 ? _c : [];
|
|
69
|
-
const topicsMatch = display_1.arraysMatch(installedTopics,
|
|
81
|
+
const topicsMatch = display_1.arraysMatch(installedTopics, appWebhookTopics);
|
|
70
82
|
if (topicsMatch && installedTopics.includes(constants_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED)) {
|
|
71
83
|
return initializedShopify;
|
|
72
84
|
}
|
|
@@ -79,26 +91,41 @@ const getInitializedShopify = async (serverRuntimeConfig) => {
|
|
|
79
91
|
// NOTE: this should handle running in next to test non-shopify functionality
|
|
80
92
|
return initializedShopify;
|
|
81
93
|
}
|
|
94
|
+
const webhooksPayload = Object.entries(APP_WEBHOOKS).reduce((_webhooksPayload, [webhookTopic, webhooks]) => {
|
|
95
|
+
if (!VALID_WEBHOOK_TOPICS.includes(webhookTopic)) {
|
|
96
|
+
console.warn(`Ignoring unsupported webhook topic: ${webhookTopic}`);
|
|
97
|
+
return _webhooksPayload;
|
|
98
|
+
}
|
|
99
|
+
return Object.assign(Object.assign({}, _webhooksPayload), { [webhookTopic]: display_1.ensureArray(webhooks).reduce((_topicWebhooks, _a) => {
|
|
100
|
+
var { url, path, callback: _callback, callbackUrl: _callbackUrl, deliveryMethod = shopify_api_1.DeliveryMethod.Http } = _a,
|
|
101
|
+
// NOTE: this lets us support more advanced webhook types (EventBridgeWebhookHandler or PubSubWebhookHandler)
|
|
102
|
+
webhookConfig = __rest(_a, ["url", "path", "callback", "callbackUrl", "deliveryMethod"]);
|
|
103
|
+
const callbackUrl = _callbackUrl || url || path;
|
|
104
|
+
console.log(`Adding webhook handler [${deliveryMethod}] for ${webhookTopic}${callbackUrl ? ` using callbackUrl: ${callbackUrl}` : ''}.`);
|
|
105
|
+
return [
|
|
106
|
+
..._topicWebhooks,
|
|
107
|
+
Object.assign(Object.assign(Object.assign({ deliveryMethod }, webhookConfig), callbackUrl && { callbackUrl }), (callbackUrl || _callback) && {
|
|
108
|
+
callback: async (topic, shop, rawBody, webhookId, apiVersion) => {
|
|
109
|
+
if (_callback) {
|
|
110
|
+
console.log(`Webhook callback for ${shop}:${topic}:${webhookId}`);
|
|
111
|
+
return _callback(topic, shop, rawBody, webhookId, apiVersion);
|
|
112
|
+
}
|
|
113
|
+
return true;
|
|
114
|
+
},
|
|
115
|
+
})
|
|
116
|
+
];
|
|
117
|
+
}, []) });
|
|
118
|
+
}, {});
|
|
82
119
|
initializedShopify = shopify_api_1.shopifyApi(APP_CONFIG);
|
|
83
|
-
initializedShopify.webhooks.addHandlers(
|
|
84
|
-
const callbackUrl = path || url;
|
|
85
|
-
if (display_1.stringEmpty(callbackUrl)) {
|
|
86
|
-
return _topicWebhooks;
|
|
87
|
-
}
|
|
88
|
-
return [
|
|
89
|
-
..._topicWebhooks,
|
|
90
|
-
{
|
|
91
|
-
deliveryMethod: shopify_api_1.DeliveryMethod.Http,
|
|
92
|
-
callbackUrl,
|
|
93
|
-
callback: async (topic, shop) => {
|
|
94
|
-
// NOTE our webhook logic is handled in each api route
|
|
95
|
-
console.log(`handle webhook callback for ${shop}:${topic}`);
|
|
96
|
-
return true;
|
|
97
|
-
},
|
|
98
|
-
}
|
|
99
|
-
];
|
|
100
|
-
}, []) })), {}));
|
|
120
|
+
initializedShopify.webhooks.addHandlers(webhooksPayload);
|
|
101
121
|
return initializedShopify;
|
|
102
122
|
};
|
|
103
123
|
exports.getInitializedShopify = getInitializedShopify;
|
|
124
|
+
exports.SHOP_QUERY = `
|
|
125
|
+
{
|
|
126
|
+
shop {
|
|
127
|
+
name
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
`;
|
|
104
131
|
//# sourceMappingURL=shopify.js.map
|