@agnostack/next-shopify 1.8.19 → 1.9.0-beta.10

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 (184) hide show
  1. package/dist/{handlers → lib/handlers}/api/appInstallation.d.ts +1 -0
  2. package/dist/lib/handlers/api/appInstallation.d.ts.map +1 -0
  3. package/dist/{handlers → lib/handlers}/api/appInstallation.js +7 -5
  4. package/dist/lib/handlers/api/appInstallation.js.map +1 -0
  5. package/dist/{handlers → lib/handlers}/api/auth.d.ts +1 -0
  6. package/dist/lib/handlers/api/auth.d.ts.map +1 -0
  7. package/dist/lib/handlers/api/auth.js +39 -0
  8. package/dist/lib/handlers/api/auth.js.map +1 -0
  9. package/dist/{handlers → lib/handlers}/api/billing.d.ts +1 -0
  10. package/dist/lib/handlers/api/billing.d.ts.map +1 -0
  11. package/dist/{handlers → lib/handlers}/api/billing.js +15 -27
  12. package/dist/lib/handlers/api/billing.js.map +1 -0
  13. package/dist/{handlers → lib/handlers}/api/callback.d.ts +1 -0
  14. package/dist/lib/handlers/api/callback.d.ts.map +1 -0
  15. package/dist/{handlers → lib/handlers}/api/callback.js +38 -47
  16. package/dist/lib/handlers/api/callback.js.map +1 -0
  17. package/dist/{handlers → lib/handlers}/api/graph.d.ts +1 -0
  18. package/dist/lib/handlers/api/graph.d.ts.map +1 -0
  19. package/dist/{handlers → lib/handlers}/api/graph.js +20 -29
  20. package/dist/lib/handlers/api/graph.js.map +1 -0
  21. package/dist/{handlers → lib/handlers}/api/index.d.ts +1 -0
  22. package/dist/lib/handlers/api/index.d.ts.map +1 -0
  23. package/dist/lib/handlers/api/index.js +19 -0
  24. package/dist/lib/handlers/api/index.js.map +1 -0
  25. package/dist/{handlers → lib/handlers}/api/proxy.d.ts +1 -0
  26. package/dist/lib/handlers/api/proxy.d.ts.map +1 -0
  27. package/dist/{handlers → lib/handlers}/api/proxy.js +22 -34
  28. package/dist/lib/handlers/api/proxy.js.map +1 -0
  29. package/dist/{handlers → lib/handlers}/api/rest.d.ts +1 -0
  30. package/dist/lib/handlers/api/rest.d.ts.map +1 -0
  31. package/dist/{handlers → lib/handlers}/api/rest.js +15 -24
  32. package/dist/lib/handlers/api/rest.js.map +1 -0
  33. package/dist/lib/handlers/api/types.d.ts +1 -0
  34. package/dist/lib/handlers/api/types.d.ts.map +1 -0
  35. package/dist/lib/handlers/api/types.js +1 -0
  36. package/dist/lib/handlers/api/types.js.map +1 -0
  37. package/dist/{handlers → lib/handlers}/api/uninstall.d.ts +1 -0
  38. package/dist/lib/handlers/api/uninstall.d.ts.map +1 -0
  39. package/dist/{handlers → lib/handlers}/api/uninstall.js +13 -25
  40. package/dist/lib/handlers/api/uninstall.js.map +1 -0
  41. package/dist/{handlers → lib/handlers}/api/webhook.d.ts +1 -0
  42. package/dist/lib/handlers/api/webhook.d.ts.map +1 -0
  43. package/dist/{handlers → lib/handlers}/api/webhook.js +13 -25
  44. package/dist/lib/handlers/api/webhook.js.map +1 -0
  45. package/dist/{handlers → lib/handlers}/index.d.ts +1 -0
  46. package/dist/lib/handlers/index.d.ts.map +1 -0
  47. package/dist/lib/handlers/index.js +6 -0
  48. package/dist/lib/handlers/index.js.map +1 -0
  49. package/dist/{handlers → lib/handlers}/ssr/index.d.ts +1 -0
  50. package/dist/lib/handlers/ssr/index.d.ts.map +1 -0
  51. package/dist/lib/handlers/ssr/index.js +6 -0
  52. package/dist/lib/handlers/ssr/index.js.map +1 -0
  53. package/dist/{handlers → lib/handlers}/ssr/protect.d.ts +2 -1
  54. package/dist/lib/handlers/ssr/protect.d.ts.map +1 -0
  55. package/dist/{handlers → lib/handlers}/ssr/protect.js +19 -17
  56. package/dist/lib/handlers/ssr/protect.js.map +1 -0
  57. package/dist/lib/handlers/ssr/types.d.ts +1 -0
  58. package/dist/lib/handlers/ssr/types.d.ts.map +1 -0
  59. package/dist/lib/handlers/ssr/types.js +1 -0
  60. package/dist/lib/handlers/ssr/types.js.map +1 -0
  61. package/dist/{handlers → lib/handlers}/ssr/wrap.d.ts +2 -1
  62. package/dist/lib/handlers/ssr/wrap.d.ts.map +1 -0
  63. package/dist/lib/handlers/ssr/wrap.js +17 -0
  64. package/dist/lib/handlers/ssr/wrap.js.map +1 -0
  65. package/dist/lib/handlers/types.d.ts +1 -0
  66. package/dist/lib/handlers/types.d.ts.map +1 -0
  67. package/dist/lib/handlers/types.js +1 -0
  68. package/dist/lib/handlers/types.js.map +1 -0
  69. package/dist/lib/index.d.ts +6 -0
  70. package/dist/lib/index.d.ts.map +1 -0
  71. package/dist/lib/index.js +13 -0
  72. package/dist/lib/index.js.map +1 -0
  73. package/dist/lib/types.d.ts +1 -0
  74. package/dist/lib/types.d.ts.map +1 -0
  75. package/dist/lib/types.js +1 -0
  76. package/dist/lib/types.js.map +1 -0
  77. package/dist/{utils → lib/utils}/billing.d.ts +3 -2
  78. package/dist/lib/utils/billing.d.ts.map +1 -0
  79. package/dist/{utils → lib/utils}/billing.js +16 -16
  80. package/dist/lib/utils/billing.js.map +1 -0
  81. package/dist/{utils → lib/utils}/crypto.d.ts +3 -2
  82. package/dist/lib/utils/crypto.d.ts.map +1 -0
  83. package/dist/{utils → lib/utils}/crypto.js +5 -7
  84. package/dist/lib/utils/crypto.js.map +1 -0
  85. package/dist/{utils → lib/utils}/firebase.d.ts +3 -2
  86. package/dist/lib/utils/firebase.d.ts.map +1 -0
  87. package/dist/{utils → lib/utils}/firebase.js +30 -44
  88. package/dist/lib/utils/firebase.js.map +1 -0
  89. package/dist/lib/utils/graph.d.ts +13 -0
  90. package/dist/lib/utils/graph.d.ts.map +1 -0
  91. package/dist/{utils → lib/utils}/graph.js +12 -41
  92. package/dist/lib/utils/graph.js.map +1 -0
  93. package/dist/{utils → lib/utils}/index.d.ts +1 -3
  94. package/dist/lib/utils/index.d.ts.map +1 -0
  95. package/dist/lib/utils/index.js +11 -0
  96. package/dist/lib/utils/index.js.map +1 -0
  97. package/dist/lib/utils/session.d.ts +24 -0
  98. package/dist/lib/utils/session.d.ts.map +1 -0
  99. package/dist/lib/utils/session.js +126 -0
  100. package/dist/lib/utils/session.js.map +1 -0
  101. package/dist/{utils → lib/utils}/shopify-api-js/oauth.d.ts +1 -0
  102. package/dist/lib/utils/shopify-api-js/oauth.d.ts.map +1 -0
  103. package/dist/{utils → lib/utils}/shopify-api-js/oauth.js +13 -26
  104. package/dist/lib/utils/shopify-api-js/oauth.js.map +1 -0
  105. package/dist/{utils → lib/utils}/shopify.d.ts +13 -1
  106. package/dist/lib/utils/shopify.d.ts.map +1 -0
  107. package/dist/{utils → lib/utils}/shopify.js +43 -39
  108. package/dist/lib/utils/shopify.js.map +1 -0
  109. package/dist/lib/utils/types.d.ts +1 -0
  110. package/dist/lib/utils/types.d.ts.map +1 -0
  111. package/dist/lib/utils/types.js +1 -0
  112. package/dist/lib/utils/types.js.map +1 -0
  113. package/dist/{withShopify.d.ts → lib/withShopify.d.ts} +1 -0
  114. package/dist/lib/withShopify.d.ts.map +1 -0
  115. package/dist/lib/withShopify.js +211 -0
  116. package/dist/lib/withShopify.js.map +1 -0
  117. package/dist/runtime/index.d.ts +2 -0
  118. package/dist/runtime/index.d.ts.map +1 -0
  119. package/dist/runtime/index.js +5 -0
  120. package/dist/runtime/index.js.map +1 -0
  121. package/dist/runtime/types.d.ts +1 -0
  122. package/dist/runtime/types.d.ts.map +1 -0
  123. package/dist/runtime/types.js +1 -0
  124. package/dist/runtime/types.js.map +1 -0
  125. package/dist/{utils → shared}/constants.d.ts +1 -0
  126. package/dist/shared/constants.d.ts.map +1 -0
  127. package/dist/{utils → shared}/constants.js +0 -1
  128. package/dist/shared/constants.js.map +1 -0
  129. package/dist/{utils → shared}/display.d.ts +1 -0
  130. package/dist/shared/display.d.ts.map +1 -0
  131. package/dist/{utils → shared}/display.js +35 -37
  132. package/dist/shared/display.js.map +1 -0
  133. package/dist/{utils → shared}/errors.d.ts +1 -11
  134. package/dist/shared/errors.d.ts.map +1 -0
  135. package/dist/{utils → shared}/errors.js +1 -20
  136. package/dist/shared/errors.js.map +1 -0
  137. package/dist/shared/index.d.ts +4 -0
  138. package/dist/shared/index.d.ts.map +1 -0
  139. package/dist/shared/index.js +7 -0
  140. package/dist/shared/index.js.map +1 -0
  141. package/dist/shared/types.d.ts +1 -0
  142. package/dist/shared/types.d.ts.map +1 -0
  143. package/dist/shared/types.js +1 -0
  144. package/dist/shared/types.js.map +1 -0
  145. package/package.json +22 -6
  146. package/dist/handlers/api/appInstallation.js.map +0 -1
  147. package/dist/handlers/api/auth.js +0 -48
  148. package/dist/handlers/api/auth.js.map +0 -1
  149. package/dist/handlers/api/billing.js.map +0 -1
  150. package/dist/handlers/api/callback.js.map +0 -1
  151. package/dist/handlers/api/graph.js.map +0 -1
  152. package/dist/handlers/api/index.js +0 -28
  153. package/dist/handlers/api/index.js.map +0 -1
  154. package/dist/handlers/api/proxy.js.map +0 -1
  155. package/dist/handlers/api/rest.js.map +0 -1
  156. package/dist/handlers/api/uninstall.js.map +0 -1
  157. package/dist/handlers/api/webhook.js.map +0 -1
  158. package/dist/handlers/index.js +0 -15
  159. package/dist/handlers/index.js.map +0 -1
  160. package/dist/handlers/ssr/index.js +0 -15
  161. package/dist/handlers/ssr/index.js.map +0 -1
  162. package/dist/handlers/ssr/protect.js.map +0 -1
  163. package/dist/handlers/ssr/wrap.js +0 -15
  164. package/dist/handlers/ssr/wrap.js.map +0 -1
  165. package/dist/index.d.ts +0 -7
  166. package/dist/index.js +0 -30
  167. package/dist/index.js.map +0 -1
  168. package/dist/utils/billing.js.map +0 -1
  169. package/dist/utils/constants.js.map +0 -1
  170. package/dist/utils/crypto.js.map +0 -1
  171. package/dist/utils/display.js.map +0 -1
  172. package/dist/utils/errors.js.map +0 -1
  173. package/dist/utils/firebase.js.map +0 -1
  174. package/dist/utils/graph.d.ts +0 -25
  175. package/dist/utils/graph.js.map +0 -1
  176. package/dist/utils/index.js +0 -23
  177. package/dist/utils/index.js.map +0 -1
  178. package/dist/utils/session.d.ts +0 -23
  179. package/dist/utils/session.js +0 -133
  180. package/dist/utils/session.js.map +0 -1
  181. package/dist/utils/shopify-api-js/oauth.js.map +0 -1
  182. package/dist/utils/shopify.js.map +0 -1
  183. package/dist/withShopify.js +0 -221
  184. package/dist/withShopify.js.map +0 -1
@@ -1 +1,2 @@
1
1
  export function handleLoadAppInstallation(serverRuntimeConfig: any): (req: any, res: any, params: any) => Promise<any>;
2
+ //# sourceMappingURL=appInstallation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appInstallation.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/appInstallation.js"],"names":[],"mappings":"AAKO,uHAcN"}
@@ -1,20 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleLoadAppInstallation = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const utils_1 = require("../../utils");
6
+ const shared_1 = require("../../../shared");
5
7
  const graph_1 = require("./graph");
6
8
  // NOTE: typically handling: "/api/admin/installation/[appId]" (called by getUseAppInstallation)
7
- const handleLoadAppInstallation = (serverRuntimeConfig) => async (req, res, params) => {
9
+ const handleLoadAppInstallation = (serverRuntimeConfig) => (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
8
10
  const { appId } = params !== null && params !== void 0 ? params : {};
9
- if (utils_1.stringEmpty(appId)) {
11
+ if ((0, shared_1.stringEmpty)(appId)) {
10
12
  return res.status(412).json({ message: 'Missing required param' });
11
13
  }
12
- const _handleGraph = graph_1.handleGraph(serverRuntimeConfig);
14
+ const _handleGraph = (0, graph_1.handleGraph)(serverRuntimeConfig);
13
15
  return _handleGraph(req, res, {
14
- query: utils_1.APP_QUERIES.INSTALLATION_EXPANDED,
16
+ query: utils_1.APP_QUERIES.INSTALLATION,
15
17
  variables: { namespace: `${appId}-metafields` },
16
18
  transform: utils_1.APP_QUERY_TRANSFORM,
17
19
  });
18
- };
20
+ });
19
21
  exports.handleLoadAppInstallation = handleLoadAppInstallation;
20
22
  //# sourceMappingURL=appInstallation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appInstallation.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/appInstallation.js"],"names":[],"mappings":";;;;AAAA,uCAA8D;AAC9D,4CAA6C;AAC7C,mCAAqC;AAErC,gGAAgG;AACzF,MAAM,yBAAyB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAC3F,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;IAE9B,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE;QACtB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAA;KACnE;IAED,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,mBAAmB,CAAC,CAAA;IAErD,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;QAC5B,KAAK,EAAE,mBAAW,CAAC,YAAY;QAC/B,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,aAAa,EAAE;QAC/C,SAAS,EAAE,2BAAmB;KAC/B,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAdY,QAAA,yBAAyB,6BAcrC"}
@@ -1 +1,2 @@
1
1
  export function handleAuth(serverRuntimeConfig: any): (req: any, res: any, params: any) => Promise<any>;
2
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/auth.js"],"names":[],"mappings":"AAYO,wGA2CN"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleAuth = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const utils_1 = require("../../utils");
6
+ const shared_1 = require("../../../shared");
7
+ // NOTE: typically handling: "/api/auth/online" and "/api/auth/offline"
8
+ const handleAuth = (serverRuntimeConfig) => (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
9
+ var _a;
10
+ const { PAGE_PATHS, API_PATHS, API_URLS, APP_CONFIG, } = serverRuntimeConfig;
11
+ const { isOnline } = params !== null && params !== void 0 ? params : {};
12
+ const _b = (_a = req.query) !== null && _a !== void 0 ? _a : {}, { reAuth: _reAuth } = _b, query = tslib_1.__rest(_b, ["reAuth"]);
13
+ const { embedded, state, host, shop: _shop } = query;
14
+ const reAuth = (0, shared_1.isTrue)(_reAuth, 'undefined');
15
+ const shopify = (0, utils_1.getInitializedShopify)(serverRuntimeConfig);
16
+ const shop = shopify.utils.sanitizeShop(_shop);
17
+ if ((0, shared_1.stringEmpty)(shop)) {
18
+ return res.redirect(`${PAGE_PATHS[shared_1.PAGE_ROUTE_NAMES.ERROR]}?code=no_shop_provided&type=handleAuth`);
19
+ }
20
+ if (embedded === '1') {
21
+ const callbackURL = (0, utils_1.getCallback)(API_URLS, { reAuth, isOnline });
22
+ // TODO: explore objectToQuerystring
23
+ const redirectUriParams = new URLSearchParams({ shop, host, state }).toString();
24
+ const queryParams = new URLSearchParams(Object.assign(Object.assign({}, query), { shop, redirectUri: `${callbackURL}?${redirectUriParams}` })).toString();
25
+ return res.redirect(`${PAGE_PATHS[shared_1.PAGE_ROUTE_NAMES.EXIT]}?${queryParams}`);
26
+ }
27
+ const callbackPath = (0, utils_1.getCallback)(API_PATHS, { reAuth, isOnline });
28
+ return (0, utils_1.beginAuth)({
29
+ shop,
30
+ state,
31
+ isOnline,
32
+ callbackPath,
33
+ rawRequest: req,
34
+ rawResponse: res,
35
+ config: APP_CONFIG,
36
+ });
37
+ });
38
+ exports.handleAuth = handleAuth;
39
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/auth.js"],"names":[],"mappings":";;;;AAAA,uCAIoB;AACpB,4CAIwB;AAExB,wEAAwE;AACjE,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;;IAC5E,MAAM,EACJ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,GACX,GAAG,mBAAmB,CAAA;IACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;IACjC,MAAM,KAAgC,MAAA,GAAG,CAAC,KAAK,mCAAI,EAAE,EAA/C,EAAE,MAAM,EAAE,OAAO,OAA8B,EAAzB,KAAK,sBAA3B,UAA6B,CAAkB,CAAA;IACrD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACpD,MAAM,MAAM,GAAG,IAAA,eAAM,EAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAE3C,MAAM,OAAO,GAAG,IAAA,6BAAqB,EAAC,mBAAmB,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAE9C,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,EAAE;QACrB,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,yBAAgB,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;KACnG;IAED,IAAI,QAAQ,KAAK,GAAG,EAAE;QACpB,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC/D,oCAAoC;QACpC,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC/E,MAAM,WAAW,GAAG,IAAI,eAAe,iCAClC,KAAK,KACR,IAAI,EACJ,WAAW,EAAE,GAAG,WAAW,IAAI,iBAAiB,EAAE,IAClD,CAAC,QAAQ,EAAE,CAAA;QAEb,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,yBAAgB,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;KAC3E;IAED,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEjE,OAAO,IAAA,iBAAS,EAAC;QACf,IAAI;QACJ,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,UAAU;KACnB,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AA3CY,QAAA,UAAU,cA2CtB"}
@@ -1 +1,2 @@
1
1
  export function handleAppBilling(serverRuntimeConfig: any): (req: any, res: any) => Promise<any>;
2
+ //# sourceMappingURL=billing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/billing.js"],"names":[],"mappings":"AAeO,iGAuDN"}
@@ -1,61 +1,49 @@
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
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
3
  exports.handleAppBilling = void 0;
18
- const raw_body_1 = __importDefault(require("raw-body"));
4
+ const tslib_1 = require("tslib");
5
+ const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
19
6
  const utils_1 = require("../../utils");
7
+ const shared_1 = require("../../../shared");
20
8
  const TERMINAL_STATUSES = [
21
9
  'EXPIRED',
22
10
  'DECLINED',
23
11
  'CANCELLED'
24
12
  ];
25
13
  // NOTE: typically handling: "/api/webhooks/app/billing"
26
- const handleAppBilling = (serverRuntimeConfig) => async (req, res) => {
14
+ const handleAppBilling = (serverRuntimeConfig) => (req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
27
15
  var _a;
28
16
  try {
29
17
  const { 'x-shopify-shop-domain': shop } = (_a = req.headers) !== null && _a !== void 0 ? _a : {};
30
- if (utils_1.stringEmpty(shop)) {
18
+ if ((0, shared_1.stringEmpty)(shop)) {
31
19
  return res.status(200).json({ handler: 'billing', error: 'Missing shop' });
32
20
  }
33
- const { shopify, loadSession, updateSession, getVerifiedClients } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
21
+ const { shopify, loadSession, updateSession, getVerifiedClients } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
34
22
  // NOTE raw request body is required for Shopify webhook validation
35
- const _rawBody = await raw_body_1.default(req);
23
+ const _rawBody = yield (0, raw_body_1.default)(req);
36
24
  const rawBody = _rawBody.toString();
37
- const _b = await shopify.webhooks.validate({
25
+ const _b = yield shopify.webhooks.validate({
38
26
  rawBody,
39
27
  rawRequest: req,
40
28
  rawResponse: res,
41
- }), { valid } = _b, webhookCheck = __rest(_b, ["valid"]);
29
+ }), { valid } = _b, webhookCheck = tslib_1.__rest(_b, ["valid"]);
42
30
  if (valid) {
43
31
  try {
44
32
  let message = 'ignored';
45
33
  const [eventType, { status } = {}] = Object.entries(JSON.parse(rawBody))[0];
46
- if ((eventType === utils_1.BILLING_EVENT_TYPES.SUBSCRIPTION) && TERMINAL_STATUSES.includes(status)) {
47
- const { Rest } = await getVerifiedClients();
34
+ if ((eventType === shared_1.BILLING_EVENT_TYPES.SUBSCRIPTION) && TERMINAL_STATUSES.includes(status)) {
35
+ const { Rest } = yield getVerifiedClients();
48
36
  // NOTE: this deletes the app in the case of subscription apps in a "terminal" state to cover the info in ShopifyApi docs for billing:
49
37
  // "Note: the merchant may refuse payment when prompted or cancel subscriptions later on, but the app will already be installed at that point. We recommend using billing webhooks to revoke access for merchants when they cancel / decline payment."
50
- await Rest.delete({
38
+ yield Rest.delete({
51
39
  path: '/admin/api_permissions/current.json',
52
40
  });
53
41
  message = 'deleted';
54
42
  }
55
43
  if ((serverRuntimeConfig.SHOPIFY_RUN_MODE === 'review') && !TERMINAL_STATUSES.includes(status)) {
56
- const { id: sessionId } = await loadSession();
44
+ const { id: sessionId } = yield loadSession();
57
45
  // NOTE: billingStatus is a custom field we add when we're in review mode to handle reauth billing correctly
58
- await updateSession(sessionId, { billingStatus: status });
46
+ yield updateSession(sessionId, { billingStatus: status });
59
47
  }
60
48
  return res.status(200).json({ handler: 'billing', message });
61
49
  }
@@ -70,6 +58,6 @@ const handleAppBilling = (serverRuntimeConfig) => async (req, res) => {
70
58
  console.error('Error handling billing', error);
71
59
  return res.status(200).json({ handler: 'billing', error: 'Error handling billing' });
72
60
  }
73
- };
61
+ });
74
62
  exports.handleAppBilling = handleAppBilling;
75
63
  //# sourceMappingURL=billing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/billing.js"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export function handleCallback(serverRuntimeConfig: any): (req: any, res: any, params: any) => Promise<any>;
2
+ //# sourceMappingURL=callback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/callback.js"],"names":[],"mappings":"AAkCO,4GAmKN"}
@@ -1,95 +1,86 @@
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
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.handleCallback = void 0;
4
+ const tslib_1 = require("tslib");
15
5
  const shopify_api_1 = require("@shopify/shopify-api");
16
6
  const utils_1 = require("../../utils");
7
+ const shared_1 = require("../../../shared");
17
8
  /* NOTE: typically handling:
18
9
  * "/api/auth/online/callback"
19
10
  * "/api/auth/offline/callback"
20
11
  * "/api/auth/online/callback/reauth"
21
12
  * "/api/auth/offline/callback/reauth"
22
13
  */
23
- const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
14
+ const handleCallback = (serverRuntimeConfig) => (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
24
15
  var _a, _b;
25
16
  const _c = serverRuntimeConfig, { API_PATHS, PAGE_PATHS, PAYMENT_CONFIG, SHOPIFY_RUN_MODE } = _c, _d = _c.APP_WEBHOOKS, _e = _d === void 0 ? {} : _d,
26
17
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
- _f = utils_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED,
18
+ _f = shared_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED,
28
19
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
- _uninstalledWebhook = _e[_f], webhooks = __rest(_e, [typeof _f === "symbol" ? _f : _f + ""]);
30
- const errorPath = PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR];
20
+ _uninstalledWebhook = _e[_f], webhooks = tslib_1.__rest(_e, [typeof _f === "symbol" ? _f : _f + ""]);
21
+ const errorPath = PAGE_PATHS[shared_1.PAGE_ROUTE_NAMES.ERROR];
31
22
  const { isOnline, reAuth } = params !== null && params !== void 0 ? params : {};
32
23
  const { shop, host, state } = (_a = req.query) !== null && _a !== void 0 ? _a : {};
33
24
  const authPayload = { rawRequest: req, rawResponse: res };
34
- if (utils_1.stringEmpty(shop) || utils_1.stringEmpty(host)) {
25
+ if ((0, shared_1.stringEmpty)(shop) || (0, shared_1.stringEmpty)(host)) {
35
26
  // HMMM: why is this a 303 (rather than a 302 or or anything)??
36
- return res.redirect(303, `${errorPath}?code=${utils_1.ERROR_CODES.INVALID_CALLBACK}`);
27
+ return res.redirect(303, `${errorPath}?code=${shared_1.ERROR_CODES.INVALID_CALLBACK}`);
37
28
  }
38
29
  let redirectUrl = `${errorPath}?code=invalid_callback_response`;
39
30
  let shopify;
40
31
  try {
41
- const { shopify: _shopify, storeSession, loadSession, ensureBilling } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
32
+ const { shopify: _shopify, storeSession, loadSession, ensureBilling } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
42
33
  shopify = _shopify;
43
- const { session: _session } = await shopify.auth.callback(authPayload);
34
+ const { session: _session } = yield shopify.auth.callback(authPayload);
44
35
  const session = _session.toObject();
45
36
  const isReviewMode = ((SHOPIFY_RUN_MODE === 'review') &&
46
37
  (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) &&
47
- API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE]);
38
+ API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE]);
48
39
  const shouldStoreSession = isOnline || !isReviewMode;
49
- const shouldProcessOfflineAuth = isOnline && utils_1.objectNotEmpty(webhooks) && API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE];
50
- const shouldRegisterWebhooks = !utils_1.isTrue(session === null || session === void 0 ? void 0 : session.isOnline) || !API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE];
40
+ const shouldProcessOfflineAuth = isOnline && (0, shared_1.objectNotEmpty)(webhooks) && API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE];
41
+ const shouldRegisterWebhooks = !(0, shared_1.isTrue)(session === null || session === void 0 ? void 0 : session.isOnline) || !API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE];
51
42
  const shouldCheckBilling = PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required;
52
43
  // NOTE: billingStatus is a custom field we add when we're in review mode to handle reauth billing correctly
53
44
  let billingStatus = 'PENDING';
54
45
  if (shouldStoreSession) {
55
- await storeSession(session);
46
+ yield storeSession(session);
56
47
  }
57
48
  else {
58
49
  // NOTE our review approach requires that all paid apps must support offline tokens
59
- const offlineSession = await loadSession().catch((_error) => {
50
+ const offlineSession = yield loadSession().catch((_error) => {
60
51
  // NOTE: first time install, this is expected
61
- if (!(_error instanceof utils_1.ShopifySessionMissingError)) {
52
+ if (!(_error instanceof shared_1.ShopifySessionMissingError)) {
62
53
  throw _error;
63
54
  }
64
55
  });
65
56
  billingStatus = (offlineSession === null || offlineSession === void 0 ? void 0 : offlineSession.billingStatus) || billingStatus;
66
- await storeSession(Object.assign(Object.assign({}, session), { billingStatus }));
57
+ yield storeSession(Object.assign(Object.assign({}, session), { billingStatus }));
67
58
  }
68
59
  // NOTE: return early to set up an offline token as webhooks cannot use the online one to make API calls
69
60
  if (shouldProcessOfflineAuth) {
70
61
  // TODO: explore objectToQuerystring
71
62
  const queryParams = new URLSearchParams({ host, shop, state, reAuth, isOnline: false }).toString();
72
- return res.redirect(302, `${API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE]}?${queryParams}`);
63
+ return res.redirect(302, `${API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE]}?${queryParams}`);
73
64
  }
74
65
  if (shouldRegisterWebhooks) {
75
- const webhookHandlers = utils_1.getWebhookHandlers(serverRuntimeConfig);
66
+ const webhookHandlers = (0, utils_1.getWebhookHandlers)(serverRuntimeConfig);
76
67
  shopify.webhooks.addHandlers(webhookHandlers);
77
68
  // NOTE: webhooks cannot use an online session to make API calls to Shopify (but not all webooks may be doing that for all apps)
78
- await shopify.webhooks.register({ session });
69
+ yield shopify.webhooks.register({ session });
79
70
  }
80
71
  // NOTE this is the final/successful return URL
81
- redirectUrl = await shopify.auth.getEmbeddedAppUrl(authPayload);
72
+ redirectUrl = yield shopify.auth.getEmbeddedAppUrl(authPayload);
82
73
  if (shouldCheckBilling) {
83
74
  // NOTE this ensures while in "review" mode that we rebill each time
84
- const skipBillingCheck = isReviewMode && (!utils_1.isTrue(reAuth) || (billingStatus != 'ACTIVE'));
85
- const confirmationUrl = await ensureBilling(session, skipBillingCheck);
86
- if (utils_1.stringNotEmpty(confirmationUrl)) {
75
+ const skipBillingCheck = isReviewMode && (!(0, shared_1.isTrue)(reAuth) || (billingStatus != 'ACTIVE'));
76
+ const confirmationUrl = yield ensureBilling(session, skipBillingCheck);
77
+ if ((0, shared_1.stringNotEmpty)(confirmationUrl)) {
87
78
  redirectUrl = confirmationUrl;
88
79
  }
89
80
  }
90
81
  // NOTE confirm that state can be appended to the confirmationUrl,
91
82
  // otherwise we can append to the redirectUrl above the billing check
92
- redirectUrl = utils_1.appendQuery(redirectUrl, new URLSearchParams({ state }).toString());
83
+ redirectUrl = (0, shared_1.appendQuery)(redirectUrl, new URLSearchParams({ state }).toString());
93
84
  }
94
85
  catch (error) {
95
86
  console.error('Error handling callback route', error);
@@ -97,9 +88,9 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
97
88
  let baseErrorUrl = errorPath;
98
89
  if (shopify) {
99
90
  try {
100
- const embeddedAppUrl = await shopify.auth.getEmbeddedAppUrl(authPayload);
101
- if (utils_1.stringNotEmpty(embeddedAppUrl)) {
102
- baseErrorUrl = `${embeddedAppUrl}${utils_1.ensureLeadingSlash(errorPath)}`;
91
+ const embeddedAppUrl = yield shopify.auth.getEmbeddedAppUrl(authPayload);
92
+ if ((0, shared_1.stringNotEmpty)(embeddedAppUrl)) {
93
+ baseErrorUrl = `${embeddedAppUrl}${(0, shared_1.ensureLeadingSlash)(errorPath)}`;
103
94
  }
104
95
  // eslint-disable-next-line no-empty
105
96
  }
@@ -110,10 +101,10 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
110
101
  case error instanceof shopify_api_1.InvalidHmacError: {
111
102
  console.warn(`${errorMessage}. InvalidHmac Error ${error.message}`);
112
103
  // HMMMM: not sure
113
- const authOnlinePath = API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_ONLINE];
104
+ const authOnlinePath = API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_ONLINE];
114
105
  const authPath = isOnline
115
106
  ? authOnlinePath
116
- : API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE] || authOnlinePath;
107
+ : API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE] || authOnlinePath;
117
108
  // TODO: explore objectToQuerystring
118
109
  const queryParams = new URLSearchParams({ host, shop, state }).toString();
119
110
  redirectUrl = `${authPath}?${queryParams}`;
@@ -122,10 +113,10 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
122
113
  case error instanceof shopify_api_1.CookieNotFound: {
123
114
  console.warn(`${errorMessage}. This may occur if Cookie is already deleted. CookieNotFound Error ${error.message}`);
124
115
  // HMMMM: not sure
125
- const authOnlinePath = API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_ONLINE];
116
+ const authOnlinePath = API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_ONLINE];
126
117
  const authPath = isOnline
127
118
  ? authOnlinePath
128
- : API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE] || authOnlinePath;
119
+ : API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_OFFLINE] || authOnlinePath;
129
120
  // TODO: explore objectToQuerystring
130
121
  const queryParams = new URLSearchParams({ host, shop, state }).toString();
131
122
  redirectUrl = `${authPath}?${queryParams}`;
@@ -133,27 +124,27 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
133
124
  }
134
125
  case error instanceof shopify_api_1.BillingError: {
135
126
  console.error(`${errorMessage}. Billing Error ${error.message}`, error.errorData);
136
- redirectUrl = `${baseErrorUrl}?code=${utils_1.ERROR_CODES.BILLING}`;
127
+ redirectUrl = `${baseErrorUrl}?code=${shared_1.ERROR_CODES.BILLING}`;
137
128
  break;
138
129
  }
139
130
  case error instanceof shopify_api_1.GraphqlQueryError: {
140
- const errorMessages = utils_1.ensureArray((_b = error.response) === null || _b === void 0 ? void 0 : _b.errors).map(({ message }) => utils_1.ensureString(message));
131
+ const errorMessages = (0, shared_1.ensureArray)((_b = error.response) === null || _b === void 0 ? void 0 : _b.errors).map(({ message }) => (0, shared_1.ensureString)(message));
141
132
  console.error(`${errorMessage}. GraphqlQuery Error ${errorMessages.join('. ')}`);
142
- redirectUrl = `${baseErrorUrl}?code=${utils_1.ERROR_CODES.QUERY}`;
133
+ redirectUrl = `${baseErrorUrl}?code=${shared_1.ERROR_CODES.QUERY}`;
143
134
  break;
144
135
  }
145
136
  case error instanceof shopify_api_1.InvalidOAuthError: {
146
137
  console.error(`${errorMessage}. InvalidOAuth Error`, error);
147
- redirectUrl = `${baseErrorUrl}?code=${utils_1.ERROR_CODES.OAUTH}`;
138
+ redirectUrl = `${baseErrorUrl}?code=${shared_1.ERROR_CODES.OAUTH}`;
148
139
  break;
149
140
  }
150
141
  default: {
151
142
  console.error(errorMessage, error);
152
- redirectUrl = `${baseErrorUrl}?code=${utils_1.ERROR_CODES.CALLBACK}`;
143
+ redirectUrl = `${baseErrorUrl}?code=${shared_1.ERROR_CODES.CALLBACK}`;
153
144
  }
154
145
  }
155
146
  }
156
147
  return res.redirect(302, redirectUrl);
157
- };
148
+ });
158
149
  exports.handleCallback = handleCallback;
159
150
  //# sourceMappingURL=callback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/callback.js"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export function handleGraph(serverRuntimeConfig: any): (req: any, res: any, params: any) => Promise<any>;
2
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/graph.js"],"names":[],"mappings":"AAkBO,yGAwGN"}
@@ -1,28 +1,19 @@
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
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.handleGraph = void 0;
4
+ const tslib_1 = require("tslib");
15
5
  const shopify_api_1 = require("@shopify/shopify-api");
16
6
  const utils_1 = require("../../utils");
17
- const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
7
+ const shared_1 = require("../../../shared");
8
+ const handleGraph = (serverRuntimeConfig) => (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
18
9
  var _a, _b;
19
- const { body = '{}' } = req, _c = req.query, _d = _c === void 0 ? {} : _c, { shop, apiVersion } = _d, _query = __rest(_d, ["shop", "apiVersion"]);
20
- const _e = params !== null && params !== void 0 ? params : JSON.parse(body), { query: graphQuery, variables: graphVariables, transform = (_data) => _data } = _e, graphParams = __rest(_e, ["query", "variables", "transform"]);
10
+ const { body = '{}' } = req, _c = req.query, _d = _c === void 0 ? {} : _c, { shop, apiVersion } = _d, _query = tslib_1.__rest(_d, ["shop", "apiVersion"]);
11
+ const _e = params !== null && params !== void 0 ? params : JSON.parse(body), { query: graphQuery, variables: graphVariables, transform = (_data) => _data } = _e, graphParams = tslib_1.__rest(_e, ["query", "variables", "transform"]);
21
12
  let query = _query;
22
- if (utils_1.isType(query, 'string')) {
23
- query = utils_1.querystringToObject(query);
13
+ if ((0, shared_1.isType)(query, 'string')) {
14
+ query = (0, shared_1.querystringToObject)(query);
24
15
  }
25
- if (utils_1.stringEmpty(shop) || utils_1.stringEmpty(graphQuery)) {
16
+ if ((0, shared_1.stringEmpty)(shop) || (0, shared_1.stringEmpty)(graphQuery)) {
26
17
  return res.status(400).json({ message: 'Invalid arguments' });
27
18
  }
28
19
  let statusCode;
@@ -30,21 +21,21 @@ const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
30
21
  let headers = {};
31
22
  let message = 'Error handling query call';
32
23
  try {
33
- const { getVerifiedClients } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
34
- const { Graphql } = await getVerifiedClients({ req, res, shop, apiVersion });
35
- response = await Graphql.query(Object.assign(Object.assign({ data: graphVariables ? {
24
+ const { getVerifiedClients } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
25
+ const { Graphql } = yield getVerifiedClients({ req, res, shop, apiVersion });
26
+ response = yield Graphql.query(Object.assign(Object.assign({ data: graphVariables ? {
36
27
  query: graphQuery,
37
28
  variables: graphVariables,
38
- } : graphQuery }, utils_1.objectNotEmpty(query) && { query }), graphParams));
29
+ } : graphQuery }, (0, shared_1.objectNotEmpty)(query) && { query }), graphParams));
39
30
  statusCode = 200;
40
31
  }
41
32
  catch (error) {
42
33
  statusCode = 500;
43
34
  // TODO: clean up to share between rest and graph (pr at least keep in sync)
44
35
  switch (true) {
45
- case error instanceof utils_1.ShopifyAuthenticationError: {
36
+ case error instanceof shared_1.ShopifyAuthenticationError: {
46
37
  console.error(`${message}. Authentication Error.`, error);
47
- const errorResponse = utils_1.getAuthErrorResponse(serverRuntimeConfig, { error, shop });
38
+ const errorResponse = (0, utils_1.getAuthErrorResponse)(serverRuntimeConfig, { error, shop });
48
39
  statusCode = errorResponse.statusCode;
49
40
  message = errorResponse.message;
50
41
  // HMMMM, should this be:
@@ -63,7 +54,7 @@ const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
63
54
  break;
64
55
  }
65
56
  case error instanceof shopify_api_1.GraphqlQueryError: {
66
- const errorMessages = utils_1.ensureArray((_a = error.response) === null || _a === void 0 ? void 0 : _a.errors).map(({ message }) => utils_1.ensureString(message));
57
+ const errorMessages = (0, shared_1.ensureArray)((_a = error.response) === null || _a === void 0 ? void 0 : _a.errors).map(({ message }) => (0, shared_1.ensureString)(message));
67
58
  console.error(`${message}. ${errorMessages.join('. ')}.`);
68
59
  // HMMMM, should this be:
69
60
  // message = `${message}. ${errorMessages.join('. ')}.`
@@ -83,10 +74,10 @@ const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
83
74
  }
84
75
  try {
85
76
  const responseBody = (_b = response.body.data) !== null && _b !== void 0 ? _b : response.body;
86
- const [_responseData] = Object.values(utils_1.ensureObject(responseBody));
87
- const _f = utils_1.ensureObject(_responseData), { userErrors } = _f, responseData = __rest(_f, ["userErrors"]);
88
- if (utils_1.arrayNotEmpty(userErrors)) {
89
- const errorMessages = utils_1.ensureArray(userErrors).map(({ message }) => utils_1.ensureString(message));
77
+ const [_responseData] = Object.values((0, shared_1.ensureObject)(responseBody));
78
+ const _f = (0, shared_1.ensureObject)(_responseData), { userErrors } = _f, responseData = tslib_1.__rest(_f, ["userErrors"]);
79
+ if ((0, shared_1.arrayNotEmpty)(userErrors)) {
80
+ const errorMessages = (0, shared_1.ensureArray)(userErrors).map(({ message }) => (0, shared_1.ensureString)(message));
90
81
  return res.status(500).json({ message: `${message}. ${errorMessages.join('. ')}.` });
91
82
  }
92
83
  // NOTE: sending in both to transform in case someone needs the userErrors
@@ -96,6 +87,6 @@ const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
96
87
  console.error(`${message}. Transformation Error.`, error);
97
88
  return res.status(500).json({ message });
98
89
  }
99
- };
90
+ });
100
91
  exports.handleGraph = handleGraph;
101
92
  //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/graph.js"],"names":[],"mappings":";;;;AAAA,sDAAsE;AAEtE,uCAGoB;AACpB,4CAUwB;AAEjB,MAAM,WAAW,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;;IAC7E,MAAM,EAAE,IAAI,GAAG,IAAI,KAAkD,GAAG,EAAnD,KAAgD,GAAG,MAAR,EAA3C,qBAAyC,EAAE,KAAA,EAA3C,EAAS,IAAI,EAAE,UAAU,OAAkB,EAAb,MAAM,sBAA7B,sBAA+B,CAAa,CAAA;IACxE,MAAM,KAKF,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EALxB,EACJ,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,cAAc,EACzB,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,OAEA,EADzB,WAAW,sBAJV,mCAKL,CAA6B,CAAA;IAE9B,IAAI,KAAK,GAAG,MAAM,CAAA;IAClB,IAAI,IAAA,eAAM,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;QAC3B,KAAK,GAAG,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAA;KACnC;IAED,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,IAAA,oBAAW,EAAC,UAAU,CAAC,EAAE;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAA;KAC9D;IAED,IAAI,UAAU,CAAA;IACd,IAAI,QAAQ,CAAA;IACZ,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,OAAO,GAAG,2BAA2B,CAAA;IAEzC,IAAI;QACF,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAA,yBAAiB,EAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACrF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAE5E,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,+BAC5B,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;gBACrB,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC,CAAC,UAAU,IACX,IAAA,uBAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAClC,WAAW,EACd,CAAA;QAEF,UAAU,GAAG,GAAG,CAAA;KACjB;IAAC,OAAO,KAAK,EAAE;QACd,UAAU,GAAG,GAAG,CAAA;QAEhB,4EAA4E;QAC5E,QAAQ,IAAI,EAAE;YACZ,KAAK,KAAK,YAAY,mCAA0B,CAAC,CAAC;gBAChD,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,yBAAyB,EAAE,KAAK,CAAC,CAAA;gBACzD,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAChF,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;gBACrC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAA;gBAC/B,yBAAyB;gBACzB,4EAA4E;gBAC5E,OAAO,GAAG,aAAa,CAAC,OAAO,CAAA;gBAC/B,MAAK;aACN;YAED,KAAK,KAAK,YAAY,0BAAY,CAAC,CAAC;gBAClC,yBAAyB;gBACzB,4DAA4D;gBAC5D,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,qBAAqB,KAAK,CAAC,OAAO,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;gBAC/E,UAAU,GAAG,GAAG,CAAA;gBAChB,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE;oBAClB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;iBACxB;gBACD,MAAK;aACN;YAED,KAAK,KAAK,YAAY,+BAAiB,CAAC,CAAC;gBACvC,MAAM,aAAa,GAAG,IAAA,oBAAW,EAAC,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC,CAAA;gBACrG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACzD,yBAAyB;gBACzB,uDAAuD;gBACvD,8DAA8D;gBAC9D,MAAK;aACN;YAED,OAAO,CAAC,CAAC;gBACP,MAAK;aACN;SACF;KACF;IAED,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE;QACnB,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;KAChD;IAED,IAAI;QACF,MAAM,YAAY,GAAG,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,mCAAI,QAAQ,CAAC,IAAI,CAAA;QAExD,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,qBAAY,EAAC,YAAY,CAAC,CAAC,CAAA;QACjE,MAAM,KAAkC,IAAA,qBAAY,EAAC,aAAa,CAAC,EAA7D,EAAE,UAAU,OAAiD,EAA5C,YAAY,sBAA7B,cAA+B,CAA8B,CAAA;QAEnE,IAAI,IAAA,sBAAa,EAAC,UAAU,CAAC,EAAE;YAC7B,MAAM,aAAa,GAAG,IAAA,oBAAW,EAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC,CAAA;YACzF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,KAAK,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;SACrF;QAED,0EAA0E;QAC1E,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAA;KAC1E;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,yBAAyB,EAAE,KAAK,CAAC,CAAA;QACzD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;KACzC;AACH,CAAC,CAAA,CAAA;AAxGY,QAAA,WAAW,eAwGvB"}
@@ -10,3 +10,4 @@ export * from "./webhook";
10
10
  export function getAPIConfig(config: any): {
11
11
  api: any;
12
12
  };
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/index.js"],"names":[],"mappings":";;;;;;;;;AAWO;;EAKL"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAPIConfig = void 0;
4
+ const tslib_1 = require("tslib");
5
+ tslib_1.__exportStar(require("./appInstallation"), exports);
6
+ tslib_1.__exportStar(require("./auth"), exports);
7
+ tslib_1.__exportStar(require("./billing"), exports);
8
+ tslib_1.__exportStar(require("./callback"), exports);
9
+ tslib_1.__exportStar(require("./graph"), exports);
10
+ tslib_1.__exportStar(require("./proxy"), exports);
11
+ tslib_1.__exportStar(require("./rest"), exports);
12
+ tslib_1.__exportStar(require("./uninstall"), exports);
13
+ tslib_1.__exportStar(require("./webhook"), exports);
14
+ // NOTE raw request body is required for Shopify webhook validation
15
+ const getAPIConfig = (config) => ({
16
+ api: Object.assign({ bodyParser: false }, config),
17
+ });
18
+ exports.getAPIConfig = getAPIConfig;
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/index.js"],"names":[],"mappings":";;;;AAAA,4DAAiC;AACjC,iDAAsB;AACtB,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,kDAAuB;AACvB,iDAAsB;AACtB,sDAA2B;AAC3B,oDAAyB;AAEzB,mEAAmE;AAC5D,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,GAAG,kBACD,UAAU,EAAE,KAAK,IACd,MAAM,CACV;CACF,CAAC,CAAA;AALW,QAAA,YAAY,gBAKvB"}
@@ -1 +1,2 @@
1
1
  export function handleProxy(serverRuntimeConfig: any): (req: any, res: any, _params: any) => Promise<any>;
2
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/proxy.js"],"names":[],"mappings":"AA6BO,0GAyGN"}