@agnostack/next-shopify 1.8.19 → 1.9.0-beta.10
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 → lib/handlers}/api/appInstallation.d.ts +1 -0
- package/dist/lib/handlers/api/appInstallation.d.ts.map +1 -0
- package/dist/{handlers → lib/handlers}/api/appInstallation.js +7 -5
- package/dist/lib/handlers/api/appInstallation.js.map +1 -0
- package/dist/{handlers → lib/handlers}/api/auth.d.ts +1 -0
- package/dist/lib/handlers/api/auth.d.ts.map +1 -0
- package/dist/lib/handlers/api/auth.js +39 -0
- package/dist/lib/handlers/api/auth.js.map +1 -0
- package/dist/{handlers → lib/handlers}/api/billing.d.ts +1 -0
- package/dist/lib/handlers/api/billing.d.ts.map +1 -0
- package/dist/{handlers → lib/handlers}/api/billing.js +15 -27
- package/dist/lib/handlers/api/billing.js.map +1 -0
- package/dist/{handlers → lib/handlers}/api/callback.d.ts +1 -0
- package/dist/lib/handlers/api/callback.d.ts.map +1 -0
- package/dist/{handlers → lib/handlers}/api/callback.js +38 -47
- package/dist/lib/handlers/api/callback.js.map +1 -0
- package/dist/{handlers → lib/handlers}/api/graph.d.ts +1 -0
- package/dist/lib/handlers/api/graph.d.ts.map +1 -0
- package/dist/{handlers → lib/handlers}/api/graph.js +20 -29
- package/dist/lib/handlers/api/graph.js.map +1 -0
- package/dist/{handlers → lib/handlers}/api/index.d.ts +1 -0
- package/dist/lib/handlers/api/index.d.ts.map +1 -0
- package/dist/lib/handlers/api/index.js +19 -0
- package/dist/lib/handlers/api/index.js.map +1 -0
- package/dist/{handlers → lib/handlers}/api/proxy.d.ts +1 -0
- package/dist/lib/handlers/api/proxy.d.ts.map +1 -0
- package/dist/{handlers → lib/handlers}/api/proxy.js +22 -34
- package/dist/lib/handlers/api/proxy.js.map +1 -0
- package/dist/{handlers → lib/handlers}/api/rest.d.ts +1 -0
- package/dist/lib/handlers/api/rest.d.ts.map +1 -0
- package/dist/{handlers → lib/handlers}/api/rest.js +15 -24
- package/dist/lib/handlers/api/rest.js.map +1 -0
- package/dist/lib/handlers/api/types.d.ts +1 -0
- package/dist/lib/handlers/api/types.d.ts.map +1 -0
- package/dist/lib/handlers/api/types.js +1 -0
- package/dist/lib/handlers/api/types.js.map +1 -0
- package/dist/{handlers → lib/handlers}/api/uninstall.d.ts +1 -0
- package/dist/lib/handlers/api/uninstall.d.ts.map +1 -0
- package/dist/{handlers → lib/handlers}/api/uninstall.js +13 -25
- package/dist/lib/handlers/api/uninstall.js.map +1 -0
- package/dist/{handlers → lib/handlers}/api/webhook.d.ts +1 -0
- package/dist/lib/handlers/api/webhook.d.ts.map +1 -0
- package/dist/{handlers → lib/handlers}/api/webhook.js +13 -25
- package/dist/lib/handlers/api/webhook.js.map +1 -0
- package/dist/{handlers → lib/handlers}/index.d.ts +1 -0
- package/dist/lib/handlers/index.d.ts.map +1 -0
- package/dist/lib/handlers/index.js +6 -0
- package/dist/lib/handlers/index.js.map +1 -0
- package/dist/{handlers → lib/handlers}/ssr/index.d.ts +1 -0
- package/dist/lib/handlers/ssr/index.d.ts.map +1 -0
- package/dist/lib/handlers/ssr/index.js +6 -0
- package/dist/lib/handlers/ssr/index.js.map +1 -0
- package/dist/{handlers → lib/handlers}/ssr/protect.d.ts +2 -1
- package/dist/lib/handlers/ssr/protect.d.ts.map +1 -0
- package/dist/{handlers → lib/handlers}/ssr/protect.js +19 -17
- package/dist/lib/handlers/ssr/protect.js.map +1 -0
- package/dist/lib/handlers/ssr/types.d.ts +1 -0
- package/dist/lib/handlers/ssr/types.d.ts.map +1 -0
- package/dist/lib/handlers/ssr/types.js +1 -0
- package/dist/lib/handlers/ssr/types.js.map +1 -0
- package/dist/{handlers → lib/handlers}/ssr/wrap.d.ts +2 -1
- package/dist/lib/handlers/ssr/wrap.d.ts.map +1 -0
- package/dist/lib/handlers/ssr/wrap.js +17 -0
- package/dist/lib/handlers/ssr/wrap.js.map +1 -0
- package/dist/lib/handlers/types.d.ts +1 -0
- package/dist/lib/handlers/types.d.ts.map +1 -0
- package/dist/lib/handlers/types.js +1 -0
- package/dist/lib/handlers/types.js.map +1 -0
- package/dist/lib/index.d.ts +6 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +13 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/types.d.ts +1 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +1 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/{utils → lib/utils}/billing.d.ts +3 -2
- package/dist/lib/utils/billing.d.ts.map +1 -0
- package/dist/{utils → lib/utils}/billing.js +16 -16
- package/dist/lib/utils/billing.js.map +1 -0
- package/dist/{utils → lib/utils}/crypto.d.ts +3 -2
- package/dist/lib/utils/crypto.d.ts.map +1 -0
- package/dist/{utils → lib/utils}/crypto.js +5 -7
- package/dist/lib/utils/crypto.js.map +1 -0
- package/dist/{utils → lib/utils}/firebase.d.ts +3 -2
- package/dist/lib/utils/firebase.d.ts.map +1 -0
- package/dist/{utils → lib/utils}/firebase.js +30 -44
- package/dist/lib/utils/firebase.js.map +1 -0
- package/dist/lib/utils/graph.d.ts +13 -0
- package/dist/lib/utils/graph.d.ts.map +1 -0
- package/dist/{utils → lib/utils}/graph.js +12 -41
- package/dist/lib/utils/graph.js.map +1 -0
- package/dist/{utils → lib/utils}/index.d.ts +1 -3
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +11 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/session.d.ts +24 -0
- package/dist/lib/utils/session.d.ts.map +1 -0
- package/dist/lib/utils/session.js +126 -0
- package/dist/lib/utils/session.js.map +1 -0
- package/dist/{utils → lib/utils}/shopify-api-js/oauth.d.ts +1 -0
- package/dist/lib/utils/shopify-api-js/oauth.d.ts.map +1 -0
- package/dist/{utils → lib/utils}/shopify-api-js/oauth.js +13 -26
- package/dist/lib/utils/shopify-api-js/oauth.js.map +1 -0
- package/dist/{utils → lib/utils}/shopify.d.ts +13 -1
- package/dist/lib/utils/shopify.d.ts.map +1 -0
- package/dist/{utils → lib/utils}/shopify.js +43 -39
- package/dist/lib/utils/shopify.js.map +1 -0
- package/dist/lib/utils/types.d.ts +1 -0
- package/dist/lib/utils/types.d.ts.map +1 -0
- package/dist/lib/utils/types.js +1 -0
- package/dist/lib/utils/types.js.map +1 -0
- package/dist/{withShopify.d.ts → lib/withShopify.d.ts} +1 -0
- package/dist/lib/withShopify.d.ts.map +1 -0
- package/dist/lib/withShopify.js +211 -0
- package/dist/lib/withShopify.js.map +1 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +5 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/types.d.ts +1 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +1 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/{utils → shared}/constants.d.ts +1 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/{utils → shared}/constants.js +0 -1
- package/dist/shared/constants.js.map +1 -0
- package/dist/{utils → shared}/display.d.ts +1 -0
- package/dist/shared/display.d.ts.map +1 -0
- package/dist/{utils → shared}/display.js +35 -37
- package/dist/shared/display.js.map +1 -0
- package/dist/{utils → shared}/errors.d.ts +1 -11
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/{utils → shared}/errors.js +1 -20
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/index.d.ts +4 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +7 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/types.d.ts +1 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +1 -0
- package/dist/shared/types.js.map +1 -0
- package/package.json +22 -6
- package/dist/handlers/api/appInstallation.js.map +0 -1
- package/dist/handlers/api/auth.js +0 -48
- package/dist/handlers/api/auth.js.map +0 -1
- package/dist/handlers/api/billing.js.map +0 -1
- package/dist/handlers/api/callback.js.map +0 -1
- package/dist/handlers/api/graph.js.map +0 -1
- package/dist/handlers/api/index.js +0 -28
- package/dist/handlers/api/index.js.map +0 -1
- package/dist/handlers/api/proxy.js.map +0 -1
- package/dist/handlers/api/rest.js.map +0 -1
- package/dist/handlers/api/uninstall.js.map +0 -1
- package/dist/handlers/api/webhook.js.map +0 -1
- package/dist/handlers/index.js +0 -15
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/ssr/index.js +0 -15
- package/dist/handlers/ssr/index.js.map +0 -1
- package/dist/handlers/ssr/protect.js.map +0 -1
- package/dist/handlers/ssr/wrap.js +0 -15
- package/dist/handlers/ssr/wrap.js.map +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/index.js +0 -30
- package/dist/index.js.map +0 -1
- package/dist/utils/billing.js.map +0 -1
- package/dist/utils/constants.js.map +0 -1
- package/dist/utils/crypto.js.map +0 -1
- package/dist/utils/display.js.map +0 -1
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/firebase.js.map +0 -1
- package/dist/utils/graph.d.ts +0 -25
- package/dist/utils/graph.js.map +0 -1
- package/dist/utils/index.js +0 -23
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/session.d.ts +0 -23
- package/dist/utils/session.js +0 -133
- package/dist/utils/session.js.map +0 -1
- package/dist/utils/shopify-api-js/oauth.js.map +0 -1
- package/dist/utils/shopify.js.map +0 -1
- package/dist/withShopify.js +0 -221
- package/dist/withShopify.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appInstallation.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/appInstallation.js"],"names":[],"mappings":"AAKO,uHAcN"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleLoadAppInstallation = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const utils_1 = require("../../utils");
|
|
6
|
+
const shared_1 = require("../../../shared");
|
|
5
7
|
const graph_1 = require("./graph");
|
|
6
8
|
// NOTE: typically handling: "/api/admin/installation/[appId]" (called by getUseAppInstallation)
|
|
7
|
-
const handleLoadAppInstallation = (serverRuntimeConfig) =>
|
|
9
|
+
const handleLoadAppInstallation = (serverRuntimeConfig) => (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
8
10
|
const { appId } = params !== null && params !== void 0 ? params : {};
|
|
9
|
-
if (
|
|
11
|
+
if ((0, shared_1.stringEmpty)(appId)) {
|
|
10
12
|
return res.status(412).json({ message: 'Missing required param' });
|
|
11
13
|
}
|
|
12
|
-
const _handleGraph = graph_1.handleGraph(serverRuntimeConfig);
|
|
14
|
+
const _handleGraph = (0, graph_1.handleGraph)(serverRuntimeConfig);
|
|
13
15
|
return _handleGraph(req, res, {
|
|
14
|
-
query: utils_1.APP_QUERIES.
|
|
16
|
+
query: utils_1.APP_QUERIES.INSTALLATION,
|
|
15
17
|
variables: { namespace: `${appId}-metafields` },
|
|
16
18
|
transform: utils_1.APP_QUERY_TRANSFORM,
|
|
17
19
|
});
|
|
18
|
-
};
|
|
20
|
+
});
|
|
19
21
|
exports.handleLoadAppInstallation = handleLoadAppInstallation;
|
|
20
22
|
//# sourceMappingURL=appInstallation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appInstallation.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/appInstallation.js"],"names":[],"mappings":";;;;AAAA,uCAA8D;AAC9D,4CAA6C;AAC7C,mCAAqC;AAErC,gGAAgG;AACzF,MAAM,yBAAyB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAC3F,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;IAE9B,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE;QACtB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAA;KACnE;IAED,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,mBAAmB,CAAC,CAAA;IAErD,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;QAC5B,KAAK,EAAE,mBAAW,CAAC,YAAY;QAC/B,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,aAAa,EAAE;QAC/C,SAAS,EAAE,2BAAmB;KAC/B,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAdY,QAAA,yBAAyB,6BAcrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/auth.js"],"names":[],"mappings":"AAYO,wGA2CN"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleAuth = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const shared_1 = require("../../../shared");
|
|
7
|
+
// NOTE: typically handling: "/api/auth/online" and "/api/auth/offline"
|
|
8
|
+
const handleAuth = (serverRuntimeConfig) => (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
9
|
+
var _a;
|
|
10
|
+
const { PAGE_PATHS, API_PATHS, API_URLS, APP_CONFIG, } = serverRuntimeConfig;
|
|
11
|
+
const { isOnline } = params !== null && params !== void 0 ? params : {};
|
|
12
|
+
const _b = (_a = req.query) !== null && _a !== void 0 ? _a : {}, { reAuth: _reAuth } = _b, query = tslib_1.__rest(_b, ["reAuth"]);
|
|
13
|
+
const { embedded, state, host, shop: _shop } = query;
|
|
14
|
+
const reAuth = (0, shared_1.isTrue)(_reAuth, 'undefined');
|
|
15
|
+
const shopify = (0, utils_1.getInitializedShopify)(serverRuntimeConfig);
|
|
16
|
+
const shop = shopify.utils.sanitizeShop(_shop);
|
|
17
|
+
if ((0, shared_1.stringEmpty)(shop)) {
|
|
18
|
+
return res.redirect(`${PAGE_PATHS[shared_1.PAGE_ROUTE_NAMES.ERROR]}?code=no_shop_provided&type=handleAuth`);
|
|
19
|
+
}
|
|
20
|
+
if (embedded === '1') {
|
|
21
|
+
const callbackURL = (0, utils_1.getCallback)(API_URLS, { reAuth, isOnline });
|
|
22
|
+
// TODO: explore objectToQuerystring
|
|
23
|
+
const redirectUriParams = new URLSearchParams({ shop, host, state }).toString();
|
|
24
|
+
const queryParams = new URLSearchParams(Object.assign(Object.assign({}, query), { shop, redirectUri: `${callbackURL}?${redirectUriParams}` })).toString();
|
|
25
|
+
return res.redirect(`${PAGE_PATHS[shared_1.PAGE_ROUTE_NAMES.EXIT]}?${queryParams}`);
|
|
26
|
+
}
|
|
27
|
+
const callbackPath = (0, utils_1.getCallback)(API_PATHS, { reAuth, isOnline });
|
|
28
|
+
return (0, utils_1.beginAuth)({
|
|
29
|
+
shop,
|
|
30
|
+
state,
|
|
31
|
+
isOnline,
|
|
32
|
+
callbackPath,
|
|
33
|
+
rawRequest: req,
|
|
34
|
+
rawResponse: res,
|
|
35
|
+
config: APP_CONFIG,
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
exports.handleAuth = handleAuth;
|
|
39
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/auth.js"],"names":[],"mappings":";;;;AAAA,uCAIoB;AACpB,4CAIwB;AAExB,wEAAwE;AACjE,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;;IAC5E,MAAM,EACJ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,GACX,GAAG,mBAAmB,CAAA;IACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;IACjC,MAAM,KAAgC,MAAA,GAAG,CAAC,KAAK,mCAAI,EAAE,EAA/C,EAAE,MAAM,EAAE,OAAO,OAA8B,EAAzB,KAAK,sBAA3B,UAA6B,CAAkB,CAAA;IACrD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACpD,MAAM,MAAM,GAAG,IAAA,eAAM,EAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAE3C,MAAM,OAAO,GAAG,IAAA,6BAAqB,EAAC,mBAAmB,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAE9C,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,EAAE;QACrB,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,yBAAgB,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;KACnG;IAED,IAAI,QAAQ,KAAK,GAAG,EAAE;QACpB,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC/D,oCAAoC;QACpC,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC/E,MAAM,WAAW,GAAG,IAAI,eAAe,iCAClC,KAAK,KACR,IAAI,EACJ,WAAW,EAAE,GAAG,WAAW,IAAI,iBAAiB,EAAE,IAClD,CAAC,QAAQ,EAAE,CAAA;QAEb,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,yBAAgB,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;KAC3E;IAED,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEjE,OAAO,IAAA,iBAAS,EAAC;QACf,IAAI;QACJ,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,UAAU;KACnB,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AA3CY,QAAA,UAAU,cA2CtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/billing.js"],"names":[],"mappings":"AAeO,iGAuDN"}
|
|
@@ -1,61 +1,49 @@
|
|
|
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
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
3
|
exports.handleAppBilling = void 0;
|
|
18
|
-
const
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
|
|
19
6
|
const utils_1 = require("../../utils");
|
|
7
|
+
const shared_1 = require("../../../shared");
|
|
20
8
|
const TERMINAL_STATUSES = [
|
|
21
9
|
'EXPIRED',
|
|
22
10
|
'DECLINED',
|
|
23
11
|
'CANCELLED'
|
|
24
12
|
];
|
|
25
13
|
// NOTE: typically handling: "/api/webhooks/app/billing"
|
|
26
|
-
const handleAppBilling = (serverRuntimeConfig) =>
|
|
14
|
+
const handleAppBilling = (serverRuntimeConfig) => (req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
27
15
|
var _a;
|
|
28
16
|
try {
|
|
29
17
|
const { 'x-shopify-shop-domain': shop } = (_a = req.headers) !== null && _a !== void 0 ? _a : {};
|
|
30
|
-
if (
|
|
18
|
+
if ((0, shared_1.stringEmpty)(shop)) {
|
|
31
19
|
return res.status(200).json({ handler: 'billing', error: 'Missing shop' });
|
|
32
20
|
}
|
|
33
|
-
const { shopify, loadSession, updateSession, getVerifiedClients } =
|
|
21
|
+
const { shopify, loadSession, updateSession, getVerifiedClients } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
34
22
|
// NOTE raw request body is required for Shopify webhook validation
|
|
35
|
-
const _rawBody =
|
|
23
|
+
const _rawBody = yield (0, raw_body_1.default)(req);
|
|
36
24
|
const rawBody = _rawBody.toString();
|
|
37
|
-
const _b =
|
|
25
|
+
const _b = yield shopify.webhooks.validate({
|
|
38
26
|
rawBody,
|
|
39
27
|
rawRequest: req,
|
|
40
28
|
rawResponse: res,
|
|
41
|
-
}), { valid } = _b, webhookCheck = __rest(_b, ["valid"]);
|
|
29
|
+
}), { valid } = _b, webhookCheck = tslib_1.__rest(_b, ["valid"]);
|
|
42
30
|
if (valid) {
|
|
43
31
|
try {
|
|
44
32
|
let message = 'ignored';
|
|
45
33
|
const [eventType, { status } = {}] = Object.entries(JSON.parse(rawBody))[0];
|
|
46
|
-
if ((eventType ===
|
|
47
|
-
const { Rest } =
|
|
34
|
+
if ((eventType === shared_1.BILLING_EVENT_TYPES.SUBSCRIPTION) && TERMINAL_STATUSES.includes(status)) {
|
|
35
|
+
const { Rest } = yield getVerifiedClients();
|
|
48
36
|
// NOTE: this deletes the app in the case of subscription apps in a "terminal" state to cover the info in ShopifyApi docs for billing:
|
|
49
37
|
// "Note: the merchant may refuse payment when prompted or cancel subscriptions later on, but the app will already be installed at that point. We recommend using billing webhooks to revoke access for merchants when they cancel / decline payment."
|
|
50
|
-
|
|
38
|
+
yield Rest.delete({
|
|
51
39
|
path: '/admin/api_permissions/current.json',
|
|
52
40
|
});
|
|
53
41
|
message = 'deleted';
|
|
54
42
|
}
|
|
55
43
|
if ((serverRuntimeConfig.SHOPIFY_RUN_MODE === 'review') && !TERMINAL_STATUSES.includes(status)) {
|
|
56
|
-
const { id: sessionId } =
|
|
44
|
+
const { id: sessionId } = yield loadSession();
|
|
57
45
|
// NOTE: billingStatus is a custom field we add when we're in review mode to handle reauth billing correctly
|
|
58
|
-
|
|
46
|
+
yield updateSession(sessionId, { billingStatus: status });
|
|
59
47
|
}
|
|
60
48
|
return res.status(200).json({ handler: 'billing', message });
|
|
61
49
|
}
|
|
@@ -70,6 +58,6 @@ const handleAppBilling = (serverRuntimeConfig) => async (req, res) => {
|
|
|
70
58
|
console.error('Error handling billing', error);
|
|
71
59
|
return res.status(200).json({ handler: 'billing', error: 'Error handling billing' });
|
|
72
60
|
}
|
|
73
|
-
};
|
|
61
|
+
});
|
|
74
62
|
exports.handleAppBilling = handleAppBilling;
|
|
75
63
|
//# sourceMappingURL=billing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/billing.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/callback.js"],"names":[],"mappings":"AAkCO,4GAmKN"}
|
|
@@ -1,95 +1,86 @@
|
|
|
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
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.handleCallback = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
15
5
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
16
6
|
const utils_1 = require("../../utils");
|
|
7
|
+
const shared_1 = require("../../../shared");
|
|
17
8
|
/* NOTE: typically handling:
|
|
18
9
|
* "/api/auth/online/callback"
|
|
19
10
|
* "/api/auth/offline/callback"
|
|
20
11
|
* "/api/auth/online/callback/reauth"
|
|
21
12
|
* "/api/auth/offline/callback/reauth"
|
|
22
13
|
*/
|
|
23
|
-
const handleCallback = (serverRuntimeConfig) =>
|
|
14
|
+
const handleCallback = (serverRuntimeConfig) => (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
24
15
|
var _a, _b;
|
|
25
16
|
const _c = serverRuntimeConfig, { API_PATHS, PAGE_PATHS, PAYMENT_CONFIG, SHOPIFY_RUN_MODE } = _c, _d = _c.APP_WEBHOOKS, _e = _d === void 0 ? {} : _d,
|
|
26
17
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
27
|
-
_f =
|
|
18
|
+
_f = shared_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED,
|
|
28
19
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
|
-
_uninstalledWebhook = _e[_f], webhooks = __rest(_e, [typeof _f === "symbol" ? _f : _f + ""]);
|
|
30
|
-
const errorPath = PAGE_PATHS[
|
|
20
|
+
_uninstalledWebhook = _e[_f], webhooks = tslib_1.__rest(_e, [typeof _f === "symbol" ? _f : _f + ""]);
|
|
21
|
+
const errorPath = PAGE_PATHS[shared_1.PAGE_ROUTE_NAMES.ERROR];
|
|
31
22
|
const { isOnline, reAuth } = params !== null && params !== void 0 ? params : {};
|
|
32
23
|
const { shop, host, state } = (_a = req.query) !== null && _a !== void 0 ? _a : {};
|
|
33
24
|
const authPayload = { rawRequest: req, rawResponse: res };
|
|
34
|
-
if (
|
|
25
|
+
if ((0, shared_1.stringEmpty)(shop) || (0, shared_1.stringEmpty)(host)) {
|
|
35
26
|
// HMMM: why is this a 303 (rather than a 302 or or anything)??
|
|
36
|
-
return res.redirect(303, `${errorPath}?code=${
|
|
27
|
+
return res.redirect(303, `${errorPath}?code=${shared_1.ERROR_CODES.INVALID_CALLBACK}`);
|
|
37
28
|
}
|
|
38
29
|
let redirectUrl = `${errorPath}?code=invalid_callback_response`;
|
|
39
30
|
let shopify;
|
|
40
31
|
try {
|
|
41
|
-
const { shopify: _shopify, storeSession, loadSession, ensureBilling } =
|
|
32
|
+
const { shopify: _shopify, storeSession, loadSession, ensureBilling } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
42
33
|
shopify = _shopify;
|
|
43
|
-
const { session: _session } =
|
|
34
|
+
const { session: _session } = yield shopify.auth.callback(authPayload);
|
|
44
35
|
const session = _session.toObject();
|
|
45
36
|
const isReviewMode = ((SHOPIFY_RUN_MODE === 'review') &&
|
|
46
37
|
(PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) &&
|
|
47
|
-
API_PATHS[
|
|
38
|
+
API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE]);
|
|
48
39
|
const shouldStoreSession = isOnline || !isReviewMode;
|
|
49
|
-
const shouldProcessOfflineAuth = isOnline &&
|
|
50
|
-
const shouldRegisterWebhooks = !
|
|
40
|
+
const shouldProcessOfflineAuth = isOnline && (0, shared_1.objectNotEmpty)(webhooks) && API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE];
|
|
41
|
+
const shouldRegisterWebhooks = !(0, shared_1.isTrue)(session === null || session === void 0 ? void 0 : session.isOnline) || !API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE];
|
|
51
42
|
const shouldCheckBilling = PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required;
|
|
52
43
|
// NOTE: billingStatus is a custom field we add when we're in review mode to handle reauth billing correctly
|
|
53
44
|
let billingStatus = 'PENDING';
|
|
54
45
|
if (shouldStoreSession) {
|
|
55
|
-
|
|
46
|
+
yield storeSession(session);
|
|
56
47
|
}
|
|
57
48
|
else {
|
|
58
49
|
// NOTE our review approach requires that all paid apps must support offline tokens
|
|
59
|
-
const offlineSession =
|
|
50
|
+
const offlineSession = yield loadSession().catch((_error) => {
|
|
60
51
|
// NOTE: first time install, this is expected
|
|
61
|
-
if (!(_error instanceof
|
|
52
|
+
if (!(_error instanceof shared_1.ShopifySessionMissingError)) {
|
|
62
53
|
throw _error;
|
|
63
54
|
}
|
|
64
55
|
});
|
|
65
56
|
billingStatus = (offlineSession === null || offlineSession === void 0 ? void 0 : offlineSession.billingStatus) || billingStatus;
|
|
66
|
-
|
|
57
|
+
yield storeSession(Object.assign(Object.assign({}, session), { billingStatus }));
|
|
67
58
|
}
|
|
68
59
|
// NOTE: return early to set up an offline token as webhooks cannot use the online one to make API calls
|
|
69
60
|
if (shouldProcessOfflineAuth) {
|
|
70
61
|
// TODO: explore objectToQuerystring
|
|
71
62
|
const queryParams = new URLSearchParams({ host, shop, state, reAuth, isOnline: false }).toString();
|
|
72
|
-
return res.redirect(302, `${API_PATHS[
|
|
63
|
+
return res.redirect(302, `${API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE]}?${queryParams}`);
|
|
73
64
|
}
|
|
74
65
|
if (shouldRegisterWebhooks) {
|
|
75
|
-
const webhookHandlers = utils_1.getWebhookHandlers(serverRuntimeConfig);
|
|
66
|
+
const webhookHandlers = (0, utils_1.getWebhookHandlers)(serverRuntimeConfig);
|
|
76
67
|
shopify.webhooks.addHandlers(webhookHandlers);
|
|
77
68
|
// NOTE: webhooks cannot use an online session to make API calls to Shopify (but not all webooks may be doing that for all apps)
|
|
78
|
-
|
|
69
|
+
yield shopify.webhooks.register({ session });
|
|
79
70
|
}
|
|
80
71
|
// NOTE this is the final/successful return URL
|
|
81
|
-
redirectUrl =
|
|
72
|
+
redirectUrl = yield shopify.auth.getEmbeddedAppUrl(authPayload);
|
|
82
73
|
if (shouldCheckBilling) {
|
|
83
74
|
// NOTE this ensures while in "review" mode that we rebill each time
|
|
84
|
-
const skipBillingCheck = isReviewMode && (!
|
|
85
|
-
const confirmationUrl =
|
|
86
|
-
if (
|
|
75
|
+
const skipBillingCheck = isReviewMode && (!(0, shared_1.isTrue)(reAuth) || (billingStatus != 'ACTIVE'));
|
|
76
|
+
const confirmationUrl = yield ensureBilling(session, skipBillingCheck);
|
|
77
|
+
if ((0, shared_1.stringNotEmpty)(confirmationUrl)) {
|
|
87
78
|
redirectUrl = confirmationUrl;
|
|
88
79
|
}
|
|
89
80
|
}
|
|
90
81
|
// NOTE confirm that state can be appended to the confirmationUrl,
|
|
91
82
|
// otherwise we can append to the redirectUrl above the billing check
|
|
92
|
-
redirectUrl =
|
|
83
|
+
redirectUrl = (0, shared_1.appendQuery)(redirectUrl, new URLSearchParams({ state }).toString());
|
|
93
84
|
}
|
|
94
85
|
catch (error) {
|
|
95
86
|
console.error('Error handling callback route', error);
|
|
@@ -97,9 +88,9 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
|
|
|
97
88
|
let baseErrorUrl = errorPath;
|
|
98
89
|
if (shopify) {
|
|
99
90
|
try {
|
|
100
|
-
const embeddedAppUrl =
|
|
101
|
-
if (
|
|
102
|
-
baseErrorUrl = `${embeddedAppUrl}${
|
|
91
|
+
const embeddedAppUrl = yield shopify.auth.getEmbeddedAppUrl(authPayload);
|
|
92
|
+
if ((0, shared_1.stringNotEmpty)(embeddedAppUrl)) {
|
|
93
|
+
baseErrorUrl = `${embeddedAppUrl}${(0, shared_1.ensureLeadingSlash)(errorPath)}`;
|
|
103
94
|
}
|
|
104
95
|
// eslint-disable-next-line no-empty
|
|
105
96
|
}
|
|
@@ -110,10 +101,10 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
|
|
|
110
101
|
case error instanceof shopify_api_1.InvalidHmacError: {
|
|
111
102
|
console.warn(`${errorMessage}. InvalidHmac Error ${error.message}`);
|
|
112
103
|
// HMMMM: not sure
|
|
113
|
-
const authOnlinePath = API_PATHS[
|
|
104
|
+
const authOnlinePath = API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_ONLINE];
|
|
114
105
|
const authPath = isOnline
|
|
115
106
|
? authOnlinePath
|
|
116
|
-
: API_PATHS[
|
|
107
|
+
: API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE] || authOnlinePath;
|
|
117
108
|
// TODO: explore objectToQuerystring
|
|
118
109
|
const queryParams = new URLSearchParams({ host, shop, state }).toString();
|
|
119
110
|
redirectUrl = `${authPath}?${queryParams}`;
|
|
@@ -122,10 +113,10 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
|
|
|
122
113
|
case error instanceof shopify_api_1.CookieNotFound: {
|
|
123
114
|
console.warn(`${errorMessage}. This may occur if Cookie is already deleted. CookieNotFound Error ${error.message}`);
|
|
124
115
|
// HMMMM: not sure
|
|
125
|
-
const authOnlinePath = API_PATHS[
|
|
116
|
+
const authOnlinePath = API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_ONLINE];
|
|
126
117
|
const authPath = isOnline
|
|
127
118
|
? authOnlinePath
|
|
128
|
-
: API_PATHS[
|
|
119
|
+
: API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE] || authOnlinePath;
|
|
129
120
|
// TODO: explore objectToQuerystring
|
|
130
121
|
const queryParams = new URLSearchParams({ host, shop, state }).toString();
|
|
131
122
|
redirectUrl = `${authPath}?${queryParams}`;
|
|
@@ -133,27 +124,27 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
|
|
|
133
124
|
}
|
|
134
125
|
case error instanceof shopify_api_1.BillingError: {
|
|
135
126
|
console.error(`${errorMessage}. Billing Error ${error.message}`, error.errorData);
|
|
136
|
-
redirectUrl = `${baseErrorUrl}?code=${
|
|
127
|
+
redirectUrl = `${baseErrorUrl}?code=${shared_1.ERROR_CODES.BILLING}`;
|
|
137
128
|
break;
|
|
138
129
|
}
|
|
139
130
|
case error instanceof shopify_api_1.GraphqlQueryError: {
|
|
140
|
-
const errorMessages =
|
|
131
|
+
const errorMessages = (0, shared_1.ensureArray)((_b = error.response) === null || _b === void 0 ? void 0 : _b.errors).map(({ message }) => (0, shared_1.ensureString)(message));
|
|
141
132
|
console.error(`${errorMessage}. GraphqlQuery Error ${errorMessages.join('. ')}`);
|
|
142
|
-
redirectUrl = `${baseErrorUrl}?code=${
|
|
133
|
+
redirectUrl = `${baseErrorUrl}?code=${shared_1.ERROR_CODES.QUERY}`;
|
|
143
134
|
break;
|
|
144
135
|
}
|
|
145
136
|
case error instanceof shopify_api_1.InvalidOAuthError: {
|
|
146
137
|
console.error(`${errorMessage}. InvalidOAuth Error`, error);
|
|
147
|
-
redirectUrl = `${baseErrorUrl}?code=${
|
|
138
|
+
redirectUrl = `${baseErrorUrl}?code=${shared_1.ERROR_CODES.OAUTH}`;
|
|
148
139
|
break;
|
|
149
140
|
}
|
|
150
141
|
default: {
|
|
151
142
|
console.error(errorMessage, error);
|
|
152
|
-
redirectUrl = `${baseErrorUrl}?code=${
|
|
143
|
+
redirectUrl = `${baseErrorUrl}?code=${shared_1.ERROR_CODES.CALLBACK}`;
|
|
153
144
|
}
|
|
154
145
|
}
|
|
155
146
|
}
|
|
156
147
|
return res.redirect(302, redirectUrl);
|
|
157
|
-
};
|
|
148
|
+
});
|
|
158
149
|
exports.handleCallback = handleCallback;
|
|
159
150
|
//# sourceMappingURL=callback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/callback.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/graph.js"],"names":[],"mappings":"AAkBO,yGAwGN"}
|
|
@@ -1,28 +1,19 @@
|
|
|
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
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.handleGraph = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
15
5
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
16
6
|
const utils_1 = require("../../utils");
|
|
17
|
-
const
|
|
7
|
+
const shared_1 = require("../../../shared");
|
|
8
|
+
const handleGraph = (serverRuntimeConfig) => (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
18
9
|
var _a, _b;
|
|
19
|
-
const { body = '{}' } = req, _c = req.query, _d = _c === void 0 ? {} : _c, { shop, apiVersion } = _d, _query = __rest(_d, ["shop", "apiVersion"]);
|
|
20
|
-
const _e = params !== null && params !== void 0 ? params : JSON.parse(body), { query: graphQuery, variables: graphVariables, transform = (_data) => _data } = _e, graphParams = __rest(_e, ["query", "variables", "transform"]);
|
|
10
|
+
const { body = '{}' } = req, _c = req.query, _d = _c === void 0 ? {} : _c, { shop, apiVersion } = _d, _query = tslib_1.__rest(_d, ["shop", "apiVersion"]);
|
|
11
|
+
const _e = params !== null && params !== void 0 ? params : JSON.parse(body), { query: graphQuery, variables: graphVariables, transform = (_data) => _data } = _e, graphParams = tslib_1.__rest(_e, ["query", "variables", "transform"]);
|
|
21
12
|
let query = _query;
|
|
22
|
-
if (
|
|
23
|
-
query =
|
|
13
|
+
if ((0, shared_1.isType)(query, 'string')) {
|
|
14
|
+
query = (0, shared_1.querystringToObject)(query);
|
|
24
15
|
}
|
|
25
|
-
if (
|
|
16
|
+
if ((0, shared_1.stringEmpty)(shop) || (0, shared_1.stringEmpty)(graphQuery)) {
|
|
26
17
|
return res.status(400).json({ message: 'Invalid arguments' });
|
|
27
18
|
}
|
|
28
19
|
let statusCode;
|
|
@@ -30,21 +21,21 @@ const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
|
|
|
30
21
|
let headers = {};
|
|
31
22
|
let message = 'Error handling query call';
|
|
32
23
|
try {
|
|
33
|
-
const { getVerifiedClients } =
|
|
34
|
-
const { Graphql } =
|
|
35
|
-
response =
|
|
24
|
+
const { getVerifiedClients } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
25
|
+
const { Graphql } = yield getVerifiedClients({ req, res, shop, apiVersion });
|
|
26
|
+
response = yield Graphql.query(Object.assign(Object.assign({ data: graphVariables ? {
|
|
36
27
|
query: graphQuery,
|
|
37
28
|
variables: graphVariables,
|
|
38
|
-
} : graphQuery },
|
|
29
|
+
} : graphQuery }, (0, shared_1.objectNotEmpty)(query) && { query }), graphParams));
|
|
39
30
|
statusCode = 200;
|
|
40
31
|
}
|
|
41
32
|
catch (error) {
|
|
42
33
|
statusCode = 500;
|
|
43
34
|
// TODO: clean up to share between rest and graph (pr at least keep in sync)
|
|
44
35
|
switch (true) {
|
|
45
|
-
case error instanceof
|
|
36
|
+
case error instanceof shared_1.ShopifyAuthenticationError: {
|
|
46
37
|
console.error(`${message}. Authentication Error.`, error);
|
|
47
|
-
const errorResponse = utils_1.getAuthErrorResponse(serverRuntimeConfig, { error, shop });
|
|
38
|
+
const errorResponse = (0, utils_1.getAuthErrorResponse)(serverRuntimeConfig, { error, shop });
|
|
48
39
|
statusCode = errorResponse.statusCode;
|
|
49
40
|
message = errorResponse.message;
|
|
50
41
|
// HMMMM, should this be:
|
|
@@ -63,7 +54,7 @@ const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
|
|
|
63
54
|
break;
|
|
64
55
|
}
|
|
65
56
|
case error instanceof shopify_api_1.GraphqlQueryError: {
|
|
66
|
-
const errorMessages =
|
|
57
|
+
const errorMessages = (0, shared_1.ensureArray)((_a = error.response) === null || _a === void 0 ? void 0 : _a.errors).map(({ message }) => (0, shared_1.ensureString)(message));
|
|
67
58
|
console.error(`${message}. ${errorMessages.join('. ')}.`);
|
|
68
59
|
// HMMMM, should this be:
|
|
69
60
|
// message = `${message}. ${errorMessages.join('. ')}.`
|
|
@@ -83,10 +74,10 @@ const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
|
|
|
83
74
|
}
|
|
84
75
|
try {
|
|
85
76
|
const responseBody = (_b = response.body.data) !== null && _b !== void 0 ? _b : response.body;
|
|
86
|
-
const [_responseData] = Object.values(
|
|
87
|
-
const _f =
|
|
88
|
-
if (
|
|
89
|
-
const errorMessages =
|
|
77
|
+
const [_responseData] = Object.values((0, shared_1.ensureObject)(responseBody));
|
|
78
|
+
const _f = (0, shared_1.ensureObject)(_responseData), { userErrors } = _f, responseData = tslib_1.__rest(_f, ["userErrors"]);
|
|
79
|
+
if ((0, shared_1.arrayNotEmpty)(userErrors)) {
|
|
80
|
+
const errorMessages = (0, shared_1.ensureArray)(userErrors).map(({ message }) => (0, shared_1.ensureString)(message));
|
|
90
81
|
return res.status(500).json({ message: `${message}. ${errorMessages.join('. ')}.` });
|
|
91
82
|
}
|
|
92
83
|
// NOTE: sending in both to transform in case someone needs the userErrors
|
|
@@ -96,6 +87,6 @@ const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
|
|
|
96
87
|
console.error(`${message}. Transformation Error.`, error);
|
|
97
88
|
return res.status(500).json({ message });
|
|
98
89
|
}
|
|
99
|
-
};
|
|
90
|
+
});
|
|
100
91
|
exports.handleGraph = handleGraph;
|
|
101
92
|
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/graph.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/index.js"],"names":[],"mappings":";;;;;;;;;AAWO;;EAKL"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAPIConfig = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
tslib_1.__exportStar(require("./appInstallation"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./auth"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./billing"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./callback"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./graph"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./proxy"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./rest"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./uninstall"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./webhook"), exports);
|
|
14
|
+
// NOTE raw request body is required for Shopify webhook validation
|
|
15
|
+
const getAPIConfig = (config) => ({
|
|
16
|
+
api: Object.assign({ bodyParser: false }, config),
|
|
17
|
+
});
|
|
18
|
+
exports.getAPIConfig = getAPIConfig;
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/index.js"],"names":[],"mappings":";;;;AAAA,4DAAiC;AACjC,iDAAsB;AACtB,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,kDAAuB;AACvB,iDAAsB;AACtB,sDAA2B;AAC3B,oDAAyB;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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/proxy.js"],"names":[],"mappings":"AA6BO,0GAyGN"}
|