@agnostack/next-shopify 1.7.0-beta.7 → 1.7.0
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.d.ts +1 -0
- package/dist/handlers/api/auth.js +34 -0
- package/dist/handlers/api/auth.js.map +1 -0
- package/dist/handlers/api/callback.d.ts +1 -0
- package/dist/{helpers → handlers/api}/callback.js +23 -27
- package/dist/handlers/api/callback.js.map +1 -0
- package/dist/handlers/api/graph.d.ts +1 -0
- package/dist/handlers/api/graph.js +75 -0
- package/dist/handlers/api/graph.js.map +1 -0
- package/dist/handlers/api/index.d.ts +5 -0
- package/dist/handlers/api/index.js +18 -0
- package/dist/handlers/api/index.js.map +1 -0
- package/dist/handlers/api/rest.d.ts +1 -0
- package/dist/handlers/api/rest.js +83 -0
- package/dist/handlers/api/rest.js.map +1 -0
- package/dist/handlers/api/uninstall.d.ts +6 -0
- package/dist/handlers/api/uninstall.js +64 -0
- package/dist/handlers/api/uninstall.js.map +1 -0
- package/dist/handlers/ssr/index.d.ts +2 -0
- package/dist/{utils/shopify-api-node → handlers/ssr}/index.js +2 -2
- package/dist/handlers/ssr/index.js.map +1 -0
- package/dist/handlers/{ssr.d.ts → ssr/protect.d.ts} +0 -7
- package/dist/handlers/{ssr.js → ssr/protect.js} +13 -25
- package/dist/handlers/ssr/protect.js.map +1 -0
- package/dist/handlers/ssr/wrap.d.ts +7 -0
- package/dist/handlers/ssr/wrap.js +12 -0
- package/dist/handlers/ssr/wrap.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/billing.d.ts +12 -17
- package/dist/utils/billing.js +44 -195
- package/dist/utils/billing.js.map +1 -1
- package/dist/utils/constants.d.ts +0 -5
- package/dist/utils/constants.js +1 -111
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/display.d.ts +5 -1
- package/dist/utils/display.js +28 -1
- package/dist/utils/display.js.map +1 -1
- package/dist/utils/firebase.d.ts +1 -1
- package/dist/utils/firebase.js +19 -15
- package/dist/utils/firebase.js.map +1 -1
- package/dist/utils/session.d.ts +1 -1
- package/dist/utils/session.js +19 -25
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/shopify.d.ts +1 -5
- package/dist/utils/shopify.js +7 -29
- package/dist/utils/shopify.js.map +1 -1
- package/dist/withShopify.js +10 -16
- package/dist/withShopify.js.map +1 -1
- package/package.json +2 -1
- package/CHANGELOG.md +0 -685
- package/dist/handlers/api.d.ts +0 -10
- package/dist/handlers/api.js +0 -99
- package/dist/handlers/api.js.map +0 -1
- package/dist/handlers/ssr.js.map +0 -1
- package/dist/helpers/auth.d.ts +0 -14
- package/dist/helpers/auth.js +0 -22
- package/dist/helpers/auth.js.map +0 -1
- package/dist/helpers/callback.d.ts +0 -9
- package/dist/helpers/callback.js.map +0 -1
- package/dist/helpers/graph.d.ts +0 -22
- package/dist/helpers/graph.js +0 -74
- package/dist/helpers/graph.js.map +0 -1
- package/dist/helpers/index.d.ts +0 -5
- package/dist/helpers/index.js +0 -17
- package/dist/helpers/index.js.map +0 -1
- package/dist/helpers/rest.d.ts +0 -22
- package/dist/helpers/rest.js +0 -68
- package/dist/helpers/rest.js.map +0 -1
- package/dist/helpers/uninstall.d.ts +0 -7
- package/dist/helpers/uninstall.js +0 -36
- package/dist/helpers/uninstall.js.map +0 -1
- package/dist/utils/shopify-api-node/beginAuth.d.ts +0 -6
- package/dist/utils/shopify-api-node/beginAuth.js +0 -45
- package/dist/utils/shopify-api-node/beginAuth.js.map +0 -1
- package/dist/utils/shopify-api-node/index.d.ts +0 -1
- package/dist/utils/shopify-api-node/index.js.map +0 -1
package/dist/utils/session.js
CHANGED
|
@@ -13,10 +13,11 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.getVerifiedClients = exports.getShopifyHelpers = void 0;
|
|
15
15
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
16
|
-
const
|
|
16
|
+
const luxon_1 = require("luxon");
|
|
17
|
+
const billing_1 = require("./billing");
|
|
17
18
|
const display_1 = require("./display");
|
|
19
|
+
const shopify_1 = require("./shopify");
|
|
18
20
|
const firebase_1 = require("./firebase");
|
|
19
|
-
const billing_1 = require("./billing");
|
|
20
21
|
const errors_1 = require("./errors");
|
|
21
22
|
const constants_1 = require("./constants");
|
|
22
23
|
const getShopifyHelpers = async (serverRuntimeConfig, _a) => {
|
|
@@ -36,55 +37,48 @@ const getShopifyHelpers = async (serverRuntimeConfig, _a) => {
|
|
|
36
37
|
};
|
|
37
38
|
};
|
|
38
39
|
exports.getShopifyHelpers = getShopifyHelpers;
|
|
39
|
-
// TODO re-enable (check scopes and expiration)
|
|
40
|
-
const isSessionActive = (session, config) => {
|
|
41
|
-
console.log(`>>> > isSessionActive > TODO: re-enable`, { session, config });
|
|
42
|
-
return true;
|
|
43
|
-
// const scopesUnchanged = true
|
|
44
|
-
// if (
|
|
45
|
-
// scopesUnchanged &&
|
|
46
|
-
// (!session.expires || session.expires >= new Date()) // TODO: change to use luxon
|
|
47
|
-
// ) {
|
|
48
|
-
// return true
|
|
49
|
-
// }
|
|
50
|
-
// return false
|
|
51
|
-
};
|
|
52
40
|
const getVerifiedClients = async (serverRuntimeConfig, { req, res, shop, apiVersion }) => {
|
|
41
|
+
var _a;
|
|
53
42
|
try {
|
|
54
|
-
const { shopify, loadSession } = await exports.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
55
43
|
const { PAYMENT_CONFIG } = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {};
|
|
44
|
+
const { shopify, loadSession } = await exports.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
56
45
|
const sessionId = await shopify.session.getCurrentId({
|
|
57
46
|
isOnline: true,
|
|
58
47
|
rawRequest: req,
|
|
59
48
|
rawResponse: res,
|
|
60
49
|
});
|
|
61
50
|
const session = await loadSession(sessionId);
|
|
62
|
-
|
|
51
|
+
const scopesUnchanged = display_1.arraysMatch(display_1.splitCommas((_a = shopify.config) === null || _a === void 0 ? void 0 : _a.scopes.toString()), display_1.splitCommas(session === null || session === void 0 ? void 0 : session.scope));
|
|
52
|
+
const sessionExpired = !(session === null || session === void 0 ? void 0 : session.expires) || (luxon_1.DateTime.fromISO(session.expires) < luxon_1.DateTime.now());
|
|
53
|
+
const sessionActive = (scopesUnchanged && !sessionExpired);
|
|
54
|
+
if (!sessionActive) {
|
|
63
55
|
throw new errors_1.ShopifyAuthenticationError('Inactive session');
|
|
64
56
|
}
|
|
65
57
|
if (shop && (session === null || session === void 0 ? void 0 : session.shop) !== shop) {
|
|
66
58
|
throw new errors_1.ShopifyAuthenticationError('Invalid shop');
|
|
67
59
|
}
|
|
68
|
-
|
|
60
|
+
const Graphql = new shopify.clients.Graphql(Object.assign({ session }, apiVersion && { apiVersion }));
|
|
69
61
|
if (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
62
|
+
const confirmationUrl = await billing_1.ensureBilling({
|
|
63
|
+
shopify,
|
|
64
|
+
session,
|
|
65
|
+
paymentConfig: PAYMENT_CONFIG,
|
|
66
|
+
});
|
|
75
67
|
if (display_1.stringNotEmpty(confirmationUrl)) {
|
|
68
|
+
// TODO does this need to just redirect here?
|
|
69
|
+
// HMMM is this the reason for the failed submission
|
|
76
70
|
throw new errors_1.ShopifyAuthenticationError('Invalid payment status', { redirectUrl: confirmationUrl });
|
|
77
71
|
}
|
|
78
72
|
}
|
|
79
73
|
else {
|
|
80
74
|
// NOTE making a test call to ensure a valid session for free apps
|
|
81
|
-
Graphql = new shopify.clients.Graphql(Object.assign({ session }, apiVersion && { apiVersion }));
|
|
82
75
|
await Graphql.query({ data: constants_1.SHOP_QUERY });
|
|
83
76
|
}
|
|
84
77
|
return {
|
|
85
78
|
Graphql,
|
|
86
79
|
Rest: new shopify.clients.Rest(Object.assign({ session }, apiVersion && { apiVersion })),
|
|
87
|
-
//
|
|
80
|
+
// TODO: add support for Storefront client (takes different params)
|
|
81
|
+
// Storefront: shopify.clients.Storefront({ ...apiVersion && { apiVersion } }),
|
|
88
82
|
};
|
|
89
83
|
}
|
|
90
84
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAwD;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":"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"}
|
package/dist/utils/shopify.d.ts
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
|
+
export function getSecurityHeader(shop: any): string;
|
|
1
2
|
export function getInitializedShopify(serverRuntimeConfig: any): Promise<any>;
|
|
2
|
-
export function getRedirectUrl(props: any, { req, res, query: _query, }: {
|
|
3
|
-
req: any;
|
|
4
|
-
res: any;
|
|
5
|
-
query: any;
|
|
6
|
-
}): Promise<string>;
|
package/dist/utils/shopify.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getInitializedShopify = exports.getSecurityHeader = void 0;
|
|
4
4
|
require("@shopify/shopify-api/adapters/node");
|
|
5
5
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
6
|
-
const shopify_api_node_1 = require("./shopify-api-node");
|
|
7
6
|
const display_1 = require("./display");
|
|
8
7
|
const constants_1 = require("./constants");
|
|
8
|
+
const getSecurityHeader = (shop) => (display_1.stringNotEmpty(shop)
|
|
9
|
+
? `frame-ancestors self https://admin.shopify.com https://${shop};`
|
|
10
|
+
: "frame-ancestors 'none';");
|
|
11
|
+
exports.getSecurityHeader = getSecurityHeader;
|
|
9
12
|
const getInitializedShopify = async (serverRuntimeConfig) => {
|
|
10
13
|
var _a, _b, _c;
|
|
11
14
|
const { APP_CONFIG, APP_WEBHOOKS, INITIALIZED_SHOPIFY } = serverRuntimeConfig;
|
|
@@ -13,9 +16,8 @@ const getInitializedShopify = async (serverRuntimeConfig) => {
|
|
|
13
16
|
if (initializedShopify) {
|
|
14
17
|
const configurableWebhookTopics = Object.keys(APP_WEBHOOKS);
|
|
15
18
|
const installedTopics = (_c = await ((_b = (_a = initializedShopify === null || initializedShopify === void 0 ? void 0 : initializedShopify.webhooks) === null || _a === void 0 ? void 0 : _a.getTopicsAdded) === null || _b === void 0 ? void 0 : _b.call(_a))) !== null && _c !== void 0 ? _c : [];
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (!missingTopic && installedTopics.includes(constants_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED)) {
|
|
19
|
+
const topicsMatch = display_1.arraysMatch(installedTopics, configurableWebhookTopics);
|
|
20
|
+
if (topicsMatch && installedTopics.includes(constants_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED)) {
|
|
19
21
|
return initializedShopify;
|
|
20
22
|
}
|
|
21
23
|
}
|
|
@@ -30,7 +32,6 @@ const getInitializedShopify = async (serverRuntimeConfig) => {
|
|
|
30
32
|
{
|
|
31
33
|
deliveryMethod: shopify_api_1.DeliveryMethod.Http,
|
|
32
34
|
callbackUrl,
|
|
33
|
-
// TODO: clean up/confirm????
|
|
34
35
|
callback: async (topic, shop) => {
|
|
35
36
|
// NOTE our webhook logic is handled in each api route
|
|
36
37
|
console.log(`handle webhook callback for ${shop}:${topic}`);
|
|
@@ -42,27 +43,4 @@ const getInitializedShopify = async (serverRuntimeConfig) => {
|
|
|
42
43
|
return initializedShopify;
|
|
43
44
|
};
|
|
44
45
|
exports.getInitializedShopify = getInitializedShopify;
|
|
45
|
-
const getRedirectUrl = async (props, { req, res, query: _query, }) => {
|
|
46
|
-
var _a;
|
|
47
|
-
const { API_URLS, PAGE_PATHS } = props;
|
|
48
|
-
const query = (_a = _query !== null && _query !== void 0 ? _query : req.query) !== null && _a !== void 0 ? _a : {};
|
|
49
|
-
const { embedded, host, shop: _shop } = query !== null && query !== void 0 ? query : {};
|
|
50
|
-
const shopify = await exports.getInitializedShopify(props);
|
|
51
|
-
const shop = shopify.utils.sanitizeShop(_shop);
|
|
52
|
-
if (display_1.stringEmpty(shop)) {
|
|
53
|
-
return `${PAGE_PATHS[constants_1.PAGE_ROUTE_NAMES.ERROR]}?code=no_shop_provided&type=getRedirectUrl`;
|
|
54
|
-
}
|
|
55
|
-
if (embedded === '1') {
|
|
56
|
-
// TODO: explore objectToQuerystring
|
|
57
|
-
const redirectUriParams = new URLSearchParams({
|
|
58
|
-
shop,
|
|
59
|
-
host,
|
|
60
|
-
}).toString();
|
|
61
|
-
// TODO: explore objectToQuerystring
|
|
62
|
-
const queryParams = new URLSearchParams(Object.assign(Object.assign({}, query), { shop, redirectUri: `${API_URLS[constants_1.API_ROUTE_NAMES.AUTH_CALLBACK]}?${redirectUriParams}` })).toString();
|
|
63
|
-
return `${PAGE_PATHS[constants_1.PAGE_ROUTE_NAMES.EXIT]}?${queryParams}`;
|
|
64
|
-
}
|
|
65
|
-
return shopify_api_node_1.beginAuth(props, { req, res, shop });
|
|
66
|
-
};
|
|
67
|
-
exports.getRedirectUrl = getRedirectUrl;
|
|
68
46
|
//# sourceMappingURL=shopify.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../src/utils/shopify.js"],"names":[],"mappings":";;;AAAA,8CAA2C;AAC3C,sDAAiE;AAEjE,
|
|
1
|
+
{"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../src/utils/shopify.js"],"names":[],"mappings":";;;AAAA,8CAA2C;AAC3C,sDAAiE;AAEjE,uCAAiF;AACjF,2CAAgD;AAEzC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CACzC,wBAAc,CAAC,IAAI,CAAC;IAClB,CAAC,CAAC,0DAA0D,IAAI,GAAG;IACnE,CAAC,CAAC,yBAAyB,CAC9B,CAAA;AAJY,QAAA,iBAAiB,qBAI7B;AAEM,MAAM,qBAAqB,GAAG,KAAK,EAAE,mBAAmB,EAAE,EAAE;;IACjE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,CAAA;IAE7E,IAAI,kBAAkB,GAAG,mBAAmB,CAAA;IAE5C,IAAI,kBAAkB,EAAE;QACtB,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC3D,MAAM,eAAe,GAAG,MAAA,MAAM,CAAA,MAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,QAAQ,0CAAE,cAAc,kDAAI,CAAA,mCAAI,EAAE,CAAA;QACpF,MAAM,WAAW,GAAG,qBAAW,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAA;QAE3E,IAAI,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,8BAAkB,CAAC,eAAe,CAAC,EAAE;YAC/E,OAAO,kBAAkB,CAAA;SAC1B;KACF;IAED,kBAAkB,GAAG,wBAAU,CAAC,UAAU,CAAC,CAAA;IAC3C,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAC1E,QAAQ,EACR,CAAC,YAAY,EAAE,QAAQ,CAAC,EACxB,EAAE,CAAC,iCACA,QAAQ,KACX,CAAC,YAAY,CAAC,EAAE,qBAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;YAC7E,MAAM,WAAW,GAAG,IAAI,IAAI,GAAG,CAAA;YAE/B,IAAI,qBAAW,CAAC,WAAW,CAAC,EAAE;gBAC5B,OAAO,cAAc,CAAA;aACtB;YAED,OAAO;gBACL,GAAG,cAAc;gBACjB;oBACE,cAAc,EAAE,4BAAc,CAAC,IAAI;oBACnC,WAAW;oBACX,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;wBAC9B,sDAAsD;wBACtD,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;wBAE3D,OAAO,IAAI,CAAA;oBACb,CAAC;iBACF;aACF,CAAA;QACH,CAAC,EAAE,EAAE,CAAC,IACN,EAAE,EAAE,CAAC,CAAC,CAAA;IAER,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA;AA7CY,QAAA,qBAAqB,yBA6CjC"}
|
package/dist/withShopify.js
CHANGED
|
@@ -23,7 +23,7 @@ const withShopify = async (nextPhase, _a) => {
|
|
|
23
23
|
defaultConfig } = _c, // NOTE: This is here in case we need anything from it
|
|
24
24
|
pluginConfig = __rest(_c, ["defaultConfig"]);
|
|
25
25
|
const basePath = utils_1.ensureString(_basePath);
|
|
26
|
-
const { data, interactive, paymentConfig, firebaseConfig,
|
|
26
|
+
const { data, interactive, paymentConfig, firebaseConfig, appWebhooks, apiRoutes: { [utils_1.API_ROUTE_NAMES.AUTH]: _apiRouteAuth = '/api/auth', [utils_1.API_ROUTE_NAMES.AUTH_CALLBACK]: _apiRouteAuthCallback = '/api/auth/callback', [utils_1.API_ROUTE_NAMES.APP_UNINSTALLED]: _apiRouteAppUninstalled = '/api/webhooks/app/uninstalled', } = {}, pageRoutes: { [utils_1.PAGE_ROUTE_NAMES.EXIT]: _pageRouteExit = '/exit', [utils_1.PAGE_ROUTE_NAMES.ERROR]: _pageRouteError = '/error', } = {}, params: { APP_ID: _appId, URL: netlifyUrl, HOST: shopifyCLIUrl, NEXT_PUBLIC_APP_BASE_URL, NEXT_PUBLIC_SHOPIFY_API_ID, NEXT_PUBLIC_SHOPIFY_API_KEY, NEXT_PUBLIC_APP_ROUTE_PAGE_EXIT: _pageRouteParamExit, NEXT_PUBLIC_APP_ROUTE_PAGE_ERROR: _pageRouteParamError, NEXT_PUBLIC_APP_ROUTE_API_AUTH: _apiRouteParamAuth, NEXT_PUBLIC_APP_ROUTE_API_AUTH_CALLBACK: _apiRouteParamAuthCallback, NEXT_PUBLIC_APP_ROUTE_API_UNINSTALLED: _apiRouteParamAppUninstalled, NEXT_PUBLIC_FB_ROOT_COLLECTION: FB_ROOT_COLLECTION, SHOPIFY_API_PUBLIC_KEY: _shopifyPublicAPIKey, SHOPIFY_API_VERSION = shopify_api_1.LATEST_API_VERSION, SHOPIFY_API_SCOPES, SHOPIFY_API_KEY, SHOPIFY_RUN_MODE, } = {}, } = pluginConfig !== null && pluginConfig !== void 0 ? pluginConfig : {};
|
|
27
27
|
const SHOPIFY_API_PUBLIC_KEY = NEXT_PUBLIC_SHOPIFY_API_KEY || _shopifyPublicAPIKey;
|
|
28
28
|
// NOTE APP_ID in shopify cli defaults to client id/SHOPIFY_API_PUBLIC_KEY
|
|
29
29
|
const APP_ID = NEXT_PUBLIC_SHOPIFY_API_ID || _appId || SHOPIFY_API_PUBLIC_KEY;
|
|
@@ -75,22 +75,16 @@ const withShopify = async (nextPhase, _a) => {
|
|
|
75
75
|
const API_PATHS = Object.entries(API_ROUTES).reduce((_apiPaths, [routeName, route]) => (Object.assign(Object.assign({}, _apiPaths), { [routeName]: `${basePath}${route}` })), {});
|
|
76
76
|
const API_URLS = Object.entries(API_PATHS).reduce((_apiUrls, [routeName, routePath]) => (Object.assign(Object.assign({}, _apiUrls), { [routeName]: `${appBaseUrl}${routePath}` })), {});
|
|
77
77
|
const APP_HOST_NAME = appUrl.hostname;
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
};
|
|
87
|
-
const APP_WEBHOOKS = {
|
|
88
|
-
// TODO!!!: this should be adding in any extra stuff passed in from plugin config
|
|
89
|
-
[utils_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED]: [{
|
|
78
|
+
const PAYMENT_CONFIG = utils_1.generatePaymentConfig(Object.assign(Object.assign({}, data), { paymentConfig, SHOPIFY_RUN_MODE }));
|
|
79
|
+
const { name: billingName, config: billingConfig } = utils_1.ensureObject(PAYMENT_CONFIG);
|
|
80
|
+
const APP_CONFIG = Object.assign({ apiVersion: SHOPIFY_API_VERSION, apiKey: SHOPIFY_API_PUBLIC_KEY, apiSecretKey: SHOPIFY_API_KEY, hostName: APP_HOST_NAME, hostScheme: appUrl.protocol.replace(':', ''), scopes: SHOPIFY_API_SCOPES.replace(/, /g, ',').split(','), isEmbeddedApp: true }, (utils_1.stringNotEmpty(billingName) && utils_1.objectNotEmpty(billingConfig)) && {
|
|
81
|
+
billing: {
|
|
82
|
+
[billingName]: billingConfig,
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
const APP_WEBHOOKS = Object.assign({ [utils_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED]: [{
|
|
90
86
|
url: API_URLS[utils_1.API_ROUTE_NAMES.APP_UNINSTALLED],
|
|
91
|
-
}],
|
|
92
|
-
};
|
|
93
|
-
const PAYMENT_CONFIG = utils_1.generatePaymentConfig(paymentConfig, data);
|
|
87
|
+
}] }, appWebhooks);
|
|
94
88
|
const publicRuntimeConfig = Object.assign(Object.assign({}, _publicRuntimeConfig), { SHOPIFY_API_PUBLIC_KEY,
|
|
95
89
|
SHOPIFY_RUN_MODE,
|
|
96
90
|
APP_BASE_URL,
|
package/dist/withShopify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withShopify.js","sourceRoot":"","sources":["../src/withShopify.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAyD;AAEzD,0DAAoD;AAEpD,
|
|
1
|
+
{"version":3,"file":"withShopify.js","sourceRoot":"","sources":["../src/withShopify.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.7.0
|
|
3
|
+
"version": "1.7.0",
|
|
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",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"@shopify/shopify-api": "7.1.0",
|
|
52
52
|
"browser-monads": "1.0.0",
|
|
53
53
|
"cookies": "0.8.0",
|
|
54
|
+
"luxon": "3.2.1",
|
|
54
55
|
"nextjs-cors": "2.1.1",
|
|
55
56
|
"raw-body": "2.5.2"
|
|
56
57
|
},
|