@agnostack/next-shopify 1.8.1-beta.7 → 1.8.1-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.
|
@@ -5,12 +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 {
|
|
8
|
+
const { API_URLS, API_PATHS, PAGE_PATHS } = serverRuntimeConfig;
|
|
9
9
|
const query = (_a = req.query) !== null && _a !== void 0 ? _a : {};
|
|
10
10
|
const { embedded, host, shop: _shop, isOnline: _isOnline = true } = query !== null && query !== void 0 ? query : {};
|
|
11
|
-
console.log(`>>> > handleAuth > _isOnline: '${_isOnline}'`);
|
|
12
|
-
const isOnline = utils_1.isTrue(_isOnline);
|
|
13
|
-
console.log(`>>> > handleAuth > isOnline: '${isOnline}'`);
|
|
14
11
|
const shopify = await utils_1.getInitializedShopify(serverRuntimeConfig);
|
|
15
12
|
const shop = shopify.utils.sanitizeShop(_shop);
|
|
16
13
|
if (utils_1.stringEmpty(shop)) {
|
|
@@ -25,13 +22,14 @@ const handleAuth = (serverRuntimeConfig) => async (req, res) => {
|
|
|
25
22
|
const queryParams = new URLSearchParams(Object.assign(Object.assign({}, query), { shop, redirectUri: `${API_URLS[utils_1.API_ROUTE_NAMES.AUTH_CALLBACK]}?${redirectUriParams}` })).toString();
|
|
26
23
|
return res.redirect(`${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.EXIT]}?${queryParams}`);
|
|
27
24
|
}
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
isOnline,
|
|
25
|
+
const isOnline = utils_1.isTrue(_isOnline);
|
|
26
|
+
return shopify.auth.begin({
|
|
31
27
|
shop,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
isOnline,
|
|
29
|
+
rawRequest: req,
|
|
30
|
+
rawResponse: res,
|
|
31
|
+
callbackPath: `${API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_CALLBACK]}?isOnline=${isOnline}`,
|
|
32
|
+
});
|
|
35
33
|
};
|
|
36
34
|
exports.handleAuth = handleAuth;
|
|
37
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,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAA;IAC/D,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;IAE/E,MAAM,OAAO,GAAG,MAAM,6BAAqB,CAAC,mBAAmB,CAAC,CAAA;IAEhE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC9C,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,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI;QACJ,QAAQ;QACR,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,YAAY,EAAE,GAAG,SAAS,CAAC,uBAAe,CAAC,aAAa,CAAC,aAAa,QAAQ,EAAE;KACjF,CAAC,CAAA;AACJ,CAAC,CAAA;AAnCY,QAAA,UAAU,cAmCtB"}
|
|
@@ -17,14 +17,20 @@ const utils_1 = require("../../utils");
|
|
|
17
17
|
// NOTE: typically handling: "/api/auth/callback"
|
|
18
18
|
const handleCallback = (serverRuntimeConfig) => async (req, res) => {
|
|
19
19
|
var _a;
|
|
20
|
-
const _b = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {}, { PAYMENT_CONFIG, PAGE_PATHS, API_PATHS
|
|
20
|
+
const _b = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {}, { PAYMENT_CONFIG, PAGE_PATHS, API_PATHS } = _b,
|
|
21
|
+
// API_URLS,
|
|
22
|
+
_c = _b.APP_WEBHOOKS,
|
|
23
|
+
// API_URLS,
|
|
24
|
+
_d = _c === void 0 ? {} : _c,
|
|
21
25
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
22
26
|
_e = utils_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED,
|
|
23
27
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
28
|
_uninstalledWebhook = _d[_e], webhooks = __rest(_d, [typeof _e === "symbol" ? _e : _e + ""]);
|
|
25
|
-
const _f = req.query, { isOnline
|
|
26
|
-
console.log(`>>> > handleCallback > queryParams/
|
|
29
|
+
const _f = req.query, { isOnline } = _f, queryParams = __rest(_f, ["isOnline"]);
|
|
30
|
+
console.log(`>>> > handleCallback > queryParams/isOnline:`, { queryParams, isOnline, webhooks });
|
|
27
31
|
const { shop, host } = queryParams;
|
|
32
|
+
const errorPath = PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR];
|
|
33
|
+
console.log(`>>> > handleCallback > errorPath:`, errorPath);
|
|
28
34
|
if (utils_1.stringEmpty(shop) || utils_1.stringEmpty(host)) {
|
|
29
35
|
// HMMM: why is this a 303 (rather than a 302 or or anything)??
|
|
30
36
|
return res.redirect(303, `${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR]}?code=${utils_1.ERROR_CODES.INVALID_CALLBACK}`);
|
|
@@ -37,23 +43,21 @@ const handleCallback = (serverRuntimeConfig) => async (req, res) => {
|
|
|
37
43
|
// TODO clear sessions if undefined???
|
|
38
44
|
await storeSession(session.toObject());
|
|
39
45
|
await shopify.webhooks.register({ session });
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
redirectUrl = confirmationUrl;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
46
|
+
if (isOnline && utils_1.objectNotEmpty(webhooks)) {
|
|
47
|
+
return shopify.auth.begin({
|
|
48
|
+
shop,
|
|
49
|
+
rawRequest: req,
|
|
50
|
+
rawResponse: res,
|
|
51
|
+
callbackPath: `${API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_CALLBACK]}?isOnline=false`,
|
|
52
|
+
});
|
|
50
53
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
redirectUrl = await shopify.auth.getEmbeddedAppUrl(authPayload);
|
|
55
|
+
// TODO!!!!!: is this where we may actually need to fix???!?
|
|
56
|
+
if (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) {
|
|
57
|
+
const confirmationUrl = await ensureBilling(session);
|
|
58
|
+
if (utils_1.stringNotEmpty(confirmationUrl)) {
|
|
59
|
+
redirectUrl = confirmationUrl;
|
|
60
|
+
}
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
catch (error) {
|
|
@@ -81,30 +85,26 @@ const handleCallback = (serverRuntimeConfig) => async (req, res) => {
|
|
|
81
85
|
// TODO: fix these to not just redirect as standalone route (as app already installed)
|
|
82
86
|
case error instanceof shopify_api_1.BillingError: {
|
|
83
87
|
console.error(`${errorMessage}. Billing Error ${error.message}`, error.errorData);
|
|
84
|
-
redirectUrl =
|
|
85
|
-
// TODO: use PAGE_PATHS[PAGE_ROUTE_NAMES.ERROR]!!
|
|
88
|
+
redirectUrl = `${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR]}?code=${utils_1.ERROR_CODES.BILLING}`;
|
|
86
89
|
break;
|
|
87
90
|
}
|
|
88
91
|
// TODO: fix these to not just redirect as standalone route (as app already installed)
|
|
89
92
|
case error instanceof shopify_api_1.GraphqlQueryError: {
|
|
90
93
|
const errorMessages = utils_1.ensureArray((_a = error.response) === null || _a === void 0 ? void 0 : _a.errors).map(({ message }) => utils_1.ensureString(message));
|
|
91
94
|
console.error(`${errorMessage}. GraphqlQuery Error ${errorMessages.join('. ')}`);
|
|
92
|
-
|
|
93
|
-
redirectUrl = `/error?code=${utils_1.ERROR_CODES.QUERY}`;
|
|
95
|
+
redirectUrl = `${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR]}?code=${utils_1.ERROR_CODES.QUERY}`;
|
|
94
96
|
break;
|
|
95
97
|
}
|
|
96
98
|
// TODO: fix these to not just redirect as standalone route (as app already installed)
|
|
97
99
|
case error instanceof shopify_api_1.InvalidOAuthError: {
|
|
98
100
|
console.error(`${errorMessage}. InvalidOAuth Error`, error);
|
|
99
|
-
|
|
100
|
-
redirectUrl = `/error?code=${utils_1.ERROR_CODES.OAUTH}`;
|
|
101
|
+
redirectUrl = `${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR]}?code=${utils_1.ERROR_CODES.OAUTH}`;
|
|
101
102
|
break;
|
|
102
103
|
}
|
|
103
104
|
// TODO: fix these to not just redirect as standalone route (as app already installed)
|
|
104
105
|
default: {
|
|
105
106
|
console.error(errorMessage, error);
|
|
106
|
-
|
|
107
|
-
redirectUrl = `/error?code=${utils_1.ERROR_CODES.CALLBACK}`;
|
|
107
|
+
redirectUrl = `${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR]}?code=${utils_1.ERROR_CODES.CALLBACK}`;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../src/handlers/api/callback.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAM6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../src/handlers/api/callback.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.8",
|
|
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",
|