@agnostack/next-shopify 1.9.0-beta.6 → 1.9.0-beta.8
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/lib/handlers/api/appInstallation.d.ts.map +1 -1
- package/dist/lib/handlers/api/appInstallation.js +5 -78
- package/dist/lib/handlers/api/appInstallation.js.map +1 -1
- package/dist/lib/handlers/api/auth.js +6 -6
- package/dist/lib/handlers/api/auth.js.map +1 -1
- package/dist/lib/handlers/api/billing.d.ts.map +1 -1
- package/dist/lib/handlers/api/billing.js +4 -4
- package/dist/lib/handlers/api/billing.js.map +1 -1
- package/dist/lib/handlers/api/callback.js +11 -11
- package/dist/lib/handlers/api/callback.js.map +1 -1
- package/dist/lib/handlers/api/graph.d.ts.map +1 -1
- package/dist/lib/handlers/api/graph.js +12 -11
- package/dist/lib/handlers/api/graph.js.map +1 -1
- package/dist/lib/handlers/api/index.js +5 -1
- package/dist/lib/handlers/api/index.js.map +1 -1
- package/dist/lib/handlers/api/proxy.d.ts.map +1 -1
- package/dist/lib/handlers/api/proxy.js +16 -17
- package/dist/lib/handlers/api/proxy.js.map +1 -1
- package/dist/lib/handlers/api/rest.d.ts.map +1 -1
- package/dist/lib/handlers/api/rest.js +8 -7
- package/dist/lib/handlers/api/rest.js.map +1 -1
- package/dist/lib/handlers/api/uninstall.js +4 -4
- package/dist/lib/handlers/api/uninstall.js.map +1 -1
- package/dist/lib/handlers/api/webhook.js +4 -4
- package/dist/lib/handlers/api/webhook.js.map +1 -1
- package/dist/lib/handlers/index.js +5 -1
- package/dist/lib/handlers/index.js.map +1 -1
- package/dist/lib/handlers/ssr/index.js +5 -1
- package/dist/lib/handlers/ssr/index.js.map +1 -1
- package/dist/lib/handlers/ssr/protect.js +7 -7
- package/dist/lib/handlers/ssr/protect.js.map +1 -1
- package/dist/lib/handlers/ssr/wrap.js +3 -3
- package/dist/lib/handlers/ssr/wrap.js.map +1 -1
- package/dist/lib/index.js +5 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/utils/billing.js +10 -10
- package/dist/lib/utils/billing.js.map +1 -1
- package/dist/lib/utils/crypto.d.ts.map +1 -1
- package/dist/lib/utils/crypto.js +2 -2
- package/dist/lib/utils/crypto.js.map +1 -1
- package/dist/lib/utils/firebase.js +4 -4
- package/dist/lib/utils/firebase.js.map +1 -1
- package/dist/lib/utils/index.js +6 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/session.d.ts +8 -9
- package/dist/lib/utils/session.d.ts.map +1 -1
- package/dist/lib/utils/session.js +51 -50
- package/dist/lib/utils/session.js.map +1 -1
- package/dist/lib/utils/shopify-api-js/oauth.d.ts.map +1 -1
- package/dist/lib/utils/shopify-api-js/oauth.js +19 -16
- package/dist/lib/utils/shopify-api-js/oauth.js.map +1 -1
- package/dist/lib/utils/shopify.js +12 -12
- package/dist/lib/utils/shopify.js.map +1 -1
- package/dist/lib/withShopify.js +12 -12
- package/dist/lib/withShopify.js.map +1 -1
- package/dist/runtime/index.js +5 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/shared/display.js +33 -33
- package/dist/shared/display.js.map +1 -1
- package/dist/shared/graph.d.ts +26 -0
- package/dist/shared/graph.d.ts.map +1 -0
- package/dist/shared/graph.js +132 -0
- package/dist/shared/graph.js.map +1 -0
- package/dist/shared/index.js +5 -1
- package/dist/shared/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -32,12 +32,12 @@ const handleAppUninstalled = (serverRuntimeConfig) => (req, res) => __awaiter(vo
|
|
|
32
32
|
var _a;
|
|
33
33
|
try {
|
|
34
34
|
const { 'x-shopify-shop-domain': shop } = (_a = req.headers) !== null && _a !== void 0 ? _a : {};
|
|
35
|
-
if (shared_1.stringEmpty(shop)) {
|
|
35
|
+
if ((0, shared_1.stringEmpty)(shop)) {
|
|
36
36
|
return res.status(200).json({ handler: 'uninstall', error: 'Missing shop' });
|
|
37
37
|
}
|
|
38
|
-
const { shopify, findSessionIds, deleteSessions } = yield utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
38
|
+
const { shopify, findSessionIds, deleteSessions } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
39
39
|
// NOTE raw request body is required for Shopify webhook validation
|
|
40
|
-
const rawBody = yield raw_body_1.default(req);
|
|
40
|
+
const rawBody = yield (0, raw_body_1.default)(req);
|
|
41
41
|
const _b = yield shopify.webhooks.validate({
|
|
42
42
|
rawBody: rawBody.toString(),
|
|
43
43
|
rawRequest: req,
|
|
@@ -46,7 +46,7 @@ const handleAppUninstalled = (serverRuntimeConfig) => (req, res) => __awaiter(vo
|
|
|
46
46
|
if (valid) {
|
|
47
47
|
try {
|
|
48
48
|
const sessionsIds = yield findSessionIds(shop);
|
|
49
|
-
if (shared_1.arrayNotEmpty(sessionsIds)) {
|
|
49
|
+
if ((0, shared_1.arrayNotEmpty)(sessionsIds)) {
|
|
50
50
|
yield deleteSessions(sessionsIds);
|
|
51
51
|
}
|
|
52
52
|
return res.status(200).json({ handler: 'uninstall', message: 'success' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAiC;AAEjC,uCAA+C;AAC/C,4CAGwB;AAExB,4DAA4D;AACrD,MAAM,oBAAoB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;;IAC9E,IAAI;QACF,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAA;QAE3D,IAAI,oBAAW,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAiC;AAEjC,uCAA+C;AAC/C,4CAGwB;AAExB,4DAA4D;AACrD,MAAM,oBAAoB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;;IAC9E,IAAI;QACF,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAA;QAE3D,IAAI,IAAA,oBAAW,EAAC,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,IAAA,yBAAiB,EAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAE1G,mEAAmE;QACnE,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAU,EAAC,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,IAAA,sBAAa,EAAC,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,CAAA;AApCY,QAAA,oBAAoB,wBAoChC"}
|
|
@@ -32,12 +32,12 @@ const handlWebhookEvent = (serverRuntimeConfig, topicHandlers) => (req, res) =>
|
|
|
32
32
|
var _a;
|
|
33
33
|
try {
|
|
34
34
|
const _b = (_a = req.headers) !== null && _a !== void 0 ? _a : {}, { 'x-shopify-shop-domain': shop } = _b, _headers = __rest(_b, ['x-shopify-shop-domain']);
|
|
35
|
-
if (shared_1.stringEmpty(shop)) {
|
|
35
|
+
if ((0, shared_1.stringEmpty)(shop)) {
|
|
36
36
|
return res.status(200).json({ handler: 'webhook', error: 'Missing shop' });
|
|
37
37
|
}
|
|
38
|
-
const { shopify } = yield utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
38
|
+
const { shopify } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
39
39
|
// NOTE raw request body is required for Shopify webhook validation
|
|
40
|
-
const _rawBody = yield raw_body_1.default(req);
|
|
40
|
+
const _rawBody = yield (0, raw_body_1.default)(req);
|
|
41
41
|
const rawBody = _rawBody.toString();
|
|
42
42
|
// TODO: note sure why we are failing validation?!?!
|
|
43
43
|
const _c = (serverRuntimeConfig.SHOPIFY_RUN_MODE === 'cli') ? {
|
|
@@ -56,7 +56,7 @@ const handlWebhookEvent = (serverRuntimeConfig, topicHandlers) => (req, res) =>
|
|
|
56
56
|
try {
|
|
57
57
|
const { topic, domain, webhookId, apiVersion, rawBody: eventRawBody } = message;
|
|
58
58
|
const eventBody = JSON.parse(eventRawBody);
|
|
59
|
-
const topicHandlePromises = shared_1.ensureArray(topicHandlers === null || topicHandlers === void 0 ? void 0 : topicHandlers[shared_1.convertEventTopic(topic)]).map((handler) => handler({
|
|
59
|
+
const topicHandlePromises = (0, shared_1.ensureArray)(topicHandlers === null || topicHandlers === void 0 ? void 0 : topicHandlers[(0, shared_1.convertEventTopic)(topic)]).map((handler) => handler({
|
|
60
60
|
apiVersion,
|
|
61
61
|
webhookId,
|
|
62
62
|
topic,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/webhook.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAiC;AAEjC,uCAA+C;AAC/C,4CAIwB;AAExB,sDAAsD;AAC/C,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,EAAE,aAAa,EAAE,EAAE,CAAC,CAAO,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,oBAAW,
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/webhook.js"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/handlers/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/handlers/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,wCAAqB"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,yCAAsB"}
|
|
@@ -17,7 +17,7 @@ const protectRoute = (serverRuntimeConfig, props) => ({ req, res, query, locale
|
|
|
17
17
|
const { PAGE_PATHS, API_PATHS } = serverRuntimeConfig;
|
|
18
18
|
const shop = (_a = query === null || query === void 0 ? void 0 : query.shop) !== null && _a !== void 0 ? _a : (_b = req.query) === null || _b === void 0 ? void 0 : _b.shop;
|
|
19
19
|
const embedded = (_c = query === null || query === void 0 ? void 0 : query.embedded) !== null && _c !== void 0 ? _c : (_d = req.query) === null || _d === void 0 ? void 0 : _d.embedded;
|
|
20
|
-
if (shared_1.stringEmpty(shop)) {
|
|
20
|
+
if ((0, shared_1.stringEmpty)(shop)) {
|
|
21
21
|
return {
|
|
22
22
|
redirect: {
|
|
23
23
|
destination: `${PAGE_PATHS[shared_1.PAGE_ROUTE_NAMES.ERROR]}?code=no_shop_provided&type=protectRoute`,
|
|
@@ -26,15 +26,15 @@ const protectRoute = (serverRuntimeConfig, props) => ({ req, res, query, locale
|
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
// NOTE: this should handle running in next to test non-shopify functionality
|
|
29
|
-
if (utils_1.allowLocalBypass(serverRuntimeConfig)) {
|
|
29
|
+
if ((0, utils_1.allowLocalBypass)(serverRuntimeConfig)) {
|
|
30
30
|
return {
|
|
31
|
-
props: shared_1.cleanObject(Object.assign(Object.assign({ locale }, props), data)),
|
|
31
|
+
props: (0, shared_1.cleanObject)(Object.assign(Object.assign({ locale }, props), data)),
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
const { shopify, findSessionIds, loadSession } = yield utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
35
|
-
res.setHeader('Content-Security-Policy', utils_1.getSecurityHeader(shop, shopify.config));
|
|
34
|
+
const { shopify, findSessionIds, loadSession } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
35
|
+
res.setHeader('Content-Security-Policy', (0, utils_1.getSecurityHeader)(shop, shopify.config));
|
|
36
36
|
const existingSessionIds = yield findSessionIds(shop);
|
|
37
|
-
if (shared_1.arrayEmpty(existingSessionIds)) {
|
|
37
|
+
if ((0, shared_1.arrayEmpty)(existingSessionIds)) {
|
|
38
38
|
// TODO: explore objectToQuerystring
|
|
39
39
|
const queryParams = new URLSearchParams(Object.assign(Object.assign({}, query), { shop })).toString();
|
|
40
40
|
return {
|
|
@@ -75,7 +75,7 @@ const protectRoute = (serverRuntimeConfig, props) => ({ req, res, query, locale
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
return {
|
|
78
|
-
props: shared_1.cleanObject(Object.assign(Object.assign({ locale }, props), data)),
|
|
78
|
+
props: (0, shared_1.cleanObject)(Object.assign(Object.assign({ locale }, props), data)),
|
|
79
79
|
};
|
|
80
80
|
});
|
|
81
81
|
exports.protectRoute = protectRoute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect.js","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/protect.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAIoB;AACpB,4CAQwB;AAEjB,MAAM,YAAY,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;;IAC3G,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAA;IACrD,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,IAAI,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,QAAQ,CAAA;IAEvD,IAAI,oBAAW,
|
|
1
|
+
{"version":3,"file":"protect.js","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/protect.js"],"names":[],"mappings":"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"}
|
|
@@ -15,10 +15,10 @@ const utils_1 = require("../../utils");
|
|
|
15
15
|
const wrapRoute = (serverRuntimeConfig, props) => ({ req, res, query, locale } = {}, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
16
|
var _a, _b;
|
|
17
17
|
const shop = (_a = query === null || query === void 0 ? void 0 : query.shop) !== null && _a !== void 0 ? _a : (_b = req.query) === null || _b === void 0 ? void 0 : _b.shop;
|
|
18
|
-
const shopify = utils_1.getInitializedShopify(serverRuntimeConfig);
|
|
19
|
-
res.setHeader('Content-Security-Policy', utils_1.getSecurityHeader(shop, shopify.config));
|
|
18
|
+
const shopify = (0, utils_1.getInitializedShopify)(serverRuntimeConfig);
|
|
19
|
+
res.setHeader('Content-Security-Policy', (0, utils_1.getSecurityHeader)(shop, shopify.config));
|
|
20
20
|
return {
|
|
21
|
-
props: shared_1.cleanObject(Object.assign(Object.assign({ locale }, props), data)),
|
|
21
|
+
props: (0, shared_1.cleanObject)(Object.assign(Object.assign({ locale }, props), data)),
|
|
22
22
|
};
|
|
23
23
|
});
|
|
24
24
|
exports.wrapRoute = wrapRoute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/wrap.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA6C;AAC7C,uCAAsE;AAE/D,MAAM,SAAS,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;;IACxG,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,IAAI,CAAA;IAE3C,MAAM,OAAO,GAAG,6BAAqB,
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/wrap.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA6C;AAC7C,uCAAsE;AAE/D,MAAM,SAAS,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;;IACxG,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,IAAI,CAAA;IAE3C,MAAM,OAAO,GAAG,IAAA,6BAAqB,EAAC,mBAAmB,CAAC,CAAA;IAC1D,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAA,yBAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAEjF,OAAO;QACL,KAAK,EAAE,IAAA,oBAAW,gCAChB,MAAM,IACH,KAAK,GACL,IAAI,EACP;KACH,CAAA;AACH,CAAC,CAAA,CAAA;AAbY,QAAA,SAAS,aAarB"}
|
package/dist/lib/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,6CAA0B;AAC1B,gDAA6B;AAC7B,2CAAmD;AAA1C,4GAAA,iBAAiB,OAAA;AAC1B,2CAAsE;AAA7D,+GAAA,oBAAoB,OAAA;AAAE,yGAAA,cAAc,OAAA"}
|
|
@@ -13,16 +13,16 @@ exports.generatePaymentConfig = exports.ensureBilling = void 0;
|
|
|
13
13
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
14
14
|
const shared_1 = require("../../shared");
|
|
15
15
|
const ensureBilling = (paymentConfig, { shopify, session, skipBillingCheck }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const { shop, accessToken } = shared_1.ensureObject(session);
|
|
17
|
-
const { name: plan, test, config, required } = shared_1.ensureObject(paymentConfig);
|
|
16
|
+
const { shop, accessToken } = (0, shared_1.ensureObject)(session);
|
|
17
|
+
const { name: plan, test, config, required } = (0, shared_1.ensureObject)(paymentConfig);
|
|
18
18
|
if (!required) {
|
|
19
19
|
return undefined;
|
|
20
20
|
}
|
|
21
|
-
const isTest = shared_1.isTrue(test);
|
|
22
|
-
const hasValidBilling = (shared_1.stringNotEmpty(shop) &&
|
|
23
|
-
shared_1.stringNotEmpty(accessToken) &&
|
|
24
|
-
shared_1.stringNotEmpty(plan) &&
|
|
25
|
-
shared_1.objectNotEmpty(config) &&
|
|
21
|
+
const isTest = (0, shared_1.isTrue)(test);
|
|
22
|
+
const hasValidBilling = ((0, shared_1.stringNotEmpty)(shop) &&
|
|
23
|
+
(0, shared_1.stringNotEmpty)(accessToken) &&
|
|
24
|
+
(0, shared_1.stringNotEmpty)(plan) &&
|
|
25
|
+
(0, shared_1.objectNotEmpty)(config) &&
|
|
26
26
|
Object.values(shared_1.BILLING_INTERVALS).includes(config === null || config === void 0 ? void 0 : config.interval));
|
|
27
27
|
if (!hasValidBilling) {
|
|
28
28
|
throw new shopify_api_1.BillingError({
|
|
@@ -31,7 +31,7 @@ const ensureBilling = (paymentConfig, { shopify, session, skipBillingCheck }) =>
|
|
|
31
31
|
}
|
|
32
32
|
try {
|
|
33
33
|
// NOTE: this ensures while in "review" mode that we rebill each time
|
|
34
|
-
if (!shared_1.isTrue(skipBillingCheck) && shared_1.isTrue(yield shopify.billing.check({ plans: [plan], isTest, session }))) {
|
|
34
|
+
if (!(0, shared_1.isTrue)(skipBillingCheck) && (0, shared_1.isTrue)(yield shopify.billing.check({ plans: [plan], isTest, session }))) {
|
|
35
35
|
return undefined;
|
|
36
36
|
}
|
|
37
37
|
return shopify.billing.request({ plan, isTest, session });
|
|
@@ -46,14 +46,14 @@ const ensureBilling = (paymentConfig, { shopify, session, skipBillingCheck }) =>
|
|
|
46
46
|
exports.ensureBilling = ensureBilling;
|
|
47
47
|
// eslint-disable-next-line arrow-body-style
|
|
48
48
|
const generatePaymentConfig = (paymentConfig, { SHOPIFY_RUN_MODE, appTitle: _appTitle, data: { appName, debugMode, environment, } = {}, }) => {
|
|
49
|
-
if (shared_1.objectEmpty(paymentConfig) || shared_1.stringEmpty(environment)) {
|
|
49
|
+
if ((0, shared_1.objectEmpty)(paymentConfig) || (0, shared_1.stringEmpty)(environment)) {
|
|
50
50
|
return undefined;
|
|
51
51
|
}
|
|
52
52
|
const { name, price, currency = 'USD', type = shared_1.BILLING_INTERVALS.ONE_TIME, } = paymentConfig;
|
|
53
53
|
const appTitle = name || _appTitle || appName;
|
|
54
54
|
const isProduction = (environment === 'production');
|
|
55
55
|
const notProduction = !isProduction;
|
|
56
|
-
const billingName = `${appTitle}${notProduction ? ` - ${environment}` : ''} - ${shared_1.unsnakecase(type)}`;
|
|
56
|
+
const billingName = `${appTitle}${notProduction ? ` - ${environment}` : ''} - ${(0, shared_1.unsnakecase)(type)}`;
|
|
57
57
|
return {
|
|
58
58
|
required: (isProduction || debugMode || (['cli', 'review'].includes(SHOPIFY_RUN_MODE))),
|
|
59
59
|
test: (notProduction || debugMode || (SHOPIFY_RUN_MODE === 'review')),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/lib/utils/billing.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAmD;AAEnD,yCASqB;AAEd,MAAM,aAAa,GAAG,CAAO,aAAa,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE;IAC3F,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,qBAAY,
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/lib/utils/billing.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/crypto.js"],"names":[],"mappings":"AA2CO,6FAIN;AAEM,8FAgBN;AAKD;IA0CE,qCAUC;IAnDD,wCAOC;IAFC,aAA2B;IAC3B,YAAoB;IAGtB,6BAEC;IAED,mBA0BC;IAbG;;;MAWC;
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/crypto.js"],"names":[],"mappings":"AA2CO,6FAIN;AAEM,8FAgBN;AAKD;IA0CE,qCAUC;IAnDD,wCAOC;IAFC,aAA2B;IAC3B,YAAoB;IAGtB,6BAEC;IAED,mBA0BC;IAbG;;;MAWC;IAgBL,6BAEC;IAED,gCAEC;IAhBG,2BAA8D;CAiBnE;AAGM,kDAON;AA1ED,uCAAqC"}
|
package/dist/lib/utils/crypto.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getNonce = exports.CryptoHandler = exports.compareHashes = exports.generateHMAC = void 0;
|
|
7
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
8
8
|
const shared_1 = require("../../shared");
|
|
9
|
-
const wrapKeyData = (keyData, keyType = 'RSA PRIVATE') => (`-----BEGIN ${keyType} KEY-----${shared_1.ensureString(keyData).replace(/"/g, '')}-----END ${keyType} KEY-----\n`.replace(/\\n/g, '\n'));
|
|
9
|
+
const wrapKeyData = (keyData, keyType = 'RSA PRIVATE') => (`-----BEGIN ${keyType} KEY-----${(0, shared_1.ensureString)(keyData).replace(/"/g, '')}-----END ${keyType} KEY-----\n`.replace(/\\n/g, '\n'));
|
|
10
10
|
const getRecrypted = (encrypted) => {
|
|
11
11
|
const [beginning, hiddenInitialVector, end = ''] = encrypted.split(/_(.*==)=/g);
|
|
12
12
|
return { initialVector: hiddenInitialVector, encrypted: `${beginning}${end}` };
|
|
@@ -60,7 +60,7 @@ class CryptoHandler {
|
|
|
60
60
|
return (this.cryptoConfig != undefined);
|
|
61
61
|
}
|
|
62
62
|
initialize() {
|
|
63
|
-
if (shared_1.objectNotEmpty(this.config)) {
|
|
63
|
+
if ((0, shared_1.objectNotEmpty)(this.config)) {
|
|
64
64
|
const { encryptedPrivateKey, encryptedPublicKey, sharedSecret } = this.config;
|
|
65
65
|
const { initialVector: hiddenPublicIv, encrypted: recryptedPublicKey, } = getRecrypted(encryptedPublicKey);
|
|
66
66
|
const { initialVector: hiddenPrivateIv, encrypted: recryptedPrivateKey, } = getRecrypted(encryptedPrivateKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/lib/utils/crypto.js"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAE3B,yCAA2D;AAE3D,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,EAAE,CAAC,CACxD,cAAc,OAAO,YACnB,qBAAY,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/lib/utils/crypto.js"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAE3B,yCAA2D;AAE3D,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,EAAE,CAAC,CACxD,cAAc,OAAO,YACnB,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CACxC,YAAY,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CACvD,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,EAAE;IACjC,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAC/E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,GAAG,EAAE,EAAE,CAAA;AAChF,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;IAC5D,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAA;IAC5D,MAAM,QAAQ,GAAG,gBAAM,CAAC,gBAAgB,CACtC,aAAa,EACb,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EACnC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CACrC,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjD,QAAQ,CAAC,KAAK,EAAE;KACjB,CAAC,CAAA;IACF,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS;IAC7F,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,gBAAM;SACL,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC1D,QAAQ,CAAC,QAAQ,CAAC,CACtB,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,UAAU;IAChG,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,gBAAM;SACL,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC5E,QAAQ,CAAC,QAAQ,CAAC,CACtB,CAAA;AAEM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,CAAC,CAClE,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;KACnC,MAAM,CAAC,OAAO,CAAC;KACf,MAAM,CAAC,MAAM,CAAC,CAClB,CAAA;AAJY,QAAA,YAAY,gBAIxB;AAEM,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,GAAG,MAAM,EAAE,EAAE;IAC3E,MAAM,MAAM,GAAG,CAAC,UAAU,YAAY,WAAW,CAAC;QAChD,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAErC,MAAM,QAAQ,GAAG,CAAC,YAAY,YAAY,WAAW,CAAC;QACpD,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAEvC,OAAO,CACL,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC;QACnC,gBAAM,CAAC,eAAe,CACpB,MAAM,EACN,QAAQ,CACT,CACF,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,aAAa,iBAgBzB;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;AACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAErD,MAAa,aAAa;IACxB,YAAY,QAAQ,EAAE,MAAM;QAC1B,IAAI,QAAQ,KAAK,iBAAiB,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;SACvF;QAED,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,CAAA;IACzC,CAAC;IAED,UAAU;QACR,IAAI,IAAA,uBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC/B,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YAC7E,MAAM,EACJ,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,kBAAkB,GAC9B,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;YAEpC,MAAM,EACJ,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAA;YAErC,IAAI,CAAC,YAAY,GAAG;gBAClB,SAAS,EAAE,WAAW,CAAC,UAAU,CAC/B,kBAAkB,EAClB,YAAY,EACZ,cAAc,CACf,EAAE,YAAY,CAAC;gBAChB,UAAU,EAAE,WAAW,CAAC,UAAU,CAChC,mBAAmB,EACnB,YAAY,EACZ,eAAe,CAChB,CAAC;aACH,CAAA;SACF;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAE,MAAM;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;SAC/D;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE;YAClC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAA;SAC7B;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,SAAS;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,OAAO,CAAC,SAAS;QACf,OAAO,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IACnE,CAAC;CACF;AA7DD,sCA6DC;AAED,+CAA+C;AACxC,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE;IACtC,iEAAiE;IACjE,MAAM,KAAK,GAAG,gBAAM,CAAC,eAAe;QAClC,CAAC,CAAC,gBAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,gBAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAE9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AAPY,QAAA,QAAQ,YAOpB"}
|
|
@@ -41,7 +41,7 @@ class FirebaseSessionHandler {
|
|
|
41
41
|
return (this.firestore != undefined);
|
|
42
42
|
}
|
|
43
43
|
initializeFireStore(firebaseConfig) {
|
|
44
|
-
if (shared_1.objectNotEmpty(firebaseConfig)) {
|
|
44
|
+
if ((0, shared_1.objectNotEmpty)(firebaseConfig)) {
|
|
45
45
|
const project = !firebase_admin_1.default.apps.length
|
|
46
46
|
? firebase_admin_1.default.initializeApp({
|
|
47
47
|
credential: firebase_admin_1.default.credential.cert(firebaseConfig),
|
|
@@ -106,7 +106,7 @@ const updateCallback = (instance, shopId, session) => __awaiter(void 0, void 0,
|
|
|
106
106
|
});
|
|
107
107
|
exports.updateCallback = updateCallback;
|
|
108
108
|
const loadCallback = (instance, shopId, sessionId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
109
|
-
if (shared_1.stringEmpty(sessionId)) {
|
|
109
|
+
if ((0, shared_1.stringEmpty)(sessionId)) {
|
|
110
110
|
return undefined;
|
|
111
111
|
}
|
|
112
112
|
try {
|
|
@@ -142,7 +142,7 @@ const deleteSessionsCallback = (instance, shopId, sessionIds) => __awaiter(void
|
|
|
142
142
|
.collection(instance.collection)
|
|
143
143
|
.doc(shopId)
|
|
144
144
|
.collection(instance.configurationId);
|
|
145
|
-
return Promise.all(shared_1.ensureArray(sessionIds).map((sessionId) => deleteSessionCallback(collectionRef, sessionId)));
|
|
145
|
+
return Promise.all((0, shared_1.ensureArray)(sessionIds).map((sessionId) => deleteSessionCallback(collectionRef, sessionId)));
|
|
146
146
|
}
|
|
147
147
|
catch (error) {
|
|
148
148
|
console.error('FirebaseSessionHandler.deleteSessionsCallback error', error);
|
|
@@ -151,7 +151,7 @@ const deleteSessionsCallback = (instance, shopId, sessionIds) => __awaiter(void
|
|
|
151
151
|
});
|
|
152
152
|
exports.deleteSessionsCallback = deleteSessionsCallback;
|
|
153
153
|
const findSessionIdsByShop = (instance, shopId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
154
|
-
if (shared_1.stringEmpty(shopId)) {
|
|
154
|
+
if ((0, shared_1.stringEmpty)(shopId)) {
|
|
155
155
|
// NOTE: this happens on initial install
|
|
156
156
|
return [];
|
|
157
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../../src/lib/utils/firebase.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAkC;AAElC,yCAKqB;AAErB,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;AACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAErD,MAAa,sBAAsB;IACjC,YAAY,QAAQ,EAAE,EAAE,eAAe,EAAE,UAAU,GAAG,wBAAe,EAAE;QACrE,IAAI,QAAQ,KAAK,iBAAiB,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;SAChG;QAED,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAA;IACtC,CAAC;IAED,mBAAmB,CAAE,cAAc;QACjC,IAAI,uBAAc,
|
|
1
|
+
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../../src/lib/utils/firebase.js"],"names":[],"mappings":"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"}
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -13,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
17
|
__exportStar(require("./billing"), exports);
|
|
14
18
|
__exportStar(require("./crypto"), exports);
|
|
15
19
|
__exportStar(require("./firebase"), exports);
|
|
20
|
+
__exportStar(require("./graph"), exports);
|
|
16
21
|
__exportStar(require("./session"), exports);
|
|
17
22
|
__exportStar(require("./shopify"), exports);
|
|
18
23
|
__exportStar(require("./shopify-api-js/oauth"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,2CAAwB;AACxB,6CAA0B;AAC1B,0CAAuB;AACvB,4CAAyB;AACzB,4CAAyB;AACzB,yDAAsC"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
export function getShopifyHelpers(serverRuntimeConfig: any, { shop }: {
|
|
2
2
|
shop: any;
|
|
3
3
|
}): Promise<{
|
|
4
|
+
getVerifiedClients: ({ req, res, apiVersion }?: {
|
|
5
|
+
req: any;
|
|
6
|
+
res: any;
|
|
7
|
+
apiVersion: any;
|
|
8
|
+
}) => Promise<{
|
|
9
|
+
Graphql: import("@shopify/shopify-api/lib/clients/graphql/graphql_client").GraphqlClient;
|
|
10
|
+
Rest: import("@shopify/shopify-api/lib/clients/rest/rest_client").RestClient;
|
|
11
|
+
}>;
|
|
4
12
|
getAppUrl: (_appPath: any) => Promise<string>;
|
|
5
13
|
loadSession: ({ req, res }?: {
|
|
6
14
|
req: any;
|
|
@@ -13,13 +21,4 @@ export function getShopifyHelpers(serverRuntimeConfig: any, { shop }: {
|
|
|
13
21
|
ensureBilling: (session: any, skipBillingCheck: any) => Promise<any>;
|
|
14
22
|
shopify: import("@shopify/shopify-api").Shopify<import("@shopify/shopify-api").ShopifyRestResources>;
|
|
15
23
|
}>;
|
|
16
|
-
export function getVerifiedClients(serverRuntimeConfig: any, { req, res, shop, apiVersion }: {
|
|
17
|
-
req: any;
|
|
18
|
-
res: any;
|
|
19
|
-
shop: any;
|
|
20
|
-
apiVersion: any;
|
|
21
|
-
}): Promise<{
|
|
22
|
-
Graphql: import("@shopify/shopify-api/lib/clients/graphql/graphql_client").GraphqlClient;
|
|
23
|
-
Rest: import("@shopify/shopify-api/lib/clients/rest/rest_client").RestClient;
|
|
24
|
-
}>;
|
|
25
24
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/session.js"],"names":[],"mappings":"AA2BO
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/session.js"],"names":[],"mappings":"AA2BO;;;;;;;;;;;;;;;;;;;;;;GA8JN"}
|
|
@@ -20,7 +20,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
return t;
|
|
21
21
|
};
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.
|
|
23
|
+
exports.getShopifyHelpers = void 0;
|
|
24
24
|
const js_base64_1 = require("js-base64");
|
|
25
25
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
26
26
|
const luxon_1 = require("luxon");
|
|
@@ -31,7 +31,7 @@ const firebase_1 = require("./firebase");
|
|
|
31
31
|
const crypto_1 = require("./crypto");
|
|
32
32
|
const getShopifyHelpers = (serverRuntimeConfig, { shop }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
33
|
var _a, _b;
|
|
34
|
-
const shopify = shopify_1.getInitializedShopify(serverRuntimeConfig);
|
|
34
|
+
const shopify = (0, shopify_1.getInitializedShopify)(serverRuntimeConfig);
|
|
35
35
|
const { FB_CONFIG, FB_ROOT_COLLECTION, SESSION_CONFIG, APP_ID, PAYMENT_CONFIG } = serverRuntimeConfig;
|
|
36
36
|
const shopId = (_b = (_a = shopify === null || shopify === void 0 ? void 0 : shopify.utils) === null || _a === void 0 ? void 0 : _a.sanitizeShop) === null || _b === void 0 ? void 0 : _b.call(_a, shop);
|
|
37
37
|
const cryptoHandler = crypto_1.CryptoHandler.getInstance(SESSION_CONFIG);
|
|
@@ -51,16 +51,16 @@ const getShopifyHelpers = (serverRuntimeConfig, { shop }) => __awaiter(void 0, v
|
|
|
51
51
|
rawResponse: res,
|
|
52
52
|
})) : (yield shopify.session.getOfflineId(shop) // NOTE: not sure if this is working yet?
|
|
53
53
|
);
|
|
54
|
-
const _f = (_c = (yield firebase_1.loadCallback(sessionHandler, shopId, sessionId))) !== null && _c !== void 0 ? _c : {}, { accessToken: encryptedAccessToken } = _f, session = __rest(_f, ["accessToken"]);
|
|
55
|
-
if (shared_1.stringEmpty(encryptedAccessToken)) {
|
|
54
|
+
const _f = (_c = (yield (0, firebase_1.loadCallback)(sessionHandler, shopId, sessionId))) !== null && _c !== void 0 ? _c : {}, { accessToken: encryptedAccessToken } = _f, session = __rest(_f, ["accessToken"]);
|
|
55
|
+
if ((0, shared_1.stringEmpty)(encryptedAccessToken)) {
|
|
56
56
|
throw new shared_1.ShopifySessionMissingError('Missing session');
|
|
57
57
|
}
|
|
58
|
-
if (shared_1.stringNotEmpty(session === null || session === void 0 ? void 0 : session.shop) && (session.shop !== shop)) {
|
|
58
|
+
if ((0, shared_1.stringNotEmpty)(session === null || session === void 0 ? void 0 : session.shop) && (session.shop !== shop)) {
|
|
59
59
|
throw new Error('Invalid shop');
|
|
60
60
|
}
|
|
61
61
|
// NOTE only online sessions have expirations
|
|
62
62
|
const sessionExpired = isOnline && (!(session === null || session === void 0 ? void 0 : session.expires) || (luxon_1.DateTime.fromISO(session.expires) < luxon_1.DateTime.now()));
|
|
63
|
-
const sessionActive = (!sessionExpired && shared_1.arraysMatch(shared_1.splitCommas((_e = (_d = shopify.config) === null || _d === void 0 ? void 0 : _d.scopes) === null || _e === void 0 ? void 0 : _e.toString()), shared_1.splitCommas(session === null || session === void 0 ? void 0 : session.scope)));
|
|
63
|
+
const sessionActive = (!sessionExpired && (0, shared_1.arraysMatch)((0, shared_1.splitCommas)((_e = (_d = shopify.config) === null || _d === void 0 ? void 0 : _d.scopes) === null || _e === void 0 ? void 0 : _e.toString()), (0, shared_1.splitCommas)(session === null || session === void 0 ? void 0 : session.scope)));
|
|
64
64
|
if (!sessionActive) {
|
|
65
65
|
throw new shared_1.ShopifySessionAuthenticationError('Inactive session');
|
|
66
66
|
}
|
|
@@ -81,64 +81,65 @@ const getShopifyHelpers = (serverRuntimeConfig, { shop }) => __awaiter(void 0, v
|
|
|
81
81
|
});
|
|
82
82
|
};
|
|
83
83
|
const encryptStoreSession = (session) => __awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
-
return (firebase_1.storeCallback(sessionHandler, shopId, ensureEncryptedSession(session)));
|
|
84
|
+
return ((0, firebase_1.storeCallback)(sessionHandler, shopId, ensureEncryptedSession(session)));
|
|
85
85
|
});
|
|
86
86
|
// TODO: handle encrypting other keys
|
|
87
87
|
const encryptUpdateSession = (session) => __awaiter(void 0, void 0, void 0, function* () {
|
|
88
|
-
return (firebase_1.updateCallback(sessionHandler, shopId, ensureEncryptedSession(session)));
|
|
88
|
+
return ((0, firebase_1.updateCallback)(sessionHandler, shopId, ensureEncryptedSession(session)));
|
|
89
89
|
});
|
|
90
90
|
const buildEmbeddedAppUrl = (_appPath) => __awaiter(void 0, void 0, void 0, function* () {
|
|
91
|
-
if (shared_1.stringEmpty(shop)) {
|
|
91
|
+
if ((0, shared_1.stringEmpty)(shop)) {
|
|
92
92
|
return undefined;
|
|
93
93
|
}
|
|
94
|
-
const embeddedAppBaseUrl = yield shopify.auth.buildEmbeddedAppUrl(js_base64_1.encode(`${shop}/admin`));
|
|
95
|
-
const appPath = shared_1.removeLeadingSlash(_appPath);
|
|
96
|
-
return `${embeddedAppBaseUrl}${shared_1.stringNotEmpty(appPath) ? `/${appPath}` : ''}`;
|
|
94
|
+
const embeddedAppBaseUrl = yield shopify.auth.buildEmbeddedAppUrl((0, js_base64_1.encode)(`${shop}/admin`));
|
|
95
|
+
const appPath = (0, shared_1.removeLeadingSlash)(_appPath);
|
|
96
|
+
return `${embeddedAppBaseUrl}${(0, shared_1.stringNotEmpty)(appPath) ? `/${appPath}` : ''}`;
|
|
97
|
+
});
|
|
98
|
+
const getVerifiedClients = ({ req, res, apiVersion } = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
99
|
+
var _g;
|
|
100
|
+
if ((0, shared_1.stringEmpty)(shop)) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
const session = yield decryptVerifySession({ req, res });
|
|
105
|
+
const Graphql = new shopify.clients.Graphql(Object.assign({ session }, apiVersion && { apiVersion }));
|
|
106
|
+
const isOnline = (req != undefined) && (res != undefined);
|
|
107
|
+
if (isOnline && (0, shared_1.isTrue)((_g = serverRuntimeConfig.PAYMENT_CONFIG) === null || _g === void 0 ? void 0 : _g.required)) {
|
|
108
|
+
const confirmationUrl = yield (0, billing_1.ensureBilling)(session);
|
|
109
|
+
if ((0, shared_1.stringNotEmpty)(confirmationUrl)) {
|
|
110
|
+
throw new shared_1.ShopifyAuthenticationError('Invalid payment status', { redirectUrl: confirmationUrl });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
// NOTE making a test call to ensure a valid session for free apps
|
|
115
|
+
yield Graphql.query({ data: shopify_1.SHOP_QUERY });
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
Graphql,
|
|
119
|
+
Rest: new shopify.clients.Rest(Object.assign({ session }, apiVersion && { apiVersion })),
|
|
120
|
+
// TODO: add support for Storefront client (takes different params)
|
|
121
|
+
// Storefront: shopify.clients.Storefront({ ...apiVersion && { apiVersion } }),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
if (error instanceof shopify_api_1.HttpResponseError &&
|
|
126
|
+
error.response.code === 401) {
|
|
127
|
+
throw new shared_1.ShopifyAuthenticationError('Not authenticated');
|
|
128
|
+
}
|
|
129
|
+
throw error;
|
|
130
|
+
}
|
|
97
131
|
});
|
|
98
132
|
//#endregion internal shopifyHelper implementations
|
|
99
|
-
return Object.assign({ shopify, getAppUrl: () => undefined, loadSession: () => ({}), storeSession: () => ({}), updateSession: () => ({}), deleteSessions: () => undefined, findSessionIds: () => ([]), ensureBilling: () => undefined }, shopify && {
|
|
133
|
+
return Object.assign({ shopify, getAppUrl: () => undefined, getVerifiedClients: () => undefined, loadSession: () => ({}), storeSession: () => ({}), updateSession: () => ({}), deleteSessions: () => undefined, findSessionIds: () => ([]), ensureBilling: () => undefined }, shopify && {
|
|
134
|
+
getVerifiedClients,
|
|
100
135
|
getAppUrl: buildEmbeddedAppUrl,
|
|
101
136
|
loadSession: decryptVerifySession,
|
|
102
137
|
storeSession: encryptStoreSession,
|
|
103
138
|
updateSession: (sessionId, data) => __awaiter(void 0, void 0, void 0, function* () { return encryptUpdateSession(Object.assign(Object.assign({}, data), { id: sessionId })); }),
|
|
104
|
-
deleteSessions: (sessionIds) => __awaiter(void 0, void 0, void 0, function* () { return firebase_1.deleteSessionsCallback(sessionHandler, shopId, sessionIds); }),
|
|
105
|
-
findSessionIds: (_shop) => __awaiter(void 0, void 0, void 0, function* () { var
|
|
106
|
-
ensureBilling: (session, skipBillingCheck) => __awaiter(void 0, void 0, void 0, function* () { return billing_1.ensureBilling(PAYMENT_CONFIG, { session, shopify, skipBillingCheck }); }),
|
|
107
|
-
// eslint-disable-next-line no-undef
|
|
139
|
+
deleteSessions: (sessionIds) => __awaiter(void 0, void 0, void 0, function* () { return (0, firebase_1.deleteSessionsCallback)(sessionHandler, shopId, sessionIds); }),
|
|
140
|
+
findSessionIds: (_shop) => __awaiter(void 0, void 0, void 0, function* () { var _h, _j; return (0, firebase_1.findSessionIdsByShop)(sessionHandler, (_j = (_h = shopify === null || shopify === void 0 ? void 0 : shopify.utils) === null || _h === void 0 ? void 0 : _h.sanitizeShop) === null || _j === void 0 ? void 0 : _j.call(_h, _shop)); }),
|
|
141
|
+
ensureBilling: (session, skipBillingCheck) => __awaiter(void 0, void 0, void 0, function* () { return (0, billing_1.ensureBilling)(PAYMENT_CONFIG, { session, shopify, skipBillingCheck }); }),
|
|
108
142
|
});
|
|
109
143
|
});
|
|
110
144
|
exports.getShopifyHelpers = getShopifyHelpers;
|
|
111
|
-
const getVerifiedClients = (serverRuntimeConfig, { req, res, shop, apiVersion }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
112
|
-
var _j;
|
|
113
|
-
try {
|
|
114
|
-
const isOnline = (req != undefined) && (res != undefined);
|
|
115
|
-
const { shopify, loadSession, ensureBilling } = yield exports.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
116
|
-
const session = yield loadSession({ req, res });
|
|
117
|
-
const Graphql = new shopify.clients.Graphql(Object.assign({ session }, apiVersion && { apiVersion }));
|
|
118
|
-
if (isOnline && shared_1.isTrue((_j = serverRuntimeConfig.PAYMENT_CONFIG) === null || _j === void 0 ? void 0 : _j.required)) {
|
|
119
|
-
const confirmationUrl = yield ensureBilling(session);
|
|
120
|
-
if (shared_1.stringNotEmpty(confirmationUrl)) {
|
|
121
|
-
throw new shared_1.ShopifyAuthenticationError('Invalid payment status', { redirectUrl: confirmationUrl });
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
// NOTE making a test call to ensure a valid session for free apps
|
|
126
|
-
yield Graphql.query({ data: shopify_1.SHOP_QUERY });
|
|
127
|
-
}
|
|
128
|
-
return {
|
|
129
|
-
Graphql,
|
|
130
|
-
Rest: new shopify.clients.Rest(Object.assign({ session }, apiVersion && { apiVersion })),
|
|
131
|
-
// TODO: add support for Storefront client (takes different params)
|
|
132
|
-
// Storefront: shopify.clients.Storefront({ ...apiVersion && { apiVersion } }),
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
if (error instanceof shopify_api_1.HttpResponseError &&
|
|
137
|
-
error.response.code === 401) {
|
|
138
|
-
throw new shared_1.ShopifyAuthenticationError('Not authenticated');
|
|
139
|
-
}
|
|
140
|
-
throw error;
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
exports.getVerifiedClients = getVerifiedClients;
|
|
144
145
|
//# sourceMappingURL=session.js.map
|