@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
|
@@ -17,6 +17,7 @@ __exportStar(require("./graph"), exports);
|
|
|
17
17
|
__exportStar(require("./proxy"), exports);
|
|
18
18
|
__exportStar(require("./rest"), exports);
|
|
19
19
|
__exportStar(require("./uninstall"), exports);
|
|
20
|
+
__exportStar(require("./webhook"), exports);
|
|
20
21
|
// NOTE raw request body is required for Shopify webhook validation
|
|
21
22
|
const getAPIConfig = (config) => ({
|
|
22
23
|
api: Object.assign({ bodyParser: false }, config),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/api/index.js"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yCAAsB;AACtB,6CAA0B;AAC1B,0CAAuB;AACvB,0CAAuB;AACvB,yCAAsB;AACtB,8CAA2B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/api/index.js"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yCAAsB;AACtB,6CAA0B;AAC1B,0CAAuB;AACvB,0CAAuB;AACvB,yCAAsB;AACtB,8CAA2B;AAC3B,4CAAyB;AAEzB,mEAAmE;AAC5D,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,GAAG,kBACD,UAAU,EAAE,KAAK,IACd,MAAM,CACV;CACF,CAAC,CAAA;AALW,QAAA,YAAY,gBAKvB"}
|
|
@@ -21,38 +21,8 @@ const http_proxy_1 = __importDefault(require("http-proxy"));
|
|
|
21
21
|
const nextjs_cors_1 = __importDefault(require("nextjs-cors"));
|
|
22
22
|
const utils_1 = require("../../utils");
|
|
23
23
|
const PROXY_TIMEOUT = 6000; // NOTE: 6 seconds
|
|
24
|
-
const
|
|
25
|
-
.
|
|
26
|
-
.map(key => `${key}=${object[key]}`)
|
|
27
|
-
.join(''));
|
|
28
|
-
const verifyAppProxySignature = (_a, sharedSecret) => {
|
|
29
|
-
var { signature } = _a, verifiable = __rest(_a, ["signature"]);
|
|
30
|
-
console.log(`>>> > verifyAppProxySignature > sharedSecret:`, sharedSecret);
|
|
31
|
-
console.log(`>>> > verifyAppProxySignature > signature:`, signature);
|
|
32
|
-
console.log(`>>> > verifyAppProxySignature > verifiable:`, verifiable);
|
|
33
|
-
const hmac = utils_1.generateHMAC(new URLSearchParams(verifiable).toString(), sharedSecret);
|
|
34
|
-
console.log(`>>> > verifyAppProxySignature > hmac:`, hmac);
|
|
35
|
-
const hmac_ = utils_1.generateHMAC(transformRecordToSortedKeyValueString(verifiable), sharedSecret);
|
|
36
|
-
console.log(`>>> > verifyAppProxySignature > hmac_:`, hmac_);
|
|
37
|
-
const { host } = verifiable, lessVerifiable = __rest(verifiable, ["host"]);
|
|
38
|
-
const hmac2 = utils_1.generateHMAC(new URLSearchParams(lessVerifiable).toString(), sharedSecret);
|
|
39
|
-
console.log(`>>> > verifyAppProxySignature > hmac2:`, hmac2);
|
|
40
|
-
const hmac2_ = utils_1.generateHMAC(transformRecordToSortedKeyValueString(lessVerifiable), sharedSecret);
|
|
41
|
-
console.log(`>>> > verifyAppProxySignature > hmac2_:`, hmac2_);
|
|
42
|
-
const hmac3 = utils_1.generateHMAC(new URLSearchParams(lessVerifiable).toString(), sharedSecret, 'base64');
|
|
43
|
-
console.log(`>>> > verifyAppProxySignature > hmac3:`, hmac3);
|
|
44
|
-
const hmac3_ = utils_1.generateHMAC(transformRecordToSortedKeyValueString(lessVerifiable), sharedSecret, 'base64');
|
|
45
|
-
console.log(`>>> > verifyAppProxySignature > hmac3_:`, hmac3_);
|
|
46
|
-
const comp8 = utils_1.compareHashes(signature, hmac, 'utf-8');
|
|
47
|
-
console.log(`>>> > verifyAppProxySignature > comp8:`, comp8);
|
|
48
|
-
const comp8_ = utils_1.compareHashes(signature, hmac_, 'utf-8');
|
|
49
|
-
console.log(`>>> > verifyAppProxySignature > comp8_:`, comp8_);
|
|
50
|
-
const comp82 = utils_1.compareHashes(signature, hmac2, 'utf-8');
|
|
51
|
-
console.log(`>>> > verifyAppProxySignature > comp82:`, comp82);
|
|
52
|
-
const comp82_ = utils_1.compareHashes(signature, hmac2_, 'utf-8');
|
|
53
|
-
console.log(`>>> > verifyAppProxySignature > comp82_:`, comp82_);
|
|
54
|
-
const comp83_ = utils_1.compareHashes(signature, hmac3_, 'utf-8');
|
|
55
|
-
console.log(`>>> > verifyAppProxySignature > comp83_:`, comp83_);
|
|
24
|
+
const verifyAppProxySignature = (signature, verifiable, sharedSecret) => {
|
|
25
|
+
const hmac = utils_1.generateHMAC(utils_1.objectToSortedString(verifiable), sharedSecret);
|
|
56
26
|
return utils_1.compareHashes(signature, hmac);
|
|
57
27
|
};
|
|
58
28
|
const handleProxy = (serverRuntimeConfig) => async (req, res, _params) => {
|
|
@@ -94,21 +64,18 @@ const handleProxy = (serverRuntimeConfig) => async (req, res, _params) => {
|
|
|
94
64
|
}
|
|
95
65
|
const { query: _query, headers: _headers } = req;
|
|
96
66
|
const query = utils_1.ensureObject(_query);
|
|
97
|
-
console.log(`>>> > handleProxy > query:`, query);
|
|
98
67
|
// TODO!!!!!!: update this to not send as querystring/get via app itself somehow on backend?
|
|
99
|
-
const { signature } = query, verifiable = __rest(query, ["signature"]);
|
|
68
|
+
const { signature, proxyEncoded } = query, verifiable = __rest(query, ["signature", "proxyEncoded"]);
|
|
100
69
|
const { shop: _shop, host: _host, timestamp, path_prefix } = verifiable;
|
|
101
70
|
const isShopifyOriginOrRelative = utils_1.stringNotEmpty(utils_1.ensureString(path_prefix).startsWith('http')
|
|
102
71
|
? (_a = utils_1.getSanitizedShopData(new URL(path_prefix).hostname)) === null || _a === void 0 ? void 0 : _a.shop
|
|
103
72
|
: path_prefix);
|
|
104
73
|
// TODO: explore moving this to sessionToken middleware??
|
|
105
74
|
const _b = _headers !== null && _headers !== void 0 ? _headers : {}, { 'x-extension-session': sessionToken, 'x-extension-point': extensionPoint } = _b, __headers = __rest(_b, ['x-extension-session', 'x-extension-point']);
|
|
106
|
-
|
|
107
|
-
if (!_shop || !extensionPoint || !signature) {
|
|
75
|
+
if (!_shop || !_host || !extensionPoint || !signature || !proxyEncoded) {
|
|
108
76
|
return res.status(400).json({ message: 'Invalid or missing headers.', extensionPoint });
|
|
109
77
|
}
|
|
110
|
-
|
|
111
|
-
if (!verifyAppProxySignature(query, isShopifyOriginOrRelative ? APP_CONFIG.apiSecretKey : timestamp)) {
|
|
78
|
+
if (!verifyAppProxySignature(signature, verifiable, isShopifyOriginOrRelative ? APP_CONFIG.apiSecretKey : timestamp)) {
|
|
112
79
|
return res.status(403).json({ message: 'Invalid signature.' });
|
|
113
80
|
}
|
|
114
81
|
if (sessionToken) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/handlers/api/proxy.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,gDAAgD;AAChD,4DAAkC;AAClC,8DAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/handlers/api/proxy.js"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,7 @@ const handleRest = (serverRuntimeConfig) => async (req, res, _params) => {
|
|
|
71
71
|
if (!response) {
|
|
72
72
|
return res.status(statusCode).json({ message });
|
|
73
73
|
}
|
|
74
|
+
// HMMMMM???
|
|
74
75
|
if ((params === null || params === void 0 ? void 0 : params.type) && ![shopify_api_1.DataType.GraphQL, shopify_api_1.DataType.JSON].includes(params.type)) {
|
|
75
76
|
return res.status(statusCode).send(response);
|
|
76
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../src/handlers/api/rest.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../src/handlers/api/rest.js"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,15 @@
|
|
|
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
|
};
|
|
@@ -8,44 +19,38 @@ const raw_body_1 = __importDefault(require("raw-body"));
|
|
|
8
19
|
const utils_1 = require("../../utils");
|
|
9
20
|
// NOTE: typically handling: "/api/webhooks/app/uninstalled"
|
|
10
21
|
const handleAppUninstalled = (serverRuntimeConfig) => async (req, res) => {
|
|
11
|
-
|
|
12
|
-
const rawBody = await raw_body_1.default(req).catch((error) => {
|
|
13
|
-
console.error('Error extracting raw body for app uninstall', error);
|
|
14
|
-
// HMMMM: dont think we can return a 500 here (vs a 200 w/ an error object)
|
|
15
|
-
return res.status(500).send('Unable to get request body');
|
|
16
|
-
});
|
|
22
|
+
var _a;
|
|
17
23
|
try {
|
|
18
|
-
const
|
|
24
|
+
const { 'x-shopify-shop-domain': shop } = (_a = req.headers) !== null && _a !== void 0 ? _a : {};
|
|
19
25
|
if (utils_1.stringEmpty(shop)) {
|
|
20
|
-
return res.status(
|
|
26
|
+
return res.status(200).json({ handler: 'uninstall', error: 'Missing shop' });
|
|
21
27
|
}
|
|
22
28
|
const { shopify, findSessionIds, deleteSessions } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
23
|
-
|
|
29
|
+
// NOTE raw request body is required for Shopify webhook validation
|
|
30
|
+
const rawBody = await raw_body_1.default(req);
|
|
31
|
+
const _b = await shopify.webhooks.validate({
|
|
24
32
|
rawBody: rawBody.toString(),
|
|
25
33
|
rawRequest: req,
|
|
26
34
|
rawResponse: res,
|
|
27
|
-
});
|
|
35
|
+
}), { valid } = _b, webhookCheck = __rest(_b, ["valid"]);
|
|
28
36
|
if (valid) {
|
|
29
37
|
try {
|
|
30
38
|
const sessionsIds = await findSessionIds(shop);
|
|
31
39
|
if (utils_1.arrayNotEmpty(sessionsIds)) {
|
|
32
40
|
await deleteSessions(sessionsIds);
|
|
33
41
|
}
|
|
34
|
-
return res.status(200).
|
|
42
|
+
return res.status(200).json({ handler: 'uninstall', message: 'success' });
|
|
35
43
|
}
|
|
36
44
|
catch (error) {
|
|
37
|
-
|
|
38
|
-
return res.status(500).send(error === null || error === void 0 ? void 0 : error.message);
|
|
45
|
+
return res.status(200).json({ handler: 'uninstall', error: error === null || error === void 0 ? void 0 : error.message });
|
|
39
46
|
}
|
|
40
47
|
}
|
|
41
|
-
console.warn('Unable to validate webhook');
|
|
42
|
-
|
|
43
|
-
return res.status(200).send('invalid');
|
|
48
|
+
console.warn('Unable to validate uninstall webhook', webhookCheck);
|
|
49
|
+
return res.status(200).json({ handler: 'uninstall', error: 'Unable to validate uninstall webhook' });
|
|
44
50
|
}
|
|
45
51
|
catch (error) {
|
|
46
52
|
console.error('Error handling uninstall', error);
|
|
47
|
-
|
|
48
|
-
return res.status(500).send('Error handling uninstall');
|
|
53
|
+
return res.status(200).json({ handler: 'uninstall', error: 'Error handling uninstall' });
|
|
49
54
|
}
|
|
50
55
|
};
|
|
51
56
|
exports.handleAppUninstalled = handleAppUninstalled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/handlers/api/uninstall.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/handlers/api/uninstall.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAiC;AAEjC,uCAIoB;AAEpB,4DAA4D;AACrD,MAAM,oBAAoB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;;IAC9E,IAAI;QACF,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAA;QAE3D,IAAI,mBAAW,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;SAC7E;QAED,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,yBAAiB,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAE1G,mEAAmE;QACnE,MAAM,OAAO,GAAG,MAAM,kBAAU,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,KAA6B,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC3B,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;SACjB,CAAC,EAJI,EAAE,KAAK,OAIX,EAJgB,YAAY,cAAxB,SAA0B,CAI9B,CAAA;QAEF,IAAI,KAAK,EAAE;YACT,IAAI;gBACF,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;gBAC9C,IAAI,qBAAa,CAAC,WAAW,CAAC,EAAE;oBAC9B,MAAM,cAAc,CAAC,WAAW,CAAC,CAAA;iBAClC;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;aAC1E;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,CAAC,CAAA;aAC7E;SACF;QAED,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAA;QAClE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAA;KACrG;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAA;KACzF;AACH,CAAC,CAAA;AApCY,QAAA,oBAAoB,wBAoChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function handlWebhookEvent(serverRuntimeConfig: any, topicHandlers: any): (req: any, res: any) => Promise<any>;
|
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.handlWebhookEvent = void 0;
|
|
18
|
+
const raw_body_1 = __importDefault(require("raw-body"));
|
|
19
|
+
const utils_1 = require("../../utils");
|
|
20
|
+
// NOTE: typically handling: "/api/webhooks/app/event"
|
|
21
|
+
const handlWebhookEvent = (serverRuntimeConfig, topicHandlers) => async (req, res) => {
|
|
22
|
+
var _a;
|
|
23
|
+
try {
|
|
24
|
+
const _b = (_a = req.headers) !== null && _a !== void 0 ? _a : {}, { 'x-shopify-shop-domain': shop } = _b, _headers = __rest(_b, ['x-shopify-shop-domain']);
|
|
25
|
+
if (utils_1.stringEmpty(shop)) {
|
|
26
|
+
return res.status(200).json({ handler: 'webhook', error: 'Missing shop' });
|
|
27
|
+
}
|
|
28
|
+
const { shopify } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
29
|
+
// NOTE raw request body is required for Shopify webhook validation
|
|
30
|
+
const _rawBody = await raw_body_1.default(req);
|
|
31
|
+
const rawBody = _rawBody.toString();
|
|
32
|
+
// TODO: note sure why we are failing validation?!?!
|
|
33
|
+
const _c = (serverRuntimeConfig.SHOPIFY_RUN_MODE === 'cli') ? {
|
|
34
|
+
valid: true,
|
|
35
|
+
topic: _headers['x-shopify-topic'],
|
|
36
|
+
domain: _headers['x-shopify-shop-domain'] || shop,
|
|
37
|
+
webhookId: _headers['x-shopify-webhook-id'],
|
|
38
|
+
apiVersion: _headers['x-shopify-api-version'],
|
|
39
|
+
rawBody,
|
|
40
|
+
} : (await shopify.webhooks.validate({
|
|
41
|
+
rawBody,
|
|
42
|
+
rawRequest: req,
|
|
43
|
+
rawResponse: res,
|
|
44
|
+
})), { valid } = _c, message = __rest(_c, ["valid"]);
|
|
45
|
+
if (valid) {
|
|
46
|
+
try {
|
|
47
|
+
const { topic, domain, webhookId, apiVersion, rawBody: eventRawBody } = message;
|
|
48
|
+
const eventBody = JSON.parse(eventRawBody);
|
|
49
|
+
const topicHandlePromises = utils_1.ensureArray(topicHandlers === null || topicHandlers === void 0 ? void 0 : topicHandlers[utils_1.convertEventTopic(topic)]).map((handler) => handler({
|
|
50
|
+
apiVersion,
|
|
51
|
+
webhookId,
|
|
52
|
+
topic,
|
|
53
|
+
shop: domain || shop,
|
|
54
|
+
body: eventBody,
|
|
55
|
+
}));
|
|
56
|
+
const registrationHandlePromises = shopify.webhooks.getHandlers(topic).reduce((_registrationHandlePromises, handler) => {
|
|
57
|
+
if (!handler.callback) {
|
|
58
|
+
return _registrationHandlePromises;
|
|
59
|
+
}
|
|
60
|
+
return [
|
|
61
|
+
..._registrationHandlePromises,
|
|
62
|
+
handler.callback(topic, domain || shop, eventRawBody, webhookId, apiVersion)
|
|
63
|
+
];
|
|
64
|
+
}, []);
|
|
65
|
+
await Promise.all([...topicHandlePromises, ...registrationHandlePromises]);
|
|
66
|
+
return res.status(200).json({ handler: 'webhook', message: 'success' });
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
console.error('Error handling webhook promises', error);
|
|
70
|
+
return res.status(200).json({ handler: 'webhook', error: error === null || error === void 0 ? void 0 : error.message });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
console.warn('Unable to validate webhook', message);
|
|
74
|
+
return res.status(200).json({ handler: 'webhook', error: 'Unable to validate webhook', message });
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.error('Error handling webhook', error);
|
|
78
|
+
return res.status(200).json({ handler: 'webhook', error: 'Error handling webhook' });
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
exports.handlWebhookEvent = handlWebhookEvent;
|
|
82
|
+
//# sourceMappingURL=webhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../src/handlers/api/webhook.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAiC;AAEjC,uCAKoB;AAEpB,sDAAsD;AAC/C,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,EAAE,aAAa,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;;IAC1F,IAAI;QACF,MAAM,KAGF,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,EAHf,EACJ,uBAAuB,EAAE,IAAI,OAEV,EADhB,QAAQ,cAFP,yBAGL,CAAoB,CAAA;QAErB,IAAI,mBAAW,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;SAC3E;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,yBAAiB,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAE1E,mEAAmE;QACnE,MAAM,QAAQ,GAAG,MAAM,kBAAU,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAA;QAEnC,oDAAoD;QACpD,MAAM,KAAwB,CAAC,mBAAmB,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/E,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC;YAClC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,IAAI,IAAI;YACjD,SAAS,EAAE,QAAQ,CAAC,sBAAsB,CAAC;YAC3C,UAAU,EAAE,QAAQ,CAAC,uBAAuB,CAAC;YAC7C,OAAO;SACR,CAAA,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAClC,OAAO;YACP,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC,EAXG,EAAE,KAAK,OAWV,EAXe,OAAO,cAAnB,SAAqB,CAWxB,CAAA;QAEH,IAAI,KAAK,EAAE;YACT,IAAI;gBACF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;gBAE/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;gBAC1C,MAAM,mBAAmB,GAAG,mBAAW,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,yBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;oBAC1G,UAAU;oBACV,SAAS;oBACT,KAAK;oBACL,IAAI,EAAE,MAAM,IAAI,IAAI;oBACpB,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC,CAAA;gBAEH,MAAM,0BAA0B,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAC5E,2BAA2B,EAC3B,OAAO,EACP,EAAE;oBACF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;wBACrB,OAAO,2BAA2B,CAAA;qBACnC;oBAED,OAAO;wBACL,GAAG,2BAA2B;wBAC9B,OAAO,CAAC,QAAQ,CACd,KAAK,EACL,MAAM,IAAI,IAAI,EACd,YAAY,EACZ,SAAS,EACT,UAAU,CACX;qBACF,CAAA;gBACH,CAAC,EAAE,EAAE,CAAC,CAAA;gBAEN,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,mBAAmB,EAAE,GAAG,0BAA0B,CAAC,CAAC,CAAA;gBAE1E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;aACxE;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAA;gBACvD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,CAAC,CAAA;aAC3E;SACF;QAED,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,4BAA4B,EAAE,OAAO,EAAE,CAAC,CAAA;KAClG;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;QAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAA;KACrF;AACH,CAAC,CAAA;AA/EY,QAAA,iBAAiB,qBA+E7B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
export * from './handlers';
|
|
2
2
|
export * from './withShopify';
|
|
3
|
+
export * from './utils/constants';
|
|
4
|
+
export { getShopifyHelpers } from './utils/session';
|
|
5
|
+
export { getSanitizedShopData, decodeShopData } from './utils/shopify';
|
|
6
|
+
export { ShopifyAuthenticationError, ERROR_CODES } from './utils/errors';
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.ERROR_CODES = exports.ShopifyAuthenticationError = exports.decodeShopData = exports.getSanitizedShopData = exports.getShopifyHelpers = void 0;
|
|
13
14
|
__exportStar(require("./handlers"), exports);
|
|
14
15
|
__exportStar(require("./withShopify"), exports);
|
|
16
|
+
__exportStar(require("./utils/constants"), exports);
|
|
17
|
+
var session_1 = require("./utils/session");
|
|
18
|
+
Object.defineProperty(exports, "getShopifyHelpers", { enumerable: true, get: function () { return session_1.getShopifyHelpers; } });
|
|
19
|
+
var shopify_1 = require("./utils/shopify");
|
|
20
|
+
Object.defineProperty(exports, "getSanitizedShopData", { enumerable: true, get: function () { return shopify_1.getSanitizedShopData; } });
|
|
21
|
+
Object.defineProperty(exports, "decodeShopData", { enumerable: true, get: function () { return shopify_1.decodeShopData; } });
|
|
22
|
+
var errors_1 = require("./utils/errors");
|
|
23
|
+
Object.defineProperty(exports, "ShopifyAuthenticationError", { enumerable: true, get: function () { return errors_1.ShopifyAuthenticationError; } });
|
|
24
|
+
Object.defineProperty(exports, "ERROR_CODES", { enumerable: true, get: function () { return errors_1.ERROR_CODES; } });
|
|
15
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,gDAA6B;AAC7B,oDAAiC;AACjC,2CAAmD;AAA1C,4GAAA,iBAAiB,OAAA;AAC1B,2CAAsE;AAA7D,+GAAA,oBAAoB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAC7C,yCAGuB;AAFrB,oHAAA,0BAA0B,OAAA;AAC1B,qGAAA,WAAW,OAAA"}
|
|
@@ -3,18 +3,192 @@ export namespace PAGE_ROUTE_NAMES {
|
|
|
3
3
|
const EXIT: string;
|
|
4
4
|
const ERROR: string;
|
|
5
5
|
}
|
|
6
|
-
export namespace API_ROUTE_NAMES {
|
|
7
|
-
const AUTH: string;
|
|
8
|
-
const AUTH_CALLBACK: string;
|
|
9
|
-
const APP_UNINSTALLED: string;
|
|
10
|
-
}
|
|
11
6
|
export namespace API_WEBHOOK_TOPICS {
|
|
12
|
-
const
|
|
13
|
-
|
|
7
|
+
const APP_UNINSTALLED: string;
|
|
8
|
+
const APP_PURCHASES_ONE_TIME_UPDATE: string;
|
|
9
|
+
const APP_SUBSCRIPTIONS_APPROACHING_CAPPED_AMOUNT: string;
|
|
10
|
+
const APP_SUBSCRIPTIONS_UPDATE: string;
|
|
11
|
+
const ATTRIBUTED_SESSIONS_FIRST: string;
|
|
12
|
+
const ATTRIBUTED_SESSIONS_LAST: string;
|
|
13
|
+
const AUDIT_EVENTS_ADMIN_API_ACTIVITY: string;
|
|
14
|
+
const BULK_OPERATIONS_FINISH: string;
|
|
15
|
+
const CARTS_CREATE: string;
|
|
16
|
+
const CARTS_UPDATE: string;
|
|
17
|
+
const CHANNELS_DELETE: string;
|
|
18
|
+
const CHECKOUTS_CREATE: string;
|
|
19
|
+
const CHECKOUTS_DELETE: string;
|
|
20
|
+
const CHECKOUTS_UPDATE: string;
|
|
21
|
+
const COLLECTIONS_CREATE: string;
|
|
22
|
+
const COLLECTIONS_DELETE: string;
|
|
23
|
+
const COLLECTIONS_UPDATE: string;
|
|
24
|
+
const COLLECTION_LISTINGS_ADD: string;
|
|
25
|
+
const COLLECTION_LISTINGS_REMOVE: string;
|
|
26
|
+
const COLLECTION_LISTINGS_UPDATE: string;
|
|
27
|
+
const COLLECTION_PUBLICATIONS_CREATE: string;
|
|
28
|
+
const COLLECTION_PUBLICATIONS_DELETE: string;
|
|
29
|
+
const COLLECTION_PUBLICATIONS_UPDATE: string;
|
|
30
|
+
const COMPANIES_CREATE: string;
|
|
31
|
+
const COMPANIES_DELETE: string;
|
|
32
|
+
const COMPANIES_UPDATE: string;
|
|
33
|
+
const COMPANY_CONTACTS_CREATE: string;
|
|
34
|
+
const COMPANY_CONTACTS_DELETE: string;
|
|
35
|
+
const COMPANY_CONTACTS_UPDATE: string;
|
|
36
|
+
const COMPANY_LOCATIONS_CREATE: string;
|
|
37
|
+
const COMPANY_LOCATIONS_DELETE: string;
|
|
38
|
+
const COMPANY_LOCATIONS_UPDATE: string;
|
|
39
|
+
const CUSTOMERS_CREATE: string;
|
|
40
|
+
const CUSTOMERS_DELETE: string;
|
|
41
|
+
const CUSTOMERS_DISABLE: string;
|
|
42
|
+
const CUSTOMERS_ENABLE: string;
|
|
43
|
+
const CUSTOMERS_MARKETING_CONSENT_UPDATE: string;
|
|
44
|
+
const CUSTOMERS_MERGE: string;
|
|
45
|
+
const CUSTOMERS_UPDATE: string;
|
|
46
|
+
const CUSTOMER_GROUPS_CREATE: string;
|
|
47
|
+
const CUSTOMER_GROUPS_DELETE: string;
|
|
48
|
+
const CUSTOMER_GROUPS_UPDATE: string;
|
|
49
|
+
const CUSTOMER_PAYMENT_METHODS_CREATE: string;
|
|
50
|
+
const CUSTOMER_PAYMENT_METHODS_REVOKE: string;
|
|
51
|
+
const CUSTOMER_PAYMENT_METHODS_UPDATE: string;
|
|
52
|
+
const DISPUTES_CREATE: string;
|
|
53
|
+
const DISPUTES_UPDATE: string;
|
|
54
|
+
const DOMAINS_CREATE: string;
|
|
55
|
+
const DOMAINS_DESTROY: string;
|
|
56
|
+
const DOMAINS_UPDATE: string;
|
|
57
|
+
const DRAFT_ORDERS_CREATE: string;
|
|
58
|
+
const DRAFT_ORDERS_DELETE: string;
|
|
59
|
+
const DRAFT_ORDERS_UPDATE: string;
|
|
60
|
+
const FULFILLMENTS_CREATE: string;
|
|
61
|
+
const FULFILLMENTS_UPDATE: string;
|
|
62
|
+
const FULFILLMENT_EVENTS_CREATE: string;
|
|
63
|
+
const FULFILLMENT_EVENTS_DELETE: string;
|
|
64
|
+
const FULFILLMENT_ORDERS_CANCELLATION_REQUEST_ACCEPTED: string;
|
|
65
|
+
const FULFILLMENT_ORDERS_CANCELLATION_REQUEST_REJECTED: string;
|
|
66
|
+
const FULFILLMENT_ORDERS_CANCELLATION_REQUEST_SUBMITTED: string;
|
|
67
|
+
const FULFILLMENT_ORDERS_CANCELLED: string;
|
|
68
|
+
const FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_ACCEPTED: string;
|
|
69
|
+
const FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_REJECTED: string;
|
|
70
|
+
const FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_SUBMITTED: string;
|
|
71
|
+
const FULFILLMENT_ORDERS_FULFILLMENT_SERVICE_FAILED_TO_COMPLETE: string;
|
|
72
|
+
const FULFILLMENT_ORDERS_HOLD_RELEASED: string;
|
|
73
|
+
const FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY: string;
|
|
74
|
+
const FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_PICKUP: string;
|
|
75
|
+
const FULFILLMENT_ORDERS_MOVED: string;
|
|
76
|
+
const FULFILLMENT_ORDERS_ORDER_ROUTING_COMPLETE: string;
|
|
77
|
+
const FULFILLMENT_ORDERS_PLACED_ON_HOLD: string;
|
|
78
|
+
const FULFILLMENT_ORDERS_RESCHEDULED: string;
|
|
79
|
+
const FULFILLMENT_ORDERS_SCHEDULED_FULFILLMENT_ORDER_READY: string;
|
|
80
|
+
const INVENTORY_ITEMS_CREATE: string;
|
|
81
|
+
const INVENTORY_ITEMS_DELETE: string;
|
|
82
|
+
const INVENTORY_ITEMS_UPDATE: string;
|
|
83
|
+
const INVENTORY_LEVELS_CONNECT: string;
|
|
84
|
+
const INVENTORY_LEVELS_DISCONNECT: string;
|
|
85
|
+
const INVENTORY_LEVELS_UPDATE: string;
|
|
86
|
+
const LOCALES_CREATE: string;
|
|
87
|
+
const LOCALES_UPDATE: string;
|
|
88
|
+
const LOCATIONS_ACTIVATE: string;
|
|
89
|
+
const LOCATIONS_CREATE: string;
|
|
90
|
+
const LOCATIONS_DEACTIVATE: string;
|
|
91
|
+
const LOCATIONS_DELETE: string;
|
|
92
|
+
const LOCATIONS_UPDATE: string;
|
|
93
|
+
const MARKETS_CREATE: string;
|
|
94
|
+
const MARKETS_DELETE: string;
|
|
95
|
+
const MARKETS_UPDATE: string;
|
|
96
|
+
const ORDERS_CANCELLED: string;
|
|
97
|
+
const ORDERS_CREATE: string;
|
|
98
|
+
const ORDERS_DELETE: string;
|
|
99
|
+
const ORDERS_EDITED: string;
|
|
100
|
+
const ORDERS_FULFILLED: string;
|
|
101
|
+
const ORDERS_PAID: string;
|
|
102
|
+
const ORDERS_PARTIALLY_FULFILLED: string;
|
|
103
|
+
const ORDERS_UPDATED: string;
|
|
104
|
+
const ORDER_TRANSACTIONS_CREATE: string;
|
|
105
|
+
const PAYMENT_SCHEDULES_DUE: string;
|
|
106
|
+
const PAYMENT_TERMS_CREATE: string;
|
|
107
|
+
const PAYMENT_TERMS_DELETE: string;
|
|
108
|
+
const PAYMENT_TERMS_UPDATE: string;
|
|
109
|
+
const PRODUCTS_CREATE: string;
|
|
110
|
+
const PRODUCTS_DELETE: string;
|
|
111
|
+
const PRODUCTS_UPDATE: string;
|
|
112
|
+
const PRODUCT_LISTINGS_ADD: string;
|
|
113
|
+
const PRODUCT_LISTINGS_REMOVE: string;
|
|
114
|
+
const PRODUCT_LISTINGS_UPDATE: string;
|
|
115
|
+
const PRODUCT_PUBLICATIONS_CREATE: string;
|
|
116
|
+
const PRODUCT_PUBLICATIONS_DELETE: string;
|
|
117
|
+
const PRODUCT_PUBLICATIONS_UPDATE: string;
|
|
118
|
+
const PROFILES_CREATE: string;
|
|
119
|
+
const PROFILES_DELETE: string;
|
|
120
|
+
const PROFILES_UPDATE: string;
|
|
121
|
+
const REFUNDS_CREATE: string;
|
|
122
|
+
const RETURNS_APPROVE: string;
|
|
123
|
+
const RETURNS_CANCEL: string;
|
|
124
|
+
const RETURNS_CLOSE: string;
|
|
125
|
+
const RETURNS_DECLINE: string;
|
|
126
|
+
const RETURNS_REOPEN: string;
|
|
127
|
+
const RETURNS_REQUEST: string;
|
|
128
|
+
const REVERSE_DELIVERIES_ATTACH_DELIVERABLE: string;
|
|
129
|
+
const REVERSE_FULFILLMENT_ORDERS_DISPOSE: string;
|
|
130
|
+
const SCHEDULED_PRODUCT_LISTINGS_ADD: string;
|
|
131
|
+
const SCHEDULED_PRODUCT_LISTINGS_REMOVE: string;
|
|
132
|
+
const SCHEDULED_PRODUCT_LISTINGS_UPDATE: string;
|
|
133
|
+
const SEGMENTS_CREATE: string;
|
|
134
|
+
const SEGMENTS_DELETE: string;
|
|
135
|
+
const SEGMENTS_UPDATE: string;
|
|
136
|
+
const SELLING_PLAN_GROUPS_CREATE: string;
|
|
137
|
+
const SELLING_PLAN_GROUPS_DELETE: string;
|
|
138
|
+
const SELLING_PLAN_GROUPS_UPDATE: string;
|
|
139
|
+
const SHIPPING_ADDRESSES_CREATE: string;
|
|
140
|
+
const SHIPPING_ADDRESSES_UPDATE: string;
|
|
141
|
+
const SHOP_UPDATE: string;
|
|
142
|
+
const SUBSCRIPTION_BILLING_ATTEMPTS_CHALLENGED: string;
|
|
143
|
+
const SUBSCRIPTION_BILLING_ATTEMPTS_FAILURE: string;
|
|
144
|
+
const SUBSCRIPTION_BILLING_ATTEMPTS_SUCCESS: string;
|
|
145
|
+
const SUBSCRIPTION_BILLING_CYCLE_EDITS_CREATE: string;
|
|
146
|
+
const SUBSCRIPTION_BILLING_CYCLE_EDITS_DELETE: string;
|
|
147
|
+
const SUBSCRIPTION_BILLING_CYCLE_EDITS_UPDATE: string;
|
|
148
|
+
const SUBSCRIPTION_CONTRACTS_CREATE: string;
|
|
149
|
+
const SUBSCRIPTION_CONTRACTS_UPDATE: string;
|
|
150
|
+
const TAX_SERVICES_CREATE: string;
|
|
151
|
+
const TAX_SERVICES_UPDATE: string;
|
|
152
|
+
const TENDER_TRANSACTIONS_CREATE: string;
|
|
153
|
+
const THEMES_CREATE: string;
|
|
154
|
+
const THEMES_DELETE: string;
|
|
155
|
+
const THEMES_PUBLISH: string;
|
|
156
|
+
const THEMES_UPDATE: string;
|
|
157
|
+
const VARIANTS_IN_STOCK: string;
|
|
158
|
+
const VARIANTS_OUT_OF_STOCK: string;
|
|
159
|
+
const CHECKOUTS_PAID: string;
|
|
160
|
+
const COMPANY_CONTACT_ROLES_ASSIGN: string;
|
|
161
|
+
const COMPANY_CONTACT_ROLES_REVOKE: string;
|
|
162
|
+
const CUSTOMERS_EMAIL_MARKETING_CONSENT_UPDATE: string;
|
|
163
|
+
const FINANCE_KYC_INFORMATION_UPDATE: string;
|
|
164
|
+
const FULFILLMENT_ORDERS_HOLD_FULFILLMENT: string;
|
|
165
|
+
const FULFILLMENT_ORDERS_READY_FOR_PICKUP: string;
|
|
166
|
+
const FULFILLMENT_ORDERS_READY_TO_FULFILL: string;
|
|
167
|
+
const INVENTORY_QUANTITIES_CHANGED: string;
|
|
168
|
+
const MARKETPLACE_PAYMENTS_CONFIGURATIONS_UPDATE: string;
|
|
169
|
+
const PRODUCT_FEEDS_CREATE: string;
|
|
170
|
+
const PRODUCT_FEEDS_FULL_SYNC: string;
|
|
171
|
+
const PRODUCT_FEEDS_INCREMENTAL_SYNC: string;
|
|
172
|
+
const PRODUCT_FEEDS_UPDATE: string;
|
|
173
|
+
const PUBLICATIONS_DELETE: string;
|
|
174
|
+
const PURCHASE_ORDERS_CREATE: string;
|
|
175
|
+
const PURCHASE_ORDERS_DELETE: string;
|
|
176
|
+
const PURCHASE_ORDERS_MARK_AS_ORDERED: string;
|
|
177
|
+
const PURCHASE_ORDERS_RECEIVE: string;
|
|
178
|
+
const PURCHASE_ORDERS_UPDATE: string;
|
|
179
|
+
const SUPPLIERS_CREATE: string;
|
|
180
|
+
const SUPPLIERS_DELETE: string;
|
|
181
|
+
const SUPPLIERS_UPDATE: string;
|
|
14
182
|
}
|
|
183
|
+
export function convertEventTopic(topic: any): any;
|
|
184
|
+
export const API_ROUTE_NAMES: {
|
|
185
|
+
[x: string]: string;
|
|
186
|
+
WEBHOOK_EVENT: string;
|
|
187
|
+
AUTH: string;
|
|
188
|
+
AUTH_CALLBACK: string;
|
|
189
|
+
};
|
|
15
190
|
export namespace BILLING_INTERVALS {
|
|
16
191
|
const ONE_TIME: string;
|
|
17
192
|
const EVERY_30_DAYS: string;
|
|
18
193
|
const ANNUAL: string;
|
|
19
194
|
}
|
|
20
|
-
export const SHOP_QUERY: "\n {\n shop {\n name\n }\n }\n";
|