@agnostack/next-shopify 1.7.0-alpha.4 → 1.7.0-alpha.41

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.
Files changed (42) hide show
  1. package/dist/handlers/api.js +21 -8
  2. package/dist/handlers/api.js.map +1 -1
  3. package/dist/handlers/ssr.d.ts +1 -1
  4. package/dist/handlers/ssr.js +14 -15
  5. package/dist/handlers/ssr.js.map +1 -1
  6. package/dist/helpers/auth.d.ts +1 -9
  7. package/dist/helpers/auth.js +11 -11
  8. package/dist/helpers/auth.js.map +1 -1
  9. package/dist/helpers/callback.d.ts +1 -1
  10. package/dist/helpers/callback.js +29 -19
  11. package/dist/helpers/callback.js.map +1 -1
  12. package/dist/helpers/graph.d.ts +1 -1
  13. package/dist/helpers/graph.js +3 -6
  14. package/dist/helpers/graph.js.map +1 -1
  15. package/dist/helpers/rest.js +6 -9
  16. package/dist/helpers/rest.js.map +1 -1
  17. package/dist/helpers/uninstall.js +10 -17
  18. package/dist/helpers/uninstall.js.map +1 -1
  19. package/dist/utils/billing.d.ts +11 -20
  20. package/dist/utils/billing.js +54 -192
  21. package/dist/utils/billing.js.map +1 -1
  22. package/dist/utils/constants.d.ts +4 -5
  23. package/dist/utils/constants.js +4 -72
  24. package/dist/utils/constants.js.map +1 -1
  25. package/dist/utils/display.d.ts +4 -1
  26. package/dist/utils/display.js +25 -1
  27. package/dist/utils/display.js.map +1 -1
  28. package/dist/utils/firebase.d.ts +13 -6
  29. package/dist/utils/firebase.js +70 -41
  30. package/dist/utils/firebase.js.map +1 -1
  31. package/dist/utils/session.d.ts +16 -11
  32. package/dist/utils/session.js +52 -43
  33. package/dist/utils/session.js.map +1 -1
  34. package/dist/utils/shopify-api-node/beginAuth.js +3 -3
  35. package/dist/utils/shopify-api-node/beginAuth.js.map +1 -1
  36. package/dist/utils/shopify.d.ts +2 -3
  37. package/dist/utils/shopify.js +49 -32
  38. package/dist/utils/shopify.js.map +1 -1
  39. package/dist/withShopify.js +15 -22
  40. package/dist/withShopify.js.map +1 -1
  41. package/package.json +2 -1
  42. package/CHANGELOG.md +0 -483
@@ -21,11 +21,12 @@ const constants_1 = require("./constants");
21
21
  const singleton = Symbol('singleton');
22
22
  const singletonEnforcer = Symbol('singletonEnforcer');
23
23
  class FirebaseSessionHandler {
24
- constructor(enforcer, collection = constants_1.COLLECTION_ROOT) {
24
+ constructor(enforcer, { config, collection = constants_1.COLLECTION_ROOT }) {
25
25
  this.type = 'FirebaseSessionHandler';
26
26
  if (enforcer !== singletonEnforcer) {
27
27
  throw new Error('Cannot instantiate FirebaseSessionHandler directly, please use getInstance()');
28
28
  }
29
+ this.config = config;
29
30
  this.collection = collection;
30
31
  }
31
32
  get isInitialized() {
@@ -41,9 +42,9 @@ class FirebaseSessionHandler {
41
42
  this.firestore = project.firestore();
42
43
  }
43
44
  }
44
- static getInstance(firebaseConfig, collection) {
45
+ static getInstance(firebaseConfig, { collection, config }) {
45
46
  if (!this[singleton]) {
46
- this[singleton] = new FirebaseSessionHandler(singletonEnforcer, collection);
47
+ this[singleton] = new FirebaseSessionHandler(singletonEnforcer, { collection, config });
47
48
  }
48
49
  if (!this[singleton].isInitialized) {
49
50
  this[singleton].initializeFireStore(firebaseConfig);
@@ -52,12 +53,12 @@ class FirebaseSessionHandler {
52
53
  }
53
54
  }
54
55
  exports.FirebaseSessionHandler = FirebaseSessionHandler;
55
- const storeCallback = async (session, data, instance) => {
56
+ const storeCallback = async (instance, session) => {
56
57
  try {
57
58
  const docRef = instance.firestore
58
59
  .collection(instance.collection)
59
- .doc(data.shop)
60
- .collection(data.app)
60
+ .doc(instance.config.shop)
61
+ .collection(instance.config.configurationId)
61
62
  .doc(session.id);
62
63
  const _a = JSON.parse(JSON.stringify(session)), { onlineAccessInfo: _onlineAccessInfo } = _a, docData = __rest(_a, ["onlineAccessInfo"]);
63
64
  // NOTE: destructuring out associated_user for DPA compliance
@@ -67,18 +68,18 @@ const storeCallback = async (session, data, instance) => {
67
68
  await docRef.set(payload);
68
69
  return true;
69
70
  }
70
- catch (err) {
71
- console.error('FirebaseSessionHandler.storeCallback error', err);
72
- throw err;
71
+ catch (error) {
72
+ console.error('FirebaseSessionHandler.storeCallback error', error);
73
+ throw error;
73
74
  }
74
75
  };
75
76
  exports.storeCallback = storeCallback;
76
- const loadCallback = async (sessionId, data, instance) => {
77
+ const loadCallback = async (instance, sessionId) => {
77
78
  try {
78
79
  const docRef = instance.firestore
79
80
  .collection(instance.collection)
80
- .doc(data.shop)
81
- .collection(data.app)
81
+ .doc(instance.config.shop)
82
+ .collection(instance.config.configurationId)
82
83
  .doc(sessionId);
83
84
  const document = await docRef.get();
84
85
  if (document.exists) {
@@ -86,56 +87,84 @@ const loadCallback = async (sessionId, data, instance) => {
86
87
  }
87
88
  return undefined;
88
89
  }
89
- catch (err) {
90
- console.error('FirebaseSessionHandler.loadCallback error', err);
91
- throw err;
90
+ catch (error) {
91
+ console.error('FirebaseSessionHandler.loadCallback error', error);
92
+ throw error;
92
93
  }
93
94
  };
94
95
  exports.loadCallback = loadCallback;
95
- const deleteSessionsCallback = async (sessionIds, data, instance) => {
96
+ const deleteSessionsCallback = async (instance, sessionIds) => {
97
+ const collectionRef = instance.firestore
98
+ .collection(instance.collection)
99
+ .doc(instance.config.shop)
100
+ .collection(instance.config.configurationId);
96
101
  const _deleteSessionCallback = async (_sessionId) => {
97
102
  try {
98
- const docRef = instance.firestore
99
- .collection(instance.collection)
100
- .doc(data.shop)
101
- .collection(data.app)
102
- .doc(_sessionId);
103
+ const docRef = collectionRef.doc(_sessionId);
103
104
  await docRef.delete();
104
105
  return true;
105
106
  }
106
- catch (err) {
107
- console.error('FirebaseSessionHandler.deleteSessionsCallback error', err);
108
- throw err;
107
+ catch (error) {
108
+ console.error('FirebaseSessionHandler.deleteSessionsCallback error', error);
109
+ throw error;
109
110
  }
110
111
  };
111
112
  await Promise.all(display_1.ensureArray(sessionIds).map((sessionId) => _deleteSessionCallback(sessionId)));
112
113
  };
113
114
  exports.deleteSessionsCallback = deleteSessionsCallback;
114
- const findSessionsByShop = async (shop, data, instance) => {
115
- console.log('data:', data);
116
- console.log('shop:', shop);
117
- if (display_1.stringEmpty(shop)) {
115
+ const asyncFoo = async (foo) => {
116
+ console.log('asyncFoo');
117
+ return foo;
118
+ };
119
+ const findSessionsByShop = async (instance, shop) => {
120
+ console.log(`>>> ~~ instance`, instance);
121
+ console.log(`>>> ~~ shop`, shop);
122
+ if (display_1.stringEmpty(shop) || (shop !== instance.config.shop)) {
123
+ console.log('FirebaseSessionHandler.findSessionsByShop warn', shop);
118
124
  return [];
119
125
  }
120
126
  try {
121
- console.log('try:');
122
- const collectionRef = instance.firestore
123
- .collection(instance.collection)
124
- .doc(shop)
125
- .collection(data.app);
126
- console.log('collectionRef:', collectionRef);
127
- const querySnapshot = await collectionRef.get();
128
- console.log('querySnapshot:', querySnapshot);
127
+ console.log(`>>> ~~~!!!~ try`);
128
+ const foo = await asyncFoo('foo');
129
+ console.log(`>>> ~ foo`, foo);
130
+ const instanceRef = instance.firestore
131
+ .collection(instance.collection);
132
+ console.log(`>>> ~ instanceRef`, instanceRef);
133
+ console.log(`>>> ~ instanceRef.path`, instanceRef.path);
134
+ const docRef = instanceRef
135
+ .doc(shop);
136
+ console.log(`>>> ~ docRef`, docRef);
137
+ console.log(`>>> ~ docRef.path`, docRef.path);
138
+ const collectionRef = docRef
139
+ .collection(instance.config.configurationId);
140
+ console.log(`>>> ~ collectionRef`, collectionRef);
141
+ console.log(`>>> ~ collectionRef.path`, collectionRef.path);
142
+ const collection = await collectionRef.get();
143
+ console.log(`>>> ~ collection`, collection);
144
+ console.log(`>>> ~ collection.size`, collection.size);
145
+ console.log(`>>> ~ collection.empty`, collection.empty);
129
146
  const sessions = [];
130
- querySnapshot.forEach((_doc) => {
147
+ console.log(`>>> ~ sessions`, sessions);
148
+ collection.forEach((_doc) => {
149
+ console.log(`>>> ~ _doc`, _doc);
131
150
  sessions.push(_doc.data());
132
151
  });
133
- console.log('sessions:', sessions);
152
+ //
153
+ // const collectionRef = instance.firestore
154
+ // .collection(instance.collection)
155
+ // .doc(shop)
156
+ // .collection(data.app)
157
+ // const querySnapshot = await collectionRef.get()
158
+ // const sessions = []
159
+ // querySnapshot.forEach((_doc) => {
160
+ // sessions.push(_doc.data())
161
+ // })
162
+ //
134
163
  return sessions;
135
164
  }
136
- catch (err) {
137
- console.error('FirebaseSessionHandler.findSessionsByShop error', err);
138
- throw err;
165
+ catch (error) {
166
+ console.log('FirebaseSessionHandler.findSessionsByShop error', error);
167
+ throw error;
139
168
  }
140
169
  };
141
170
  exports.findSessionsByShop = findSessionsByShop;
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/utils/firebase.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/utils/firebase.js"],"names":[],"mappings":"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"}
@@ -1,14 +1,19 @@
1
- export function getSessionStorage(shopify: any, serverRuntimeConfig: any, _shop: any): {
2
- store: (session: any) => Promise<boolean>;
3
- load: (id: any) => Promise<any>;
4
- delete: (id: any) => Promise<void>;
5
- deleteMany: (ids: any) => Promise<void>;
6
- find: (__shop: any) => Promise<any[]>;
7
- };
8
- export function getVerifiedSession({ req, res, shop, shopify, serverRuntimeConfig }: {
1
+ export function getShopifyHelpers(serverRuntimeConfig: any, { shop, ...overrides }: {
2
+ [x: string]: any;
3
+ shop: any;
4
+ }): Promise<{
5
+ shopify: any;
6
+ storeSession: (session: any) => Promise<boolean>;
7
+ loadSession: (sessionId: any) => Promise<any>;
8
+ deleteSessions: (sessionIds: any) => Promise<void>;
9
+ findSession: (_shop: any) => Promise<any[]>;
10
+ }>;
11
+ export function getVerifiedClients(serverRuntimeConfig: any, { req, res, shop, apiVersion }: {
9
12
  req: any;
10
13
  res: any;
11
14
  shop: any;
12
- shopify: any;
13
- serverRuntimeConfig: any;
14
- }): Promise<any>;
15
+ apiVersion: any;
16
+ }): Promise<{
17
+ Graphql: any;
18
+ Rest: any;
19
+ }>;
@@ -1,78 +1,87 @@
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
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVerifiedSession = exports.getSessionStorage = void 0;
14
+ exports.getVerifiedClients = exports.getShopifyHelpers = void 0;
4
15
  const shopify_api_1 = require("@shopify/shopify-api");
5
- const display_1 = require("./display");
16
+ const luxon_1 = require("luxon");
6
17
  const billing_1 = require("./billing");
18
+ const display_1 = require("./display");
19
+ const shopify_1 = require("./shopify");
20
+ const firebase_1 = require("./firebase");
7
21
  const errors_1 = require("./errors");
8
22
  const constants_1 = require("./constants");
9
- const firebase_1 = require("./firebase");
10
- // TODO cleanup/consolidate getSessionStorage and getInitializedShopify
11
- const getSessionStorage = (shopify, serverRuntimeConfig, _shop) => {
23
+ const getShopifyHelpers = async (serverRuntimeConfig, _a) => {
24
+ var { shop } = _a, overrides = __rest(_a, ["shop"]);
25
+ const shopify = await shopify_1.getInitializedShopify(serverRuntimeConfig, overrides);
12
26
  const { FB_CONFIG, FB_ROOT_COLLECTION, APP_ID } = serverRuntimeConfig;
13
- console.log('FB_CONFIG');
14
- console.log('FB_CONFIG ID', FB_CONFIG.project_id);
15
- const data = { app: APP_ID, shop: shopify.utils.sanitizeShop(_shop) };
16
- console.log('data:', data);
17
- const sessionHandler = firebase_1.FirebaseSessionHandler.getInstance(FB_CONFIG, FB_ROOT_COLLECTION);
27
+ const sessionHandler = firebase_1.FirebaseSessionHandler.getInstance(FB_CONFIG, {
28
+ collection: FB_ROOT_COLLECTION,
29
+ config: { configurationId: APP_ID, shop: shopify.utils.sanitizeShop(shop) },
30
+ });
18
31
  return {
19
- store: async (session) => firebase_1.storeCallback(session, data, sessionHandler),
20
- load: async (id) => firebase_1.loadCallback(id, data, sessionHandler),
21
- delete: async (id) => firebase_1.deleteSessionsCallback(id, data, sessionHandler),
22
- deleteMany: async (ids) => firebase_1.deleteSessionsCallback(ids, data, sessionHandler),
23
- find: async (__shop) => firebase_1.findSessionsByShop(shopify.utils.sanitizeShop(__shop), data, sessionHandler),
32
+ shopify,
33
+ storeSession: async (session) => firebase_1.storeCallback(sessionHandler, session),
34
+ loadSession: async (sessionId) => firebase_1.loadCallback(sessionHandler, sessionId),
35
+ deleteSessions: async (sessionIds) => firebase_1.deleteSessionsCallback(sessionHandler, sessionIds),
36
+ findSession: async (_shop) => firebase_1.findSessionsByShop(sessionHandler, shopify.utils.sanitizeShop(_shop)),
24
37
  };
25
38
  };
26
- exports.getSessionStorage = getSessionStorage;
27
- // TODO re-enable (check scopes and expiration)
39
+ exports.getShopifyHelpers = getShopifyHelpers;
28
40
  const isSessionActive = (session, config) => {
29
- console.log('isSessionActive:', { session, config });
30
- return true;
31
- // const scopesUnchanged = true
32
- // if (
33
- // scopesUnchanged &&
34
- // (!session.expires || session.expires >= new Date())
35
- // ) {
36
- // return true
37
- // }
38
- // return false
41
+ const scopes1 = display_1.splitCommas(config === null || config === void 0 ? void 0 : config.scopes.toString());
42
+ console.log(`>>> ~ scopes1`, scopes1);
43
+ const scopes2 = display_1.splitCommas(session.scope);
44
+ console.log(`>>> ~ scopes2`, scopes2);
45
+ const scopesUnchanged = display_1.arrayIncludesAll(scopes1, scopes2) && display_1.arrayIncludesAll(scopes2, scopes1);
46
+ console.log(`>>> ~ scopesUnchanged`, scopesUnchanged);
47
+ const sessionExpired = !(session === null || session === void 0 ? void 0 : session.expires) || (luxon_1.DateTime.fromISO(session.expires) < luxon_1.DateTime.now());
48
+ console.log(`>>> ~ sessionExpired`, sessionExpired);
49
+ return (scopesUnchanged && !sessionExpired);
39
50
  };
40
- const getVerifiedSession = async ({ req, res, shop, shopify, serverRuntimeConfig }) => {
51
+ const getVerifiedClients = async (serverRuntimeConfig, { req, res, shop, apiVersion }) => {
41
52
  try {
42
- const sessionStorage = exports.getSessionStorage(shopify, serverRuntimeConfig, shop);
43
- if (sessionStorage) {
44
- console.log('have sessionStorage');
45
- }
46
- else {
47
- console.log('have NO sessionStorage');
48
- }
53
+ const { shopify, loadSession } = await exports.getShopifyHelpers(serverRuntimeConfig, { shop });
49
54
  const { PAYMENT_CONFIG } = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {};
50
55
  const sessionId = await shopify.session.getCurrentId({
51
56
  isOnline: true,
52
57
  rawRequest: req,
53
58
  rawResponse: res,
54
59
  });
55
- const session = await sessionStorage.load(sessionId);
60
+ const session = await loadSession(sessionId);
56
61
  if (!isSessionActive(session, shopify.config)) {
57
62
  throw new errors_1.ShopifyAuthenticationError('Inactive session');
58
63
  }
59
64
  if (shop && (session === null || session === void 0 ? void 0 : session.shop) !== shop) {
60
65
  throw new errors_1.ShopifyAuthenticationError('Invalid shop');
61
66
  }
67
+ const Graphql = new shopify.clients.Graphql(Object.assign({ session }, apiVersion && { apiVersion }));
62
68
  if (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) {
63
- const billingManager = new billing_1.BillingManager(shopify, session, serverRuntimeConfig);
64
- const confirmationUrl = await billingManager.ensureBilling();
65
- console.log('confirmationUrl:', confirmationUrl);
69
+ // HMMM: order of params/method sig??
70
+ const confirmationUrl = await billing_1.ensureBilling(shopify, session, PAYMENT_CONFIG);
71
+ console.log(`>>> > getVerifiedClients > confirmationUrl:`, confirmationUrl);
66
72
  if (display_1.stringNotEmpty(confirmationUrl)) {
67
73
  throw new errors_1.ShopifyAuthenticationError('Invalid payment status', { redirectUrl: confirmationUrl });
68
74
  }
69
75
  }
70
76
  else {
71
77
  // NOTE making a test call to ensure a valid session for free apps
72
- const client = new shopify.clients.Graphql({ session });
73
- await client.query({ data: constants_1.SHOP_QUERY });
78
+ await Graphql.query({ data: constants_1.SHOP_QUERY });
74
79
  }
75
- return session;
80
+ return {
81
+ Graphql,
82
+ Rest: new shopify.clients.Rest(Object.assign({ session }, apiVersion && { apiVersion })),
83
+ // Storefront: shopify.clients.Storefront({ ...apiVersion && { apiVersion } }), TODO: add support for Storefront client (takes different params)
84
+ };
76
85
  }
77
86
  catch (error) {
78
87
  if (error instanceof shopify_api_1.HttpResponseError &&
@@ -82,5 +91,5 @@ const getVerifiedSession = async ({ req, res, shop, shopify, serverRuntimeConfig
82
91
  throw error;
83
92
  }
84
93
  };
85
- exports.getVerifiedSession = getVerifiedSession;
94
+ exports.getVerifiedClients = getVerifiedClients;
86
95
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":"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"}
@@ -8,15 +8,14 @@ const crypto_1 = __importDefault(require("crypto"));
8
8
  const cookies_1 = __importDefault(require("cookies"));
9
9
  const shopify_api_1 = require("@shopify/shopify-api");
10
10
  const display_1 = require("../display");
11
- const constants_1 = require("../constants");
12
11
  const shopify_1 = require("../shopify");
12
+ const constants_1 = require("../constants");
13
13
  // NOTE this is a custom implementation of the @shopify/shopify-api beginAuth method... see NOTE below
14
14
  const beginAuth = async (props, { req, res, shop: shopProp, isOnline = true, }) => {
15
15
  var _a;
16
16
  const { APP_CONFIG, API_URLS } = props;
17
17
  const _shop = shopProp || ((_a = req.query) === null || _a === void 0 ? void 0 : _a.shop);
18
- // TODO: do we need to pass along apiVersion here?
19
- const shopify = shopify_1.getInitializedShopify(props);
18
+ const shopify = await shopify_1.getInitializedShopify(props);
20
19
  const shop = shopify.utils.sanitizeShop(_shop);
21
20
  const state = `${isOnline ? 'online' : 'offline'}_${display_1.getGUID()}`;
22
21
  const keys = [APP_CONFIG.apiSecretKey];
@@ -29,6 +28,7 @@ const beginAuth = async (props, { req, res, shop: shopProp, isOnline = true, })
29
28
  };
30
29
  const sigName = `${shopify_api_1.STATE_COOKIE_NAME}.sig`;
31
30
  const signature = await crypto_1.default.createHmac('sha256', keys[0]).update(state).digest('base64');
31
+ // TODO investigate Error handling callback route. Cookie Error CookieNotFound [Error]: Cannot complete OAuth process. Could not find an OAuth cookie for shop url:
32
32
  cookies.set(shopify_api_1.STATE_COOKIE_NAME, state, cookieOptions);
33
33
  cookies.set(sigName, signature, cookieOptions);
34
34
  // TODO: explore objectToQuerystring
@@ -1 +1 @@
1
- {"version":3,"file":"beginAuth.js","sourceRoot":"","sources":["../../../src/utils/shopify-api-node/beginAuth.js"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAC3B,sDAA6B;AAC7B,sDAAwD;AAExD,wCAAoC;AACpC,4CAA8C;AAC9C,wCAAkD;AAElD,sGAAsG;AAC/F,MAAM,SAAS,GAAG,KAAK,EAAE,KAAK,EAAE,EACrC,GAAG,EACH,GAAG,EACH,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAG,IAAI,GAChB,EAAE,EAAE;;IACH,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IACtC,MAAM,KAAK,GAAG,QAAQ,KAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,IAAI,CAAA,CAAA;IACzC,kDAAkD;IAClD,MAAM,OAAO,GAAG,+BAAqB,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,iBAAO,EAAE,EAAE,CAAA;IAC/D,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAE7D,MAAM,aAAa,GAAG;QACpB,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;KACb,CAAA;IACD,MAAM,OAAO,GAAG,GAAG,+BAAiB,MAAM,CAAA;IAC1C,MAAM,SAAS,GAAG,MAAM,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAE3F,OAAO,CAAC,GAAG,CAAC,+BAAiB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9C,oCAAoC;IACpC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;QACtC,SAAS,EAAE,UAAU,CAAC,MAAM;QAC5B,KAAK,EAAE,UAAU,CAAC,MAAM;QACxB,YAAY,EAAE,QAAQ,CAAC,2BAAe,CAAC,aAAa,CAAC;QACrD,KAAK;QACL,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KAC9C,CAAC,CAAC,QAAQ,EAAE,CAAA;IAEb,OAAO,WAAW,IAAI,0BAA0B,WAAW,EAAE,CAAA;AAC/D,CAAC,CAAA;AArCY,QAAA,SAAS,aAqCrB"}
1
+ {"version":3,"file":"beginAuth.js","sourceRoot":"","sources":["../../../src/utils/shopify-api-node/beginAuth.js"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAC3B,sDAA6B;AAC7B,sDAAwD;AAExD,wCAAoC;AACpC,wCAAkD;AAClD,4CAA8C;AAE9C,sGAAsG;AAC/F,MAAM,SAAS,GAAG,KAAK,EAAE,KAAK,EAAE,EACrC,GAAG,EACH,GAAG,EACH,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAG,IAAI,GAChB,EAAE,EAAE;;IACH,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IACtC,MAAM,KAAK,GAAG,QAAQ,KAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,IAAI,CAAA,CAAA;IAEzC,MAAM,OAAO,GAAG,MAAM,+BAAqB,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,iBAAO,EAAE,EAAE,CAAA;IAC/D,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAE7D,MAAM,aAAa,GAAG;QACpB,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;KACb,CAAA;IACD,MAAM,OAAO,GAAG,GAAG,+BAAiB,MAAM,CAAA;IAC1C,MAAM,SAAS,GAAG,MAAM,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAE3F,mKAAmK;IACnK,OAAO,CAAC,GAAG,CAAC,+BAAiB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9C,oCAAoC;IACpC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;QACtC,SAAS,EAAE,UAAU,CAAC,MAAM;QAC5B,KAAK,EAAE,UAAU,CAAC,MAAM;QACxB,YAAY,EAAE,QAAQ,CAAC,2BAAe,CAAC,aAAa,CAAC;QACrD,KAAK;QACL,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KAC9C,CAAC,CAAC,QAAQ,EAAE,CAAA;IAEb,OAAO,WAAW,IAAI,0BAA0B,WAAW,EAAE,CAAA;AAC/D,CAAC,CAAA;AAtCY,QAAA,SAAS,aAsCrB"}
@@ -1,7 +1,6 @@
1
- export function getInitializedShopify(serverRuntimeConfig: any, version: any): import("@shopify/shopify-api").Shopify<import("@shopify/shopify-api").ShopifyRestResources>;
2
- export function initializeShopify(serverRuntimeConfig: any): Promise<import("@shopify/shopify-api").Shopify<import("@shopify/shopify-api").ShopifyRestResources>>;
1
+ export function getInitializedShopify(serverRuntimeConfig: any): Promise<any>;
3
2
  export function getRedirectUrl(props: any, { req, res, query: _query, }: {
4
3
  req: any;
5
4
  res: any;
6
5
  query: any;
7
- }): Promise<string>;
6
+ }): Promise<any>;
@@ -1,47 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRedirectUrl = exports.initializeShopify = exports.getInitializedShopify = void 0;
3
+ exports.getRedirectUrl = exports.getInitializedShopify = 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");
6
+ // import { beginAuth } from './shopify-api-node'
7
7
  const display_1 = require("./display");
8
8
  const constants_1 = require("./constants");
9
- // TODO: change this to not be async
10
- // TODO cleanup/consolidate getSessionStorage and getInitializedShopify
11
- // TODO: do we need to pass along apiVersion here?
12
- const getInitializedShopify = (serverRuntimeConfig, version) => (shopify_api_1.shopifyApi(Object.assign(Object.assign({}, serverRuntimeConfig === null || serverRuntimeConfig === void 0 ? void 0 : serverRuntimeConfig.APP_CONFIG), (display_1.stringNotEmpty(version)) && {
13
- apiVersion: version,
14
- })));
15
- exports.getInitializedShopify = getInitializedShopify;
16
- const initializeShopify = async (serverRuntimeConfig) => {
17
- const { APP_WEBHOOKS } = serverRuntimeConfig;
18
- const shopify = exports.getInitializedShopify(serverRuntimeConfig);
19
- // TODO look for any/all topics via APP_WEBHOOKS??
20
- const existingHandlers = await shopify.webhooks.getHandlers('APP_UNINSTALLED');
21
- if (existingHandlers.length === 0) {
22
- shopify.webhooks.addHandlers(Object.entries(APP_WEBHOOKS).reduce((__payload, [topic, webhooks]) => (Object.assign(Object.assign({}, __payload), { [topic]: display_1.ensureArray(webhooks).map((webhook) => ({
23
- deliveryMethod: shopify_api_1.DeliveryMethod.Http,
24
- callbackUrl: webhook.path,
25
- callback: async (topic, shop) => {
26
- // NOTE our webhook logic is handled in each api route
27
- console.log(`handleWebhook for ${shop}:${topic}`);
28
- return true;
29
- },
30
- })) })), {}));
9
+ const getInitializedShopify = async (serverRuntimeConfig) => {
10
+ var _a, _b, _c;
11
+ const { APP_CONFIG, APP_WEBHOOKS, INITIALIZED_SHOPIFY } = serverRuntimeConfig;
12
+ let initializedShopify = INITIALIZED_SHOPIFY;
13
+ if (initializedShopify) {
14
+ const configurableWebhookTopics = Object.keys(APP_WEBHOOKS);
15
+ 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
+ // TODO: check both directions??
17
+ const missingTopic = installedTopics.find((topic) => !configurableWebhookTopics.includes(topic));
18
+ if (!missingTopic && installedTopics.includes(constants_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED)) {
19
+ return initializedShopify;
20
+ }
31
21
  }
32
- return shopify;
22
+ initializedShopify = shopify_api_1.shopifyApi(APP_CONFIG);
23
+ initializedShopify.webhooks.addHandlers(Object.entries(APP_WEBHOOKS).reduce((_payload, [webhookTopic, webhooks]) => (Object.assign(Object.assign({}, _payload), { [webhookTopic]: display_1.ensureArray(webhooks).reduce((_topicWebhooks, { path, url }) => {
24
+ const callbackUrl = path || url;
25
+ if (display_1.stringEmpty(callbackUrl)) {
26
+ return _topicWebhooks;
27
+ }
28
+ return [
29
+ ..._topicWebhooks,
30
+ {
31
+ deliveryMethod: shopify_api_1.DeliveryMethod.Http,
32
+ callbackUrl,
33
+ // TODO: clean up/confirm????
34
+ callback: async (topic, shop) => {
35
+ // NOTE our webhook logic is handled in each api route
36
+ console.log(`handle webhook callback for ${shop}:${topic}`);
37
+ return true;
38
+ },
39
+ }
40
+ ];
41
+ }, []) })), {}));
42
+ return initializedShopify;
33
43
  };
34
- exports.initializeShopify = initializeShopify;
44
+ exports.getInitializedShopify = getInitializedShopify;
35
45
  const getRedirectUrl = async (props, { req, res, query: _query, }) => {
36
46
  var _a;
37
- const { API_URLS, PAGE_PATHS } = props;
47
+ const { API_URLS, API_PATHS, PAGE_PATHS } = props;
38
48
  const query = (_a = _query !== null && _query !== void 0 ? _query : req.query) !== null && _a !== void 0 ? _a : {};
39
49
  const { embedded, host, shop: _shop } = query !== null && query !== void 0 ? query : {};
40
- // TODO: do we need to pass along apiVersion here?
41
- const shopify = exports.getInitializedShopify(props);
50
+ const shopify = await exports.getInitializedShopify(props);
42
51
  const shop = shopify.utils.sanitizeShop(_shop);
43
52
  if (display_1.stringEmpty(shop)) {
44
- return `${PAGE_PATHS[constants_1.PAGE_ROUTE_NAMES.ERROR]}?code=no_shop_provided&type=getRedirectUrl`;
53
+ return res.redirect(`${PAGE_PATHS[constants_1.PAGE_ROUTE_NAMES.ERROR]}?code=no_shop_provided&type=getRedirectUrl`);
54
+ // return `${PAGE_PATHS[PAGE_ROUTE_NAMES.ERROR]}?code=no_shop_provided&type=getRedirectUrl`
45
55
  }
46
56
  if (embedded === '1') {
47
57
  // TODO: explore objectToQuerystring
@@ -51,9 +61,16 @@ const getRedirectUrl = async (props, { req, res, query: _query, }) => {
51
61
  }).toString();
52
62
  // TODO: explore objectToQuerystring
53
63
  const queryParams = new URLSearchParams(Object.assign(Object.assign({}, query), { shop, redirectUri: `${API_URLS[constants_1.API_ROUTE_NAMES.AUTH_CALLBACK]}?${redirectUriParams}` })).toString();
54
- return `${PAGE_PATHS[constants_1.PAGE_ROUTE_NAMES.EXIT]}?${queryParams}`;
64
+ return res.redirect(`${PAGE_PATHS[constants_1.PAGE_ROUTE_NAMES.EXIT]}?${queryParams}`);
65
+ // return `${PAGE_PATHS[PAGE_ROUTE_NAMES.EXIT]}?${queryParams}`
55
66
  }
56
- return shopify_api_node_1.beginAuth(props, { req, res, shop });
67
+ return shopify.auth.begin({
68
+ shop,
69
+ callbackPath: API_PATHS[constants_1.API_ROUTE_NAMES.AUTH_CALLBACK],
70
+ isOnline: true,
71
+ rawRequest: req,
72
+ rawResponse: res,
73
+ });
57
74
  };
58
75
  exports.getRedirectUrl = getRedirectUrl;
59
76
  //# sourceMappingURL=shopify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../src/utils/shopify.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../src/utils/shopify.js"],"names":[],"mappings":"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"}