@agnostack/next-shopify 1.7.0-alpha.14 → 1.7.0-alpha.16

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ONE_TIME_PURCHASE_MUTATION = exports.RECURRING_PURCHASE_MUTATION = exports.ONE_TIME_PURCHASES_QUERY = exports.RECURRING_PURCHASES_QUERY = exports.SHOP_QUERY = exports.RECURRING_INTERVALS = exports.BILLING_INTERVALS = exports.API_WEBHOOK_TOPICS = exports.API_ROUTE_NAMES = exports.PAGE_ROUTE_NAMES = exports.COLLECTION_ROOT = void 0;
3
+ exports.SHOP_QUERY = exports.BILLING_INTERVALS = exports.API_WEBHOOK_TOPICS = exports.API_ROUTE_NAMES = exports.PAGE_ROUTE_NAMES = exports.COLLECTION_ROOT = void 0;
4
4
  exports.COLLECTION_ROOT = 'oauth-data';
5
5
  exports.PAGE_ROUTE_NAMES = {
6
6
  EXIT: 'pageRouteExit',
@@ -19,10 +19,6 @@ exports.BILLING_INTERVALS = {
19
19
  EVERY_30_DAYS: 'EVERY_30_DAYS',
20
20
  ANNUAL: 'ANNUAL',
21
21
  };
22
- exports.RECURRING_INTERVALS = [
23
- exports.BILLING_INTERVALS.EVERY_30_DAYS,
24
- exports.BILLING_INTERVALS.ANNUAL
25
- ];
26
22
  // TODO can we remove?
27
23
  /*
28
24
  export const SHOP_DATA_QUERY = `
@@ -69,71 +65,4 @@ exports.SHOP_QUERY = `
69
65
  }
70
66
  }
71
67
  `;
72
- exports.RECURRING_PURCHASES_QUERY = `
73
- query appSubscription {
74
- currentAppInstallation {
75
- activeSubscriptions {
76
- name, test
77
- }
78
- }
79
- }
80
- `;
81
- exports.ONE_TIME_PURCHASES_QUERY = `
82
- query appPurchases($endCursor: String) {
83
- currentAppInstallation {
84
- oneTimePurchases(first: 250, sortKey: CREATED_AT, after: $endCursor) {
85
- edges {
86
- node {
87
- name, test, status
88
- }
89
- }
90
- pageInfo {
91
- hasNextPage, endCursor
92
- }
93
- }
94
- }
95
- }
96
- `;
97
- exports.RECURRING_PURCHASE_MUTATION = `
98
- mutation test(
99
- $name: String!
100
- $lineItems: [AppSubscriptionLineItemInput!]!
101
- $returnUrl: URL!
102
- $test: Boolean
103
- ) {
104
- appSubscriptionCreate(
105
- name: $name
106
- lineItems: $lineItems
107
- returnUrl: $returnUrl
108
- test: $test
109
- ) {
110
- confirmationUrl
111
- userErrors {
112
- field
113
- message
114
- }
115
- }
116
- }
117
- `;
118
- exports.ONE_TIME_PURCHASE_MUTATION = `
119
- mutation test(
120
- $name: String!
121
- $price: MoneyInput!
122
- $returnUrl: URL!
123
- $test: Boolean
124
- ) {
125
- appPurchaseOneTimeCreate(
126
- name: $name
127
- price: $price
128
- returnUrl: $returnUrl
129
- test: $test
130
- ) {
131
- confirmationUrl
132
- userErrors {
133
- field
134
- message
135
- }
136
- }
137
- }
138
- `;
139
68
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.js"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,YAAY,CAAA;AAE9B,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,gBAAgB;CACxB,CAAA;AAEY,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,cAAc;IACpB,aAAa,EAAE,sBAAsB;IACrC,eAAe,EAAE,wBAAwB;CAC1C,CAAA;AAEY,QAAA,kBAAkB,GAAG;IAChC,eAAe,EAAE,iBAAiB;CACnC,CAAA;AAEY,QAAA,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;CACjB,CAAA;AAEY,QAAA,mBAAmB,GAAG;IACjC,yBAAiB,CAAC,aAAa;IAC/B,yBAAiB,CAAC,MAAM;CACzB,CAAA;AAED,sBAAsB;AACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCE;AAEW,QAAA,UAAU,GAAG;;;;;;CAMzB,CAAA;AAEY,QAAA,yBAAyB,GAAG;;;;;;;;CAQxC,CAAA;AAEY,QAAA,wBAAwB,GAAG;;;;;;;;;;;;;;;CAevC,CAAA;AAEY,QAAA,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;CAoB1C,CAAA;AAEY,QAAA,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;CAoBzC,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.js"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,YAAY,CAAA;AAE9B,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,gBAAgB;CACxB,CAAA;AAEY,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,cAAc;IACpB,aAAa,EAAE,sBAAsB;IACrC,eAAe,EAAE,wBAAwB;CAC1C,CAAA;AAEY,QAAA,kBAAkB,GAAG;IAChC,eAAe,EAAE,iBAAiB;CACnC,CAAA;AAEY,QAAA,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;CACjB,CAAA;AAED,sBAAsB;AACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCE;AAEW,QAAA,UAAU,GAAG;;;;;;CAMzB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  export function getGUID(): any;
2
2
  export function getInteger(): any;
3
3
  export function querystringToObject(queryString: any): {
4
- [k: string]: any;
4
+ [k: string]: string;
5
5
  };
6
6
  export function isType(value: any, type: any): boolean;
7
7
  export function ensureObject(object: any): any;
@@ -1,16 +1,23 @@
1
1
  export class FirebaseSessionHandler {
2
- static getInstance(firebaseConfig: any, collection: any): any;
3
- constructor(enforcer: any, collection?: string);
2
+ static getInstance(firebaseConfig: any, { collection, config }: {
3
+ collection: any;
4
+ config: any;
5
+ }): any;
6
+ constructor(enforcer: any, { config, collection }: {
7
+ config: any;
8
+ collection?: string;
9
+ });
4
10
  type: string;
11
+ config: any;
5
12
  collection: string;
6
13
  get isInitialized(): boolean;
7
14
  initializeFireStore(firebaseConfig: any): void;
8
15
  firestore: any;
9
16
  [singleton]: FirebaseSessionHandler;
10
17
  }
11
- export function storeCallback(session: any, data: any, instance: any): Promise<boolean>;
12
- export function loadCallback(sessionId: any, data: any, instance: any): Promise<any>;
13
- export function deleteSessionsCallback(sessionIds: any, data: any, instance: any): Promise<void>;
14
- export function findSessionsByShop(shop: any, data: any, instance: any): Promise<any[]>;
18
+ export function storeCallback(instance: any, session: any): Promise<boolean>;
19
+ export function loadCallback(instance: any, sessionId: any): Promise<any>;
20
+ export function deleteSessionsCallback(instance: any, sessionIds: any): Promise<void>;
21
+ export function findSessionsByShop(instance: any, shop: any): Promise<any[]>;
15
22
  declare const singleton: unique symbol;
16
23
  export {};
@@ -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,50 +87,51 @@ 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
- if (display_1.stringEmpty(shop)) {
115
+ const findSessionsByShop = async (instance, shop) => {
116
+ if (display_1.stringEmpty(shop) || (shop !== instance.config.shop)) {
117
+ console.warn('FirebaseSessionHandler.findSessionsByShop warn', shop);
116
118
  return [];
117
119
  }
118
120
  try {
119
- const collectionRef = instance.firestore
121
+ const collection = await instance.firestore
120
122
  .collection(instance.collection)
121
123
  .doc(shop)
122
- .collection(data.app);
123
- const querySnapshot = await collectionRef.get();
124
+ .collection(instance.config.configurationId)
125
+ .get();
124
126
  const sessions = [];
125
- querySnapshot.forEach((_doc) => {
127
+ collection.forEach((_doc) => {
126
128
  sessions.push(_doc.data());
127
129
  });
128
130
  return sessions;
129
131
  }
130
- catch (err) {
131
- console.error('FirebaseSessionHandler.findSessionsByShop error', err);
132
- throw err;
132
+ catch (error) {
133
+ console.error('FirebaseSessionHandler.findSessionsByShop error', error);
134
+ throw error;
133
135
  }
134
136
  };
135
137
  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,28 +1,41 @@
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");
6
16
  const billing_1 = require("./billing");
17
+ const display_1 = require("./display");
18
+ const shopify_1 = require("./shopify");
19
+ const firebase_1 = require("./firebase");
7
20
  const errors_1 = require("./errors");
8
21
  const constants_1 = require("./constants");
9
- const firebase_1 = require("./firebase");
10
- // TODO cleanup/consolidate getSessionStorage and getInitializedShopify
11
- const getSessionStorage = (shopify, serverRuntimeConfig, _shop) => {
22
+ const getShopifyHelpers = async (serverRuntimeConfig, _a) => {
23
+ var { shop } = _a, overrides = __rest(_a, ["shop"]);
24
+ const shopify = await shopify_1.getInitializedShopify(serverRuntimeConfig, overrides);
12
25
  const { FB_CONFIG, FB_ROOT_COLLECTION, APP_ID } = serverRuntimeConfig;
13
- // TODO: clean up format of data here
14
- const data = { app: APP_ID, shop: shopify.utils.sanitizeShop(_shop) };
15
- const sessionHandler = firebase_1.FirebaseSessionHandler.getInstance(FB_CONFIG, FB_ROOT_COLLECTION);
26
+ const sessionHandler = firebase_1.FirebaseSessionHandler.getInstance(FB_CONFIG, {
27
+ collection: FB_ROOT_COLLECTION,
28
+ config: { configurationId: APP_ID, shop: shopify.utils.sanitizeShop(shop) },
29
+ });
16
30
  return {
17
- store: async (session) => firebase_1.storeCallback(session, data, sessionHandler),
18
- load: async (id) => firebase_1.loadCallback(id, data, sessionHandler),
19
- delete: async (id) => firebase_1.deleteSessionsCallback(id, data, sessionHandler),
20
- deleteMany: async (ids) => firebase_1.deleteSessionsCallback(ids, data, sessionHandler),
21
- // TODO: remove __shop
22
- find: async (__shop) => firebase_1.findSessionsByShop(shopify.utils.sanitizeShop(__shop), data, sessionHandler),
31
+ shopify,
32
+ storeSession: async (session) => firebase_1.storeCallback(sessionHandler, session),
33
+ loadSession: async (sessionId) => firebase_1.loadCallback(sessionHandler, sessionId),
34
+ deleteSessions: async (sessionIds) => firebase_1.deleteSessionsCallback(sessionHandler, sessionIds),
35
+ findSession: async (_shop) => firebase_1.findSessionsByShop(sessionHandler, shopify.utils.sanitizeShop(_shop)),
23
36
  };
24
37
  };
25
- exports.getSessionStorage = getSessionStorage;
38
+ exports.getShopifyHelpers = getShopifyHelpers;
26
39
  // TODO re-enable (check scopes and expiration)
27
40
  const isSessionActive = (session, config) => {
28
41
  console.log(`>>> > isSessionActive > TODO: re-enable`, { session, config });
@@ -36,37 +49,41 @@ const isSessionActive = (session, config) => {
36
49
  // }
37
50
  // return false
38
51
  };
39
- const getVerifiedSession = async ({ req, res, shop, shopify, serverRuntimeConfig }) => {
52
+ const getVerifiedClients = async (serverRuntimeConfig, { req, res, shop, apiVersion }) => {
40
53
  try {
41
- const sessionStorage = exports.getSessionStorage(shopify, serverRuntimeConfig, shop);
54
+ const { shopify, loadSession } = await exports.getShopifyHelpers(serverRuntimeConfig, { shop });
42
55
  const { PAYMENT_CONFIG } = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {};
43
56
  const sessionId = await shopify.session.getCurrentId({
44
57
  isOnline: true,
45
58
  rawRequest: req,
46
59
  rawResponse: res,
47
60
  });
48
- const session = await sessionStorage.load(sessionId);
61
+ const session = await loadSession(sessionId);
49
62
  if (!isSessionActive(session, shopify.config)) {
50
63
  throw new errors_1.ShopifyAuthenticationError('Inactive session');
51
64
  }
52
65
  if (shop && (session === null || session === void 0 ? void 0 : session.shop) !== shop) {
53
66
  throw new errors_1.ShopifyAuthenticationError('Invalid shop');
54
67
  }
68
+ let Graphql;
55
69
  if (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) {
56
- const billingManager = new billing_1.BillingManager(shopify, session, serverRuntimeConfig);
57
- // TODO: clean up
58
- const confirmationUrl = await billingManager.ensureBilling();
59
- console.log(`>>> > getVerifiedSession > confirmationUrl:`, confirmationUrl);
70
+ // HMMM: order of params/method sig??
71
+ const confirmationUrl = await billing_1.ensureBilling(shopify, session, PAYMENT_CONFIG);
72
+ console.log(`>>> > getVerifiedClients > confirmationUrl:`, confirmationUrl);
60
73
  if (display_1.stringNotEmpty(confirmationUrl)) {
61
74
  throw new errors_1.ShopifyAuthenticationError('Invalid payment status', { redirectUrl: confirmationUrl });
62
75
  }
63
76
  }
64
77
  else {
65
78
  // NOTE making a test call to ensure a valid session for free apps
66
- const client = new shopify.clients.Graphql({ session });
67
- await client.query({ data: constants_1.SHOP_QUERY });
79
+ Graphql = new shopify.clients.Graphql(Object.assign({ session }, apiVersion && { apiVersion }));
80
+ await Graphql.query({ data: constants_1.SHOP_QUERY });
68
81
  }
69
- return session;
82
+ return {
83
+ Graphql,
84
+ Rest: new shopify.clients.Rest(Object.assign({ session }, apiVersion && { apiVersion })),
85
+ // Storefront: shopify.clients.Storefront({ ...apiVersion && { apiVersion } }), TODO: add support for Storefront client (takes different params)
86
+ };
70
87
  }
71
88
  catch (error) {
72
89
  if (error instanceof shopify_api_1.HttpResponseError &&
@@ -76,5 +93,5 @@ const getVerifiedSession = async ({ req, res, shop, shopify, serverRuntimeConfig
76
93
  throw error;
77
94
  }
78
95
  };
79
- exports.getVerifiedSession = getVerifiedSession;
96
+ exports.getVerifiedClients = getVerifiedClients;
80
97
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":";;;AAAA,sDAAwD;AAExD,uCAA0C;AAC1C,uCAA0C;AAC1C,qCAAqD;AACrD,2CAAwC;AACxC,yCAMmB;AAEnB,uEAAuE;AAChE,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE;IACvE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAA;IAErE,qCAAqC;IACrC,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAC,CAAA;IAEpE,MAAM,cAAc,GAAG,iCAAsB,CAAC,WAAW,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;IAExF,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,wBAAa,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC;QACtE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,uBAAY,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC;QAC1D,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,iCAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC;QACtE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC;QAC5E,sBAAsB;QACtB,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,6BAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC;KACrG,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,iBAAiB,qBAgB7B;AAED,+CAA+C;AAC/C,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3E,OAAO,IAAI,CAAA;IACX,+BAA+B;IAC/B,OAAO;IACP,uBAAuB;IACvB,qFAAqF;IACrF,MAAM;IACN,gBAAgB;IAChB,IAAI;IACJ,eAAe;AACjB,CAAC,CAAA;AAEM,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAE;IAC3F,IAAI;QACF,MAAM,cAAc,GAAG,yBAAiB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;QAE5E,MAAM,EAAE,cAAc,EAAE,GAAG,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE,CAAA;QAEpD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;YACnD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;SACjB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEpD,IAAG,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;YAC5C,MAAM,IAAI,mCAA0B,CAAC,kBAAkB,CAAC,CAAA;SACzD;QAED,IAAI,IAAI,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,IAAI,EAAE;YAClC,MAAM,IAAI,mCAA0B,CAAC,cAAc,CAAC,CAAA;SACrD;QAED,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,EAAE;YAC5B,MAAM,cAAc,GAAG,IAAI,wBAAc,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAA;YAChF,iBAAiB;YACjB,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,eAAe,CAAC,CAAA;YAE3E,IAAI,wBAAc,CAAC,eAAe,CAAC,EAAE;gBACnC,MAAM,IAAI,mCAA0B,CAClC,wBAAwB,EACxB,EAAE,WAAW,EAAE,eAAe,EAAE,CACjC,CAAA;aACF;SACF;aAAM;YACL,kEAAkE;YAClE,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;YACvD,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,sBAAU,EAAE,CAAC,CAAA;SACzC;QAED,OAAO,OAAO,CAAA;KACf;IAAC,OAAO,KAAK,EAAE;QACd,IACE,KAAK,YAAY,+BAAiB;YAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAC3B;YACA,MAAM,IAAI,mCAA0B,CAAC,mBAAmB,CAAC,CAAA;SAC1D;QAED,MAAM,KAAK,CAAA;KACZ;AACH,CAAC,CAAA;AAnDY,QAAA,kBAAkB,sBAmD9B"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":"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"}
@@ -8,14 +8,13 @@ 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
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()}`;
@@ -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,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
+ {"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,4 +1,4 @@
1
- export function getInitializedShopify(serverRuntimeConfig: any, version: any): Promise<any>;
1
+ export function getInitializedShopify(serverRuntimeConfig: any): Promise<any>;
2
2
  export function getRedirectUrl(props: any, { req, res, query: _query, }: {
3
3
  req: any;
4
4
  res: any;
@@ -6,28 +6,21 @@ const shopify_api_1 = require("@shopify/shopify-api");
6
6
  const shopify_api_node_1 = require("./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 _getInitializableShopify = (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
- // TODO: do we need to pass along apiVersion here?
16
- const getInitializedShopify = async (serverRuntimeConfig, version) => {
9
+ const getInitializedShopify = async (serverRuntimeConfig) => {
17
10
  var _a, _b, _c;
18
- const { APP_WEBHOOKS, INITIALIZED_SHOPIFY } = serverRuntimeConfig;
19
- // TODO: do we need to pass along apiVersion here? ?.[version]
20
- const initializedShopify = INITIALIZED_SHOPIFY;
11
+ const { APP_CONFIG, APP_WEBHOOKS, INITIALIZED_SHOPIFY } = serverRuntimeConfig;
12
+ let initializedShopify = INITIALIZED_SHOPIFY;
21
13
  if (initializedShopify) {
22
14
  const configurableWebhookTopics = Object.keys(APP_WEBHOOKS);
23
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??
24
17
  const missingTopic = installedTopics.find((topic) => !configurableWebhookTopics.includes(topic));
25
18
  if (!missingTopic && installedTopics.includes(constants_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED)) {
26
19
  return initializedShopify;
27
20
  }
28
21
  }
29
- const shopify = _getInitializableShopify(serverRuntimeConfig, version);
30
- shopify.webhooks.addHandlers(Object.entries(APP_WEBHOOKS).reduce((_payload, [webhookTopic, webhooks]) => (Object.assign(Object.assign({}, _payload), { [webhookTopic]: display_1.ensureArray(webhooks).reduce((_topicWebhooks, { path, url }) => {
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 }) => {
31
24
  const callbackUrl = path || url;
32
25
  if (display_1.stringEmpty(callbackUrl)) {
33
26
  return _topicWebhooks;
@@ -46,7 +39,7 @@ const getInitializedShopify = async (serverRuntimeConfig, version) => {
46
39
  }
47
40
  ];
48
41
  }, []) })), {}));
49
- return shopify;
42
+ return initializedShopify;
50
43
  };
51
44
  exports.getInitializedShopify = getInitializedShopify;
52
45
  const getRedirectUrl = async (props, { req, res, query: _query, }) => {
@@ -54,7 +47,6 @@ const getRedirectUrl = async (props, { req, res, query: _query, }) => {
54
47
  const { API_URLS, PAGE_PATHS } = props;
55
48
  const query = (_a = _query !== null && _query !== void 0 ? _query : req.query) !== null && _a !== void 0 ? _a : {};
56
49
  const { embedded, host, shop: _shop } = query !== null && query !== void 0 ? query : {};
57
- // TODO: do we need to pass along apiVersion here?
58
50
  const shopify = await exports.getInitializedShopify(props);
59
51
  const shop = shopify.utils.sanitizeShop(_shop);
60
52
  if (display_1.stringEmpty(shop)) {
@@ -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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"}
@@ -24,11 +24,9 @@ const withShopify = async (nextPhase, _a) => {
24
24
  pluginConfig = __rest(_c, ["defaultConfig"]);
25
25
  const basePath = utils_1.ensureString(_basePath);
26
26
  const { data, interactive, paymentConfig, firebaseConfig, pageRoutes: { [utils_1.PAGE_ROUTE_NAMES.EXIT]: _pageRouteExit = '/exit', [utils_1.PAGE_ROUTE_NAMES.ERROR]: _pageRouteError = '/error', } = {}, 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', } = {}, 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
- // console.log(`>>> > withShopify > _appId:`, _appId)
28
27
  const SHOPIFY_API_PUBLIC_KEY = NEXT_PUBLIC_SHOPIFY_API_KEY || _shopifyPublicAPIKey;
29
- // console.log(`>>> > withShopify > SHOPIFY_API_PUBLIC_KEY:`, SHOPIFY_API_PUBLIC_KEY)
28
+ // NOTE APP_ID in shopify cli defaults to client id/SHOPIFY_API_PUBLIC_KEY
30
29
  const APP_ID = NEXT_PUBLIC_SHOPIFY_API_ID || _appId || SHOPIFY_API_PUBLIC_KEY;
31
- // console.log(`>>> > withShopify > APP_ID:`, APP_ID)
32
30
  const appBaseUrl = NEXT_PUBLIC_APP_BASE_URL || netlifyUrl || shopifyCLIUrl;
33
31
  const APP_BASE_URL = `${appBaseUrl}${basePath}`;
34
32
  const appUrl = new URL(appBaseUrl);
@@ -77,22 +75,19 @@ const withShopify = async (nextPhase, _a) => {
77
75
  const API_PATHS = Object.entries(API_ROUTES).reduce((_apiPaths, [routeName, route]) => (Object.assign(Object.assign({}, _apiPaths), { [routeName]: `${basePath}${route}` })), {});
78
76
  const API_URLS = Object.entries(API_PATHS).reduce((_apiUrls, [routeName, routePath]) => (Object.assign(Object.assign({}, _apiUrls), { [routeName]: `${appBaseUrl}${routePath}` })), {});
79
77
  const APP_HOST_NAME = appUrl.hostname;
80
- const APP_CONFIG = {
81
- apiVersion: SHOPIFY_API_VERSION,
82
- apiKey: SHOPIFY_API_PUBLIC_KEY,
83
- apiSecretKey: SHOPIFY_API_KEY,
84
- hostName: APP_HOST_NAME,
85
- hostScheme: appUrl.protocol.replace(':', ''),
86
- scopes: SHOPIFY_API_SCOPES.replace(/, /g, ',').split(','),
87
- isEmbeddedApp: true,
88
- };
78
+ const PAYMENT_CONFIG = utils_1.generatePaymentConfig(paymentConfig, data);
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
+ });
89
85
  const APP_WEBHOOKS = {
90
86
  // TODO!!!: this should be adding in any extra stuff passed in from plugin config
91
87
  [utils_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED]: [{
92
88
  url: API_URLS[utils_1.API_ROUTE_NAMES.APP_UNINSTALLED],
93
89
  }],
94
90
  };
95
- const PAYMENT_CONFIG = utils_1.generatePaymentConfig(paymentConfig, data);
96
91
  const publicRuntimeConfig = Object.assign(Object.assign({}, _publicRuntimeConfig), { SHOPIFY_API_PUBLIC_KEY,
97
92
  SHOPIFY_RUN_MODE,
98
93
  APP_BASE_URL,
@@ -110,8 +105,6 @@ const withShopify = async (nextPhase, _a) => {
110
105
  API_PATHS,
111
106
  API_URLS,
112
107
  API_ROUTES });
113
- // TODO cleanup/consolidate getSessionStorage and getInitializedShopify (add sessionHandler to serverRuntimeConfig??)
114
- // TODO: do we need to pass along apiVersion here?
115
108
  const INITIALIZED_SHOPIFY = await utils_1.getInitializedShopify(_serverRuntimeConfig);
116
109
  const serverRuntimeConfig = Object.assign(Object.assign({}, _serverRuntimeConfig), { INITIALIZED_SHOPIFY });
117
110
  return Object.assign(Object.assign({}, _nextConfig), { basePath: _basePath, publicRuntimeConfig,