@agnostack/next-shopify 1.8.1-beta.8 → 1.8.1-beta.9
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/auth.js +5 -5
- package/dist/handlers/api/auth.js.map +1 -1
- package/dist/handlers/api/billing.js +13 -5
- package/dist/handlers/api/billing.js.map +1 -1
- package/dist/handlers/api/callback.js +2 -0
- package/dist/handlers/api/callback.js.map +1 -1
- package/dist/utils/session.js +9 -8
- package/dist/utils/session.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,9 +5,9 @@ const utils_1 = require("../../utils");
|
|
|
5
5
|
// NOTE: typically handling: "/api/auth"
|
|
6
6
|
const handleAuth = (serverRuntimeConfig) => async (req, res) => {
|
|
7
7
|
var _a;
|
|
8
|
-
const { API_URLS, API_PATHS, PAGE_PATHS } = serverRuntimeConfig;
|
|
9
8
|
const query = (_a = req.query) !== null && _a !== void 0 ? _a : {};
|
|
10
9
|
const { embedded, host, shop: _shop, isOnline: _isOnline = true } = query !== null && query !== void 0 ? query : {};
|
|
10
|
+
const { API_URLS, API_PATHS, PAGE_PATHS } = serverRuntimeConfig;
|
|
11
11
|
const shopify = await utils_1.getInitializedShopify(serverRuntimeConfig);
|
|
12
12
|
const shop = shopify.utils.sanitizeShop(_shop);
|
|
13
13
|
if (utils_1.stringEmpty(shop)) {
|
|
@@ -23,13 +23,13 @@ const handleAuth = (serverRuntimeConfig) => async (req, res) => {
|
|
|
23
23
|
return res.redirect(`${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.EXIT]}?${queryParams}`);
|
|
24
24
|
}
|
|
25
25
|
const isOnline = utils_1.isTrue(_isOnline);
|
|
26
|
-
|
|
26
|
+
const authPayload = {
|
|
27
27
|
shop,
|
|
28
28
|
isOnline,
|
|
29
|
-
rawRequest: req,
|
|
30
|
-
rawResponse: res,
|
|
31
29
|
callbackPath: `${API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_CALLBACK]}?isOnline=${isOnline}`,
|
|
32
|
-
}
|
|
30
|
+
};
|
|
31
|
+
console.log(`>>> > handleAuth > authPayload:`, authPayload);
|
|
32
|
+
return shopify.auth.begin(Object.assign({ rawRequest: req, rawResponse: res }, authPayload));
|
|
33
33
|
};
|
|
34
34
|
exports.handleAuth = handleAuth;
|
|
35
35
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/handlers/api/auth.js"],"names":[],"mappings":";;;AAAA,uCAMoB;AAEpB,wCAAwC;AACjC,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;;IACpE,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/handlers/api/auth.js"],"names":[],"mappings":";;;AAAA,uCAMoB;AAEpB,wCAAwC;AACjC,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;;IACpE,MAAM,KAAK,GAAG,MAAA,GAAG,CAAC,KAAK,mCAAI,EAAE,CAAA;IAC7B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAA;IAC/E,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAA;IAE/D,MAAM,OAAO,GAAG,MAAM,6BAAqB,CAAC,mBAAmB,CAAC,CAAA;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAE9C,IAAI,mBAAW,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,wBAAgB,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;KACnG;IAED,IAAI,QAAQ,KAAK,GAAG,EAAE;QACpB,oCAAoC;QACpC,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAAC;YAC5C,IAAI;YACJ,IAAI;SACL,CAAC,CAAC,QAAQ,EAAE,CAAA;QACb,MAAM,WAAW,GAAG,IAAI,eAAe,iCAClC,KAAK,KACR,IAAI,EACJ,WAAW,EAAE,GAAG,QAAQ,CAAC,uBAAe,CAAC,aAAa,CAAC,IAAI,iBAAiB,EAAE,IAC9E,CAAC,QAAQ,EAAE,CAAA;QAEb,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,wBAAgB,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;KAC3E;IAED,MAAM,QAAQ,GAAG,cAAM,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG;QAClB,IAAI;QACJ,QAAQ;QACR,YAAY,EAAE,GAAG,SAAS,CAAC,uBAAe,CAAC,aAAa,CAAC,aAAa,QAAQ,EAAE;KACjF,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAA;IAC3D,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,iBACvB,UAAU,EAAE,GAAG,EACf,WAAW,EAAE,GAAG,IACb,WAAW,EACd,CAAA;AACJ,CAAC,CAAA;AAvCY,QAAA,UAAU,cAuCtB"}
|
|
@@ -26,18 +26,26 @@ const handleAppBilling = (serverRuntimeConfig) => async (req, res) => {
|
|
|
26
26
|
return res.status(200).json({ handler: 'billing', error: 'Missing shop' });
|
|
27
27
|
}
|
|
28
28
|
const { shopify } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
29
|
-
console.log(`>>> > handleAppBilling > req.body`, req.body);
|
|
30
29
|
// NOTE raw request body is required for Shopify webhook validation
|
|
31
|
-
const
|
|
30
|
+
const _rawBody = await raw_body_1.default(req);
|
|
31
|
+
const rawBody = _rawBody.toString();
|
|
32
32
|
const _b = await shopify.webhooks.validate({
|
|
33
|
-
rawBody
|
|
33
|
+
rawBody,
|
|
34
34
|
rawRequest: req,
|
|
35
35
|
rawResponse: res,
|
|
36
36
|
}), { valid } = _b, webhookCheck = __rest(_b, ["valid"]);
|
|
37
37
|
if (valid) {
|
|
38
38
|
try {
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const { Rest } = await utils_1.getVerifiedClients(serverRuntimeConfig, { shop });
|
|
40
|
+
const [type, { status } = {}] = Object.entries(JSON.parse(rawBody))[0];
|
|
41
|
+
// TODO convert to constants
|
|
42
|
+
// TODO handle subscriptions
|
|
43
|
+
// TODO only revoke installation if there are previous plans
|
|
44
|
+
if (type === 'app_purchase_one_time' && status === 'DECLINED') {
|
|
45
|
+
await Rest.delete({
|
|
46
|
+
path: '/admin/api_permissions/current.json',
|
|
47
|
+
});
|
|
48
|
+
}
|
|
41
49
|
return res.status(200).json({ handler: 'billing', message: 'success' });
|
|
42
50
|
}
|
|
43
51
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/handlers/api/billing.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAiC;AAEjC,
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/handlers/api/billing.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAiC;AAEjC,uCAIoB;AAEpB,wDAAwD;AACjD,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;;IAC1E,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,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;QACnC,MAAM,KAA6B,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjE,OAAO;YACP,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,EAAE,IAAI,EAAE,GAAG,MAAM,0BAAkB,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBAExE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEvE,4BAA4B;gBAC5B,4BAA4B;gBAC5B,4DAA4D;gBAC5D,IAAI,IAAI,KAAK,uBAAuB,IAAI,MAAM,KAAK,UAAU,EAAE;oBAC7D,MAAM,IAAI,CAAC,MAAM,CAAC;wBAChB,IAAI,EAAE,qCAAqC;qBAC5C,CAAC,CAAA;iBACH;gBAED,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,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,oCAAoC,EAAE,YAAY,CAAC,CAAA;QAChE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAA;KACjG;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;AA9CY,QAAA,gBAAgB,oBA8C5B"}
|
|
@@ -43,7 +43,9 @@ const handleCallback = (serverRuntimeConfig) => async (req, res) => {
|
|
|
43
43
|
// TODO clear sessions if undefined???
|
|
44
44
|
await storeSession(session.toObject());
|
|
45
45
|
await shopify.webhooks.register({ session });
|
|
46
|
+
console.log(`>>> > handleCallback > webhooks:`, { isOnline, webhooks });
|
|
46
47
|
if (isOnline && utils_1.objectNotEmpty(webhooks)) {
|
|
48
|
+
console.log(`>>> > handleCallback > YEP!!!!`);
|
|
47
49
|
return shopify.auth.begin({
|
|
48
50
|
shop,
|
|
49
51
|
rawRequest: req,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../src/handlers/api/callback.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../src/handlers/api/callback.js"],"names":[],"mappings":"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"}
|
package/dist/utils/session.js
CHANGED
|
@@ -32,21 +32,21 @@ const getShopifyHelpers = async (serverRuntimeConfig, { shop }) => {
|
|
|
32
32
|
const decryptVerifySession = async ({ req, res } = {}) => {
|
|
33
33
|
var _a, _b;
|
|
34
34
|
try {
|
|
35
|
-
const
|
|
35
|
+
const isOnline = ((req != undefined) && (res != undefined));
|
|
36
|
+
const sessionId = isOnline
|
|
36
37
|
? (await shopify.session.getCurrentId({
|
|
37
|
-
isOnline
|
|
38
|
+
isOnline,
|
|
38
39
|
rawRequest: req,
|
|
39
40
|
rawResponse: res,
|
|
40
|
-
})) : (await shopify.session.getOfflineId(shop)
|
|
41
|
-
);
|
|
41
|
+
})) : (await shopify.session.getOfflineId(shop));
|
|
42
42
|
const _c = (_a = (await firebase_1.loadCallback(sessionHandler, sessionId))) !== null && _a !== void 0 ? _a : {}, { accessToken: encryptedAccessToken } = _c, session = __rest(_c, ["accessToken"]);
|
|
43
43
|
// TODO clear sessions if undefined???
|
|
44
44
|
if (display_1.stringNotEmpty(session === null || session === void 0 ? void 0 : session.shop) && (session.shop !== shop)) {
|
|
45
45
|
throw new Error('Invalid shop');
|
|
46
46
|
}
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
|
|
47
|
+
const sessionExpired = isOnline && (!(session === null || session === void 0 ? void 0 : session.expires) || (luxon_1.DateTime.fromISO(session.expires) < luxon_1.DateTime.now()));
|
|
48
|
+
const sessionActive = (!sessionExpired &&
|
|
49
|
+
display_1.arraysMatch(display_1.splitCommas((_b = shopify.config) === null || _b === void 0 ? void 0 : _b.scopes.toString()), display_1.splitCommas(session === null || session === void 0 ? void 0 : session.scope)));
|
|
50
50
|
if (!sessionActive) {
|
|
51
51
|
throw new Error('Inactive session');
|
|
52
52
|
}
|
|
@@ -72,10 +72,11 @@ exports.getShopifyHelpers = getShopifyHelpers;
|
|
|
72
72
|
const getVerifiedClients = async (serverRuntimeConfig, { req, res, shop, apiVersion }) => {
|
|
73
73
|
var _a;
|
|
74
74
|
try {
|
|
75
|
+
const isOnline = (req != undefined) && (res != undefined);
|
|
75
76
|
const { shopify, loadSession, ensureBilling } = await exports.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
76
77
|
const session = await loadSession({ req, res });
|
|
77
78
|
const Graphql = new shopify.clients.Graphql(Object.assign({ session }, apiVersion && { apiVersion }));
|
|
78
|
-
if (display_1.isTrue((_a = serverRuntimeConfig === null || serverRuntimeConfig === void 0 ? void 0 : serverRuntimeConfig.PAYMENT_CONFIG) === null || _a === void 0 ? void 0 : _a.required)) {
|
|
79
|
+
if (isOnline && display_1.isTrue((_a = serverRuntimeConfig === null || serverRuntimeConfig === void 0 ? void 0 : serverRuntimeConfig.PAYMENT_CONFIG) === null || _a === void 0 ? void 0 : _a.required)) {
|
|
79
80
|
const confirmationUrl = await ensureBilling(session);
|
|
80
81
|
if (display_1.stringNotEmpty(confirmationUrl)) {
|
|
81
82
|
throw new errors_1.ShopifyAuthenticationError('Invalid payment status', { redirectUrl: confirmationUrl });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAwD;AACxD,iCAAgC;AAEhC,uCAAyC;AACzC,uCAA4E;AAC5E,uCAA6D;AAC7D,yCAMmB;AACnB,qCAAwC;AACxC,qCAAqD;AAE9C,MAAM,iBAAiB,GAAG,KAAK,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;;IACvE,MAAM,OAAO,GAAG,MAAM,+BAAqB,CAAC,mBAAmB,CAAC,CAAA;IAChE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAA;IAErG,MAAM,aAAa,GAAG,sBAAa,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IAC/D,MAAM,cAAc,GAAG,iCAAsB,CAAC,WAAW,CACvD,SAAS,EACT;QACE,UAAU,EAAE,kBAAkB;QAC9B,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,YAAY,CAAC,IAAI,CAAC,EAAE;KAC9E,CACF,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;;QACvD,IAAI;YACF,MAAM,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agnostack/next-shopify",
|
|
3
|
-
"version": "1.8.1-beta.
|
|
3
|
+
"version": "1.8.1-beta.9",
|
|
4
4
|
"author": "agnoStack Dev <developers@agnostack.com> (https://agnostack.com)",
|
|
5
5
|
"owner": "agnoStack",
|
|
6
6
|
"description": "Please contact agnoStack via info@agnostack.com for any questions",
|