@shopify/shopify-api 6.0.0-rc6 → 6.0.0-rc7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/adapters/cf-worker/adapter.d.ts.map +1 -1
  3. package/adapters/cf-worker/adapter.js +3 -2
  4. package/adapters/cf-worker/adapter.js.map +1 -1
  5. package/adapters/mock/adapter.d.ts.map +1 -1
  6. package/adapters/mock/adapter.js +3 -0
  7. package/adapters/mock/adapter.js.map +1 -1
  8. package/adapters/node/adapter.d.ts.map +1 -1
  9. package/adapters/node/adapter.js +2 -1
  10. package/adapters/node/adapter.js.map +1 -1
  11. package/docs/migrating-to-v6.md +72 -77
  12. package/docs/usage/webhooks.md +113 -103
  13. package/lib/error.d.ts +2 -0
  14. package/lib/error.d.ts.map +1 -1
  15. package/lib/error.js +9 -1
  16. package/lib/error.js.map +1 -1
  17. package/lib/version.d.ts +1 -1
  18. package/lib/version.js +1 -1
  19. package/lib/webhooks/index.d.ts +3 -5
  20. package/lib/webhooks/index.d.ts.map +1 -1
  21. package/lib/webhooks/index.js +8 -8
  22. package/lib/webhooks/index.js.map +1 -1
  23. package/lib/webhooks/process.d.ts +5 -0
  24. package/lib/webhooks/process.d.ts.map +1 -0
  25. package/lib/webhooks/process.js +171 -0
  26. package/lib/webhooks/process.js.map +1 -0
  27. package/lib/webhooks/query-template.d.ts +4 -0
  28. package/lib/webhooks/query-template.d.ts.map +1 -0
  29. package/lib/webhooks/query-template.js +14 -0
  30. package/lib/webhooks/query-template.js.map +1 -0
  31. package/lib/webhooks/register.d.ts +6 -0
  32. package/lib/webhooks/register.d.ts.map +1 -0
  33. package/lib/webhooks/register.js +391 -0
  34. package/lib/webhooks/register.js.map +1 -0
  35. package/lib/webhooks/registry.d.ts +8 -11
  36. package/lib/webhooks/registry.d.ts.map +1 -1
  37. package/lib/webhooks/registry.js +85 -340
  38. package/lib/webhooks/registry.js.map +1 -1
  39. package/lib/webhooks/types.d.ts +45 -24
  40. package/lib/webhooks/types.d.ts.map +1 -1
  41. package/lib/webhooks/types.js +7 -1
  42. package/lib/webhooks/types.js.map +1 -1
  43. package/package.json +2 -2
@@ -1,365 +1,110 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createProcess = exports.createRegisterAllHttp = exports.createRegister = exports.createGetTopicsAdded = exports.createGetHttpHandler = exports.createAddHttpHandlers = exports.createAddHttpHandler = exports.buildQuery = exports.buildCheckQuery = void 0;
3
+ exports.addHostToCallbackUrl = exports.handlerIdentifier = exports.createGetHandlers = exports.createGetTopicsAdded = exports.createAddHandlers = exports.topicForStorage = exports.createRegistry = void 0;
5
4
  var tslib_1 = require("tslib");
6
- var network_1 = require("@shopify/network");
7
- var http_1 = require("../../runtime/http");
8
- var crypto_1 = require("../../runtime/crypto");
9
- var types_1 = require("../../runtime/crypto/types");
10
- var graphql_client_1 = require("../clients/graphql/graphql_client");
5
+ var error_1 = require("../error");
11
6
  var base_types_1 = require("../base-types");
12
- var safe_compare_1 = require("../auth/oauth/safe-compare");
13
- var ShopifyErrors = tslib_1.__importStar(require("../error"));
14
- var types_2 = require("./types");
15
- function isSuccess(result, deliveryMethod, webhookId) {
16
- var endpoint;
17
- switch (deliveryMethod) {
18
- case types_2.DeliveryMethod.Http:
19
- endpoint = 'webhookSubscription';
20
- break;
21
- case types_2.DeliveryMethod.EventBridge:
22
- endpoint = 'eventBridgeWebhookSubscription';
23
- break;
24
- case types_2.DeliveryMethod.PubSub:
25
- endpoint = 'pubSubWebhookSubscription';
26
- break;
27
- default:
28
- return false;
29
- }
30
- endpoint += webhookId ? 'Update' : 'Create';
31
- return Boolean(result.data &&
32
- result.data[endpoint] &&
33
- result.data[endpoint].webhookSubscription);
34
- }
35
- function buildCheckQuery(_a) {
36
- var topic = _a.topic;
37
- return "{\n webhookSubscriptions(first: 1, topics: ".concat(topic, ") {\n edges {\n node {\n id\n endpoint {\n __typename\n ... on WebhookHttpEndpoint {\n callbackUrl\n }\n ... on WebhookEventBridgeEndpoint {\n arn\n }\n ... on WebhookPubSubEndpoint {\n pubSubProject\n pubSubTopic\n }\n }\n }\n }\n }\n }");
7
+ var types_1 = require("./types");
8
+ function createRegistry() {
9
+ return {};
38
10
  }
39
- exports.buildCheckQuery = buildCheckQuery;
40
- function buildQuery(_a) {
41
- var _b;
42
- var topic = _a.topic, address = _a.address, _c = _a.deliveryMethod, deliveryMethod = _c === void 0 ? types_2.DeliveryMethod.Http : _c, webhookId = _a.webhookId;
43
- var identifier;
44
- if (webhookId) {
45
- identifier = "id: \"".concat(webhookId, "\"");
46
- }
47
- else {
48
- identifier = "topic: ".concat(topic);
49
- }
50
- var mutationName;
51
- var webhookSubscriptionArgs;
52
- var pubSubProject;
53
- var pubSubTopic;
54
- switch (deliveryMethod) {
55
- case types_2.DeliveryMethod.Http:
56
- mutationName = webhookId
57
- ? 'webhookSubscriptionUpdate'
58
- : 'webhookSubscriptionCreate';
59
- webhookSubscriptionArgs = "{callbackUrl: \"".concat(address, "\"}");
60
- break;
61
- case types_2.DeliveryMethod.EventBridge:
62
- mutationName = webhookId
63
- ? 'eventBridgeWebhookSubscriptionUpdate'
64
- : 'eventBridgeWebhookSubscriptionCreate';
65
- webhookSubscriptionArgs = "{arn: \"".concat(address, "\"}");
66
- break;
67
- case types_2.DeliveryMethod.PubSub:
68
- mutationName = webhookId
69
- ? 'pubSubWebhookSubscriptionUpdate'
70
- : 'pubSubWebhookSubscriptionCreate';
71
- _b = tslib_1.__read(address
72
- .replace(/^pubsub:\/\//, '')
73
- .split(':'), 2), pubSubProject = _b[0], pubSubTopic = _b[1];
74
- webhookSubscriptionArgs = "{pubSubProject: \"".concat(pubSubProject, "\",\n pubSubTopic: \"").concat(pubSubTopic, "\"}");
75
- break;
76
- }
77
- return "\n mutation webhookSubscription {\n ".concat(mutationName, "(").concat(identifier, ", webhookSubscription: ").concat(webhookSubscriptionArgs, ") {\n userErrors {\n field\n message\n }\n webhookSubscription {\n id\n }\n }\n }\n ");
78
- }
79
- exports.buildQuery = buildQuery;
11
+ exports.createRegistry = createRegistry;
80
12
  function topicForStorage(topic) {
81
13
  return topic.toUpperCase().replace(/\//g, '_');
82
14
  }
83
- function createAddHttpHandler(httpWebhookRegistry) {
84
- return function addHttpHandler(params) {
85
- var topic = params.topic, handler = params.handler;
86
- httpWebhookRegistry[topicForStorage(topic)] = handler;
87
- };
88
- }
89
- exports.createAddHttpHandler = createAddHttpHandler;
90
- function createAddHttpHandlers(httpWebhookRegistry) {
91
- var addHttpHandler = createAddHttpHandler(httpWebhookRegistry);
92
- return function addHttpHandlers(handlers) {
93
- handlers.forEach(function (handlerParam) { return addHttpHandler(handlerParam); });
94
- };
95
- }
96
- exports.createAddHttpHandlers = createAddHttpHandlers;
97
- function createGetHttpHandler(httpWebhookRegistry) {
98
- return function getHttpHandler(topic) {
99
- var _a;
100
- return (_a = httpWebhookRegistry[topicForStorage(topic)]) !== null && _a !== void 0 ? _a : null;
15
+ exports.topicForStorage = topicForStorage;
16
+ function createAddHandlers(config, webhookRegistry) {
17
+ return function addHandlers(handlersToAdd) {
18
+ Object.entries(handlersToAdd).forEach(function (_a) {
19
+ var e_1, _b;
20
+ var _c = tslib_1.__read(_a, 2), topic = _c[0], handlers = _c[1];
21
+ var topicKey = topicForStorage(topic);
22
+ if (Array.isArray(handlers)) {
23
+ try {
24
+ for (var handlers_1 = tslib_1.__values(handlers), handlers_1_1 = handlers_1.next(); !handlers_1_1.done; handlers_1_1 = handlers_1.next()) {
25
+ var handler = handlers_1_1.value;
26
+ mergeOrAddHandler(config, webhookRegistry, topicKey, handler);
27
+ }
28
+ }
29
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
30
+ finally {
31
+ try {
32
+ if (handlers_1_1 && !handlers_1_1.done && (_b = handlers_1.return)) _b.call(handlers_1);
33
+ }
34
+ finally { if (e_1) throw e_1.error; }
35
+ }
36
+ }
37
+ else {
38
+ mergeOrAddHandler(config, webhookRegistry, topicKey, handlers);
39
+ }
40
+ });
101
41
  };
102
42
  }
103
- exports.createGetHttpHandler = createGetHttpHandler;
104
- function createGetTopicsAdded(httpWebhookRegistry) {
43
+ exports.createAddHandlers = createAddHandlers;
44
+ function createGetTopicsAdded(webhookRegistry) {
105
45
  return function getTopicsAdded() {
106
- return Object.keys(httpWebhookRegistry);
46
+ return Object.keys(webhookRegistry);
107
47
  };
108
48
  }
109
49
  exports.createGetTopicsAdded = createGetTopicsAdded;
110
- function createRegister(config) {
111
- var GraphqlClient = (0, graphql_client_1.createGraphqlClientClass)({ config: config });
112
- return function register(_a) {
113
- var path = _a.path, topic = _a.topic, accessToken = _a.accessToken, shop = _a.shop, _b = _a.deliveryMethod, deliveryMethod = _b === void 0 ? types_2.DeliveryMethod.Http : _b;
114
- return tslib_1.__awaiter(this, void 0, void 0, function () {
115
- var registerReturn, client, address, checkResult, error_1, result, webhookId, mustRegister, node, endpointAddress, result;
116
- return tslib_1.__generator(this, function (_c) {
117
- switch (_c.label) {
118
- case 0:
119
- registerReturn = {};
120
- if (base_types_1.gdprTopics.includes(topic)) {
121
- registerReturn[topic] = {
122
- success: false,
123
- result: {
124
- errors: [
125
- {
126
- message: "GDPR topic '".concat(topic, "' cannot be registered here. Please set the appropriate webhook endpoint in the 'GDPR mandatory webhooks' section of 'App setup' in the Partners Dashboard"),
127
- },
128
- ],
129
- },
130
- };
131
- return [2 /*return*/, registerReturn];
132
- }
133
- client = new GraphqlClient({ domain: shop, accessToken: accessToken });
134
- address = deliveryMethod === types_2.DeliveryMethod.Http
135
- ? "".concat(config.hostScheme, "://").concat(config.hostName).concat(path)
136
- : path;
137
- _c.label = 1;
138
- case 1:
139
- _c.trys.push([1, 3, , 4]);
140
- return [4 /*yield*/, client.query({
141
- data: buildCheckQuery({ topic: topic }),
142
- })];
143
- case 2:
144
- checkResult = _c.sent();
145
- return [3 /*break*/, 4];
146
- case 3:
147
- error_1 = _c.sent();
148
- result = error_1 instanceof ShopifyErrors.GraphqlQueryError ? error_1.response : {};
149
- registerReturn[topic] = { success: false, result: result };
150
- return [2 /*return*/, registerReturn];
151
- case 4:
152
- mustRegister = true;
153
- if (checkResult.body.data.webhookSubscriptions.edges.length) {
154
- node = checkResult.body.data.webhookSubscriptions.edges[0].node;
155
- endpointAddress = '';
156
- if (node.endpoint.__typename === 'WebhookHttpEndpoint') {
157
- endpointAddress = node.endpoint.callbackUrl;
158
- }
159
- else if (node.endpoint.__typename === 'WebhookEventBridgeEndpoint') {
160
- endpointAddress = node.endpoint.arn;
161
- }
162
- webhookId = node.id;
163
- if (endpointAddress === address) {
164
- mustRegister = false;
165
- }
166
- }
167
- if (!mustRegister) return [3 /*break*/, 6];
168
- return [4 /*yield*/, client.query({
169
- data: buildQuery({ topic: topic, address: address, deliveryMethod: deliveryMethod, webhookId: webhookId }),
170
- })];
171
- case 5:
172
- result = _c.sent();
173
- registerReturn[topic] = {
174
- success: isSuccess(result.body, deliveryMethod, webhookId),
175
- result: result.body,
176
- };
177
- return [3 /*break*/, 7];
178
- case 6:
179
- registerReturn[topic] = {
180
- success: true,
181
- result: {},
182
- };
183
- _c.label = 7;
184
- case 7: return [2 /*return*/, registerReturn];
185
- }
186
- });
187
- });
50
+ function createGetHandlers(webhookRegistry) {
51
+ return function getHandlers(topic) {
52
+ return webhookRegistry[topicForStorage(topic)] || [];
188
53
  };
189
54
  }
190
- exports.createRegister = createRegister;
191
- function createRegisterAllHttp(config, httpWebhookRegistry) {
192
- var register = createRegister(config);
193
- var getTopicsAdded = createGetTopicsAdded(httpWebhookRegistry);
194
- var getHttpHandler = createGetHttpHandler(httpWebhookRegistry);
195
- return function registerAllHttp(_a) {
196
- var path = _a.path, accessToken = _a.accessToken, shop = _a.shop;
197
- return tslib_1.__awaiter(this, void 0, void 0, function () {
198
- var registerReturn, topics, topics_1, topics_1_1, topic, handler, webhook, returnedRegister, e_1_1;
199
- var e_1, _b;
200
- return tslib_1.__generator(this, function (_c) {
201
- switch (_c.label) {
202
- case 0:
203
- registerReturn = {};
204
- topics = getTopicsAdded();
205
- _c.label = 1;
206
- case 1:
207
- _c.trys.push([1, 6, 7, 8]);
208
- topics_1 = tslib_1.__values(topics), topics_1_1 = topics_1.next();
209
- _c.label = 2;
210
- case 2:
211
- if (!!topics_1_1.done) return [3 /*break*/, 5];
212
- topic = topics_1_1.value;
213
- handler = getHttpHandler(topic);
214
- if (!handler) return [3 /*break*/, 4];
215
- webhook = {
216
- path: path,
217
- topic: topic,
218
- accessToken: accessToken,
219
- shop: shop,
220
- deliveryMethod: types_2.DeliveryMethod.Http,
221
- };
222
- return [4 /*yield*/, register(webhook)];
223
- case 3:
224
- returnedRegister = _c.sent();
225
- registerReturn = tslib_1.__assign(tslib_1.__assign({}, registerReturn), returnedRegister);
226
- _c.label = 4;
227
- case 4:
228
- topics_1_1 = topics_1.next();
229
- return [3 /*break*/, 2];
230
- case 5: return [3 /*break*/, 8];
231
- case 6:
232
- e_1_1 = _c.sent();
233
- e_1 = { error: e_1_1 };
234
- return [3 /*break*/, 8];
235
- case 7:
236
- try {
237
- if (topics_1_1 && !topics_1_1.done && (_b = topics_1.return)) _b.call(topics_1);
238
- }
239
- finally { if (e_1) throw e_1.error; }
240
- return [7 /*endfinally*/];
241
- case 8: return [2 /*return*/, registerReturn];
242
- }
243
- });
244
- });
245
- };
55
+ exports.createGetHandlers = createGetHandlers;
56
+ function handlerIdentifier(config, handler) {
57
+ var prefix = handler.deliveryMethod;
58
+ switch (handler.deliveryMethod) {
59
+ case types_1.DeliveryMethod.Http:
60
+ return "".concat(prefix, "_").concat(addHostToCallbackUrl(config, handler.callbackUrl));
61
+ case types_1.DeliveryMethod.EventBridge:
62
+ return "".concat(prefix, "_").concat(handler.arn);
63
+ case types_1.DeliveryMethod.PubSub:
64
+ return "".concat(prefix, "_").concat(handler.pubSubProject, ":").concat(handler.pubSubTopic);
65
+ default:
66
+ throw new error_1.InvalidDeliveryMethodError("Unrecognized delivery method '".concat(handler.deliveryMethod, "'"));
67
+ }
246
68
  }
247
- exports.createRegisterAllHttp = createRegisterAllHttp;
248
- var statusTextLookup = (_a = {},
249
- _a[network_1.StatusCode.Ok] = 'OK',
250
- _a[network_1.StatusCode.BadRequest] = 'Bad Request',
251
- _a[network_1.StatusCode.Unauthorized] = 'Unauthorized',
252
- _a[network_1.StatusCode.NotFound] = 'Not Found',
253
- _a[network_1.StatusCode.InternalServerError] = 'Internal Server Error',
254
- _a);
255
- function checkWebhookRequest(rawBody, headers) {
256
- var retVal = {
257
- webhookOk: true,
258
- errorMessage: '',
259
- hmac: '',
260
- topic: '',
261
- domain: '',
262
- };
263
- if (rawBody.length) {
264
- var hmac = (0, http_1.getHeader)(headers, base_types_1.ShopifyHeader.Hmac);
265
- var topic = (0, http_1.getHeader)(headers, base_types_1.ShopifyHeader.Topic);
266
- var domain = (0, http_1.getHeader)(headers, base_types_1.ShopifyHeader.Domain);
267
- var missingHeaders = [];
268
- if (!hmac) {
269
- missingHeaders.push(base_types_1.ShopifyHeader.Hmac);
270
- }
271
- if (!topic) {
272
- missingHeaders.push(base_types_1.ShopifyHeader.Topic);
69
+ exports.handlerIdentifier = handlerIdentifier;
70
+ function addHostToCallbackUrl(config, callbackUrl) {
71
+ if (callbackUrl.startsWith('/')) {
72
+ return "".concat(config.hostScheme, "://").concat(config.hostName).concat(callbackUrl);
73
+ }
74
+ else {
75
+ return callbackUrl;
76
+ }
77
+ }
78
+ exports.addHostToCallbackUrl = addHostToCallbackUrl;
79
+ function mergeOrAddHandler(config, webhookRegistry, topic, handler) {
80
+ var _a, _b, _c;
81
+ (_a = handler.includeFields) === null || _a === void 0 ? void 0 : _a.sort();
82
+ (_b = handler.metafieldNamespaces) === null || _b === void 0 ? void 0 : _b.sort();
83
+ if (handler.deliveryMethod === types_1.DeliveryMethod.Http) {
84
+ (_c = handler.privateMetafieldNamespaces) === null || _c === void 0 ? void 0 : _c.sort();
85
+ }
86
+ if (!(topic in webhookRegistry)) {
87
+ webhookRegistry[topic] = [handler];
88
+ return;
89
+ }
90
+ var identifier = handlerIdentifier(config, handler);
91
+ for (var index in webhookRegistry[topic]) {
92
+ if (!Object.prototype.hasOwnProperty.call(webhookRegistry[topic], index)) {
93
+ continue;
273
94
  }
274
- if (!domain) {
275
- missingHeaders.push(base_types_1.ShopifyHeader.Domain);
95
+ var existingHandler = webhookRegistry[topic][index];
96
+ var existingIdentifier = handlerIdentifier(config, existingHandler);
97
+ if (identifier !== existingIdentifier) {
98
+ continue;
276
99
  }
277
- if (missingHeaders.length) {
278
- retVal.webhookOk = false;
279
- retVal.errorMessage = "Missing one or more of the required HTTP headers to process webhowebhookOks: [".concat(missingHeaders.join(', '), "]");
100
+ if (handler.deliveryMethod === types_1.DeliveryMethod.Http) {
101
+ config.logFunction(base_types_1.LogSeverity.Info, "Detected multiple handlers for '".concat(topic, "', webhooks.process will call them sequentially"));
102
+ break;
280
103
  }
281
104
  else {
282
- retVal.hmac = hmac;
283
- retVal.topic = topic;
284
- retVal.domain = domain;
105
+ throw new error_1.InvalidDeliveryMethodError("Can only add multiple handlers when deliveryMethod is Http. Invalid handler: ".concat(JSON.stringify(handler)));
285
106
  }
286
107
  }
287
- else {
288
- retVal.webhookOk = false;
289
- retVal.errorMessage = 'No body was received when processing webhook';
290
- }
291
- return retVal;
292
- }
293
- function createProcess(config, httpWebhookRegistry) {
294
- var getHttpHandler = createGetHttpHandler(httpWebhookRegistry);
295
- return function process(_a) {
296
- var rawBody = _a.rawBody, adapterArgs = tslib_1.__rest(_a, ["rawBody"]);
297
- return tslib_1.__awaiter(this, void 0, void 0, function () {
298
- var request, response, webhookCheck, webhookOk, hmac, topic, domain, errorMessage, generatedHash, graphqlTopic, handler, error_2, returnResponse;
299
- return tslib_1.__generator(this, function (_b) {
300
- switch (_b.label) {
301
- case 0: return [4 /*yield*/, (0, http_1.abstractConvertRequest)(adapterArgs)];
302
- case 1:
303
- request = _b.sent();
304
- response = {
305
- statusCode: network_1.StatusCode.Ok,
306
- statusText: statusTextLookup[network_1.StatusCode.Ok],
307
- headers: {},
308
- };
309
- webhookCheck = checkWebhookRequest(rawBody, request.headers);
310
- webhookOk = webhookCheck.webhookOk, hmac = webhookCheck.hmac, topic = webhookCheck.topic, domain = webhookCheck.domain;
311
- errorMessage = webhookCheck.errorMessage;
312
- if (!webhookOk) return [3 /*break*/, 11];
313
- return [4 /*yield*/, (0, crypto_1.createSHA256HMAC)(config.apiSecretKey, rawBody, types_1.HashFormat.Base64)];
314
- case 2:
315
- generatedHash = _b.sent();
316
- if (!(0, safe_compare_1.safeCompare)(generatedHash, hmac)) return [3 /*break*/, 9];
317
- graphqlTopic = topicForStorage(topic);
318
- handler = getHttpHandler(graphqlTopic);
319
- if (!handler) return [3 /*break*/, 7];
320
- _b.label = 3;
321
- case 3:
322
- _b.trys.push([3, 5, , 6]);
323
- return [4 /*yield*/, handler(graphqlTopic, domain, rawBody)];
324
- case 4:
325
- _b.sent();
326
- response.statusCode = network_1.StatusCode.Ok;
327
- return [3 /*break*/, 6];
328
- case 5:
329
- error_2 = _b.sent();
330
- response.statusCode = network_1.StatusCode.InternalServerError;
331
- errorMessage = error_2.message;
332
- return [3 /*break*/, 6];
333
- case 6: return [3 /*break*/, 8];
334
- case 7:
335
- response.statusCode = network_1.StatusCode.NotFound;
336
- errorMessage = "No webhook is registered for topic ".concat(topic);
337
- _b.label = 8;
338
- case 8: return [3 /*break*/, 10];
339
- case 9:
340
- response.statusCode = network_1.StatusCode.Unauthorized;
341
- errorMessage = "Could not validate request for topic ".concat(topic);
342
- _b.label = 10;
343
- case 10: return [3 /*break*/, 12];
344
- case 11:
345
- response.statusCode = network_1.StatusCode.BadRequest;
346
- _b.label = 12;
347
- case 12:
348
- response.statusText = statusTextLookup[response.statusCode];
349
- return [4 /*yield*/, (0, http_1.abstractConvertResponse)(response, adapterArgs)];
350
- case 13:
351
- returnResponse = _b.sent();
352
- if (!(0, http_1.isOK)(response)) {
353
- throw new ShopifyErrors.InvalidWebhookError({
354
- message: errorMessage,
355
- response: returnResponse,
356
- });
357
- }
358
- return [2 /*return*/, Promise.resolve(returnResponse)];
359
- }
360
- });
361
- });
362
- };
108
+ webhookRegistry[topic].push(handler);
363
109
  }
364
- exports.createProcess = createProcess;
365
110
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["registry.ts"],"names":[],"mappings":"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"}
@@ -6,25 +6,48 @@ export declare enum DeliveryMethod {
6
6
  PubSub = "pubsub"
7
7
  }
8
8
  export declare type WebhookHandlerFunction = (topic: string, shop_domain: string, body: string) => Promise<void>;
9
- export interface HttpWebhookRegistry {
10
- [topic: string]: WebhookHandlerFunction;
9
+ interface BaseWebhookHandler {
10
+ id?: string;
11
+ includeFields?: string[];
12
+ metafieldNamespaces?: string[];
11
13
  }
12
- export interface ShortenedRegisterParams {
13
- path: string;
14
+ export interface HttpWebhookHandler extends BaseWebhookHandler {
15
+ deliveryMethod: DeliveryMethod.Http;
16
+ privateMetafieldNamespaces?: string[];
17
+ callbackUrl: string;
18
+ callback: WebhookHandlerFunction;
19
+ }
20
+ export interface EventBridgeWebhookHandler extends BaseWebhookHandler {
21
+ deliveryMethod: DeliveryMethod.EventBridge;
22
+ arn: string;
23
+ }
24
+ export interface PubSubWebhookHandler extends BaseWebhookHandler {
25
+ deliveryMethod: DeliveryMethod.PubSub;
26
+ pubSubProject: string;
27
+ pubSubTopic: string;
28
+ }
29
+ export declare type WebhookHandler = HttpWebhookHandler | EventBridgeWebhookHandler | PubSubWebhookHandler;
30
+ export interface WebhookRegistry {
31
+ [topic: string]: WebhookHandler[];
32
+ }
33
+ export declare enum WebhookOperation {
34
+ Create = "create",
35
+ Update = "update",
36
+ Delete = "delete"
37
+ }
38
+ export interface RegisterParams {
14
39
  shop: string;
15
40
  accessToken: string;
16
41
  }
17
- export interface RegisterParams extends ShortenedRegisterParams {
18
- topic: string;
19
- deliveryMethod?: DeliveryMethod;
42
+ export interface RegisterResult {
43
+ success: boolean;
44
+ deliveryMethod: DeliveryMethod;
45
+ result: unknown;
20
46
  }
21
47
  export interface RegisterReturn {
22
- [topic: string]: {
23
- success: boolean;
24
- result: unknown;
25
- };
48
+ [topic: string]: RegisterResult[];
26
49
  }
27
- interface WebhookCheckResponseNode<T = {
50
+ export interface WebhookCheckResponseNode<T = {
28
51
  endpoint: {
29
52
  __typename: 'WebhookHttpEndpoint';
30
53
  callbackUrl: string;
@@ -39,27 +62,25 @@ interface WebhookCheckResponseNode<T = {
39
62
  }> {
40
63
  node: {
41
64
  id: string;
65
+ topic: string;
66
+ includeFields: string[];
67
+ metafieldNamespaces: string[];
68
+ privateMetafieldNamespaces: string[];
42
69
  } & T;
43
70
  }
44
71
  export interface WebhookCheckResponse<T = WebhookCheckResponseNode> {
45
72
  data: {
46
73
  webhookSubscriptions: {
47
74
  edges: T[];
75
+ pageInfo: {
76
+ endCursor: string;
77
+ hasNextPage: boolean;
78
+ };
48
79
  };
49
80
  };
50
81
  }
51
- export interface BuildCheckQueryParams {
52
- topic: string;
53
- }
54
- export interface BuildQueryParams {
55
- topic: string;
56
- address: string;
57
- deliveryMethod: DeliveryMethod;
58
- webhookId?: string;
59
- }
60
- export interface AddHandlerParams {
61
- topic: string;
62
- handler: WebhookHandlerFunction;
82
+ export interface AddHandlersParams {
83
+ [topic: string]: WebhookHandler | WebhookHandler[];
63
84
  }
64
85
  export interface WebhookProcessParams extends AdapterArgs {
65
86
  rawBody: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,GAAG,CAAC;AAEvC,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,MAAM,WAAW;CAClB;AAED,oBAAY,sBAAsB,GAAG,CACnC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,WAAW,mBAAmB;IAClC,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,uBAAuB;IAE7D,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,KAAK,EAAE,MAAM,GAAG;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;CACH;AAED,UAAU,wBAAwB,CAChC,CAAC,GAAG;IACF,QAAQ,EACJ;QACE,UAAU,EAAE,qBAAqB,CAAC;QAClC,WAAW,EAAE,MAAM,CAAC;KACrB,GACD;QACE,UAAU,EAAE,4BAA4B,CAAC;QACzC,GAAG,EAAE,MAAM,CAAC;KACb,GACD;QACE,UAAU,EAAE,uBAAuB,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACP;IAED,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;KACZ,GAAG,CAAC,CAAC;CACP;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,wBAAwB;IAChE,IAAI,EAAE;QACJ,oBAAoB,EAAE;YACpB,KAAK,EAAE,CAAC,EAAE,CAAC;SACZ,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeliveryMethod = void 0;
3
+ exports.WebhookOperation = exports.DeliveryMethod = void 0;
4
4
  var DeliveryMethod;
5
5
  (function (DeliveryMethod) {
6
6
  DeliveryMethod["Http"] = "http";
7
7
  DeliveryMethod["EventBridge"] = "eventbridge";
8
8
  DeliveryMethod["PubSub"] = "pubsub";
9
9
  })(DeliveryMethod = exports.DeliveryMethod || (exports.DeliveryMethod = {}));
10
+ var WebhookOperation;
11
+ (function (WebhookOperation) {
12
+ WebhookOperation["Create"] = "create";
13
+ WebhookOperation["Update"] = "update";
14
+ WebhookOperation["Delete"] = "delete";
15
+ })(WebhookOperation = exports.WebhookOperation || (exports.WebhookOperation = {}));
10
16
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAIA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAIA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB;AA0CD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B"}