@shopify/shopify-app-remix 3.0.2 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +56 -12
  2. package/dist/cjs/server/adapters/node/index.js +1 -0
  3. package/dist/cjs/server/adapters/node/index.js.map +1 -1
  4. package/dist/cjs/server/authenticate/admin/authenticate.js +19 -8
  5. package/dist/cjs/server/authenticate/admin/authenticate.js.map +1 -1
  6. package/dist/cjs/server/authenticate/admin/billing/cancel.js +1 -0
  7. package/dist/cjs/server/authenticate/admin/billing/cancel.js.map +1 -1
  8. package/dist/cjs/server/authenticate/admin/billing/check.js +2 -1
  9. package/dist/cjs/server/authenticate/admin/billing/check.js.map +1 -1
  10. package/dist/cjs/server/authenticate/admin/billing/request.js +1 -0
  11. package/dist/cjs/server/authenticate/admin/billing/request.js.map +1 -1
  12. package/dist/cjs/server/authenticate/admin/billing/require.js +1 -0
  13. package/dist/cjs/server/authenticate/admin/billing/require.js.map +1 -1
  14. package/dist/cjs/server/authenticate/admin/helpers/redirect-to-install-page.js +37 -0
  15. package/dist/cjs/server/authenticate/admin/helpers/redirect-to-install-page.js.map +1 -0
  16. package/dist/cjs/server/authenticate/admin/helpers/redirect.js +57 -4
  17. package/dist/cjs/server/authenticate/admin/helpers/redirect.js.map +1 -1
  18. package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js +13 -2
  19. package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js.map +1 -1
  20. package/dist/cjs/server/authenticate/admin/scope/client/fetch-scopes-details.js +26 -0
  21. package/dist/cjs/server/authenticate/admin/scope/client/fetch-scopes-details.js.map +1 -0
  22. package/dist/cjs/server/authenticate/admin/scope/client/revoke-scopes.js +26 -0
  23. package/dist/cjs/server/authenticate/admin/scope/client/revoke-scopes.js.map +1 -0
  24. package/dist/cjs/server/authenticate/admin/scope/factory.js +16 -0
  25. package/dist/cjs/server/authenticate/admin/scope/factory.js.map +1 -0
  26. package/dist/cjs/server/authenticate/admin/scope/query.js +30 -0
  27. package/dist/cjs/server/authenticate/admin/scope/query.js.map +1 -0
  28. package/dist/cjs/server/authenticate/admin/scope/request.js +25 -0
  29. package/dist/cjs/server/authenticate/admin/scope/request.js.map +1 -0
  30. package/dist/cjs/server/authenticate/admin/scope/revoke.js +41 -0
  31. package/dist/cjs/server/authenticate/admin/scope/revoke.js.map +1 -0
  32. package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js +5 -0
  33. package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js.map +1 -1
  34. package/dist/cjs/server/authenticate/admin/strategies/merchant-custom-app.js +39 -0
  35. package/dist/cjs/server/authenticate/admin/strategies/merchant-custom-app.js.map +1 -0
  36. package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js +9 -1
  37. package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js.map +1 -1
  38. package/dist/cjs/server/authenticate/flow/authenticate.js.map +1 -1
  39. package/dist/cjs/server/authenticate/fulfillment-service/authenticate.js +5 -3
  40. package/dist/cjs/server/authenticate/fulfillment-service/authenticate.js.map +1 -1
  41. package/dist/cjs/server/authenticate/helpers/create-or-load-offline-session.js +19 -0
  42. package/dist/cjs/server/authenticate/helpers/create-or-load-offline-session.js.map +1 -0
  43. package/dist/cjs/server/authenticate/helpers/invalidate-access-token.js.map +1 -1
  44. package/dist/cjs/server/authenticate/public/appProxy/authenticate.js.map +1 -1
  45. package/dist/cjs/server/authenticate/public/extension/authenticate.js +1 -0
  46. package/dist/cjs/server/authenticate/public/extension/authenticate.js.map +1 -1
  47. package/dist/cjs/server/authenticate/webhooks/authenticate.js +4 -3
  48. package/dist/cjs/server/authenticate/webhooks/authenticate.js.map +1 -1
  49. package/dist/cjs/server/boundary/headers.js.map +1 -1
  50. package/dist/cjs/server/future/flags.js +3 -0
  51. package/dist/cjs/server/future/flags.js.map +1 -1
  52. package/dist/cjs/server/shopify-app.js +22 -5
  53. package/dist/cjs/server/shopify-app.js.map +1 -1
  54. package/dist/cjs/server/test-helpers/index.js +8 -0
  55. package/dist/cjs/server/test-helpers/index.js.map +1 -0
  56. package/dist/cjs/server/test-helpers/test-config.js +33 -0
  57. package/dist/cjs/server/test-helpers/test-config.js.map +1 -0
  58. package/dist/cjs/server/unauthenticated/helpers/get-offline-session.js +4 -3
  59. package/dist/cjs/server/unauthenticated/helpers/get-offline-session.js.map +1 -1
  60. package/dist/cjs/server/version.js +1 -1
  61. package/dist/cjs/session-storage/shopify-app-session-storage-memory/dist/esm/memory.js +29 -0
  62. package/dist/cjs/session-storage/shopify-app-session-storage-memory/dist/esm/memory.js.map +1 -0
  63. package/dist/esm/server/adapters/node/index.mjs +1 -0
  64. package/dist/esm/server/adapters/node/index.mjs.map +1 -1
  65. package/dist/esm/server/authenticate/admin/authenticate.mjs +19 -8
  66. package/dist/esm/server/authenticate/admin/authenticate.mjs.map +1 -1
  67. package/dist/esm/server/authenticate/admin/billing/cancel.mjs +1 -0
  68. package/dist/esm/server/authenticate/admin/billing/cancel.mjs.map +1 -1
  69. package/dist/esm/server/authenticate/admin/billing/check.mjs +2 -1
  70. package/dist/esm/server/authenticate/admin/billing/check.mjs.map +1 -1
  71. package/dist/esm/server/authenticate/admin/billing/request.mjs +1 -0
  72. package/dist/esm/server/authenticate/admin/billing/request.mjs.map +1 -1
  73. package/dist/esm/server/authenticate/admin/billing/require.mjs +1 -0
  74. package/dist/esm/server/authenticate/admin/billing/require.mjs.map +1 -1
  75. package/dist/esm/server/authenticate/admin/helpers/redirect-to-install-page.mjs +35 -0
  76. package/dist/esm/server/authenticate/admin/helpers/redirect-to-install-page.mjs.map +1 -0
  77. package/dist/esm/server/authenticate/admin/helpers/redirect.mjs +57 -4
  78. package/dist/esm/server/authenticate/admin/helpers/redirect.mjs.map +1 -1
  79. package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs +13 -2
  80. package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs.map +1 -1
  81. package/dist/esm/server/authenticate/admin/scope/client/fetch-scopes-details.mjs +24 -0
  82. package/dist/esm/server/authenticate/admin/scope/client/fetch-scopes-details.mjs.map +1 -0
  83. package/dist/esm/server/authenticate/admin/scope/client/revoke-scopes.mjs +24 -0
  84. package/dist/esm/server/authenticate/admin/scope/client/revoke-scopes.mjs.map +1 -0
  85. package/dist/esm/server/authenticate/admin/scope/factory.mjs +14 -0
  86. package/dist/esm/server/authenticate/admin/scope/factory.mjs.map +1 -0
  87. package/dist/esm/server/authenticate/admin/scope/query.mjs +27 -0
  88. package/dist/esm/server/authenticate/admin/scope/query.mjs.map +1 -0
  89. package/dist/esm/server/authenticate/admin/scope/request.mjs +23 -0
  90. package/dist/esm/server/authenticate/admin/scope/request.mjs.map +1 -0
  91. package/dist/esm/server/authenticate/admin/scope/revoke.mjs +39 -0
  92. package/dist/esm/server/authenticate/admin/scope/revoke.mjs.map +1 -0
  93. package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs +5 -0
  94. package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs.map +1 -1
  95. package/dist/esm/server/authenticate/admin/strategies/merchant-custom-app.mjs +37 -0
  96. package/dist/esm/server/authenticate/admin/strategies/merchant-custom-app.mjs.map +1 -0
  97. package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs +9 -1
  98. package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs.map +1 -1
  99. package/dist/esm/server/authenticate/flow/authenticate.mjs.map +1 -1
  100. package/dist/esm/server/authenticate/fulfillment-service/authenticate.mjs +5 -3
  101. package/dist/esm/server/authenticate/fulfillment-service/authenticate.mjs.map +1 -1
  102. package/dist/esm/server/authenticate/helpers/create-or-load-offline-session.mjs +17 -0
  103. package/dist/esm/server/authenticate/helpers/create-or-load-offline-session.mjs.map +1 -0
  104. package/dist/esm/server/authenticate/helpers/invalidate-access-token.mjs.map +1 -1
  105. package/dist/esm/server/authenticate/public/appProxy/authenticate.mjs.map +1 -1
  106. package/dist/esm/server/authenticate/public/extension/authenticate.mjs +1 -0
  107. package/dist/esm/server/authenticate/public/extension/authenticate.mjs.map +1 -1
  108. package/dist/esm/server/authenticate/webhooks/authenticate.mjs +4 -3
  109. package/dist/esm/server/authenticate/webhooks/authenticate.mjs.map +1 -1
  110. package/dist/esm/server/boundary/headers.mjs.map +1 -1
  111. package/dist/esm/server/future/flags.mjs +3 -0
  112. package/dist/esm/server/future/flags.mjs.map +1 -1
  113. package/dist/esm/server/shopify-app.mjs +22 -5
  114. package/dist/esm/server/shopify-app.mjs.map +1 -1
  115. package/dist/esm/server/test-helpers/index.mjs +2 -0
  116. package/dist/esm/server/test-helpers/index.mjs.map +1 -0
  117. package/dist/esm/server/test-helpers/test-config.mjs +31 -0
  118. package/dist/esm/server/test-helpers/test-config.mjs.map +1 -0
  119. package/dist/esm/server/unauthenticated/helpers/get-offline-session.mjs +4 -3
  120. package/dist/esm/server/unauthenticated/helpers/get-offline-session.mjs.map +1 -1
  121. package/dist/esm/server/version.mjs +1 -1
  122. package/dist/esm/session-storage/shopify-app-session-storage-memory/dist/esm/memory.mjs +27 -0
  123. package/dist/esm/session-storage/shopify-app-session-storage-memory/dist/esm/memory.mjs.map +1 -0
  124. package/dist/ts/server/authenticate/admin/authenticate.d.ts.map +1 -1
  125. package/dist/ts/server/authenticate/admin/billing/check.d.ts +1 -1
  126. package/dist/ts/server/authenticate/admin/billing/check.d.ts.map +1 -1
  127. package/dist/ts/server/authenticate/admin/billing/types.d.ts +21 -4
  128. package/dist/ts/server/authenticate/admin/billing/types.d.ts.map +1 -1
  129. package/dist/ts/server/authenticate/admin/helpers/redirect-to-install-page.d.ts +3 -0
  130. package/dist/ts/server/authenticate/admin/helpers/redirect-to-install-page.d.ts.map +1 -0
  131. package/dist/ts/server/authenticate/admin/helpers/redirect.d.ts +2 -2
  132. package/dist/ts/server/authenticate/admin/helpers/redirect.d.ts.map +1 -1
  133. package/dist/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts +1 -1
  134. package/dist/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts.map +1 -1
  135. package/dist/ts/server/authenticate/admin/scope/client/fetch-scopes-details.d.ts +18 -0
  136. package/dist/ts/server/authenticate/admin/scope/client/fetch-scopes-details.d.ts.map +1 -0
  137. package/dist/ts/server/authenticate/admin/scope/client/revoke-scopes.d.ts +12 -0
  138. package/dist/ts/server/authenticate/admin/scope/client/revoke-scopes.d.ts.map +1 -0
  139. package/dist/ts/server/authenticate/admin/scope/factory.d.ts +6 -0
  140. package/dist/ts/server/authenticate/admin/scope/factory.d.ts.map +1 -0
  141. package/dist/ts/server/authenticate/admin/scope/query.d.ts +8 -0
  142. package/dist/ts/server/authenticate/admin/scope/query.d.ts.map +1 -0
  143. package/dist/ts/server/authenticate/admin/scope/request.d.ts +5 -0
  144. package/dist/ts/server/authenticate/admin/scope/request.d.ts.map +1 -0
  145. package/dist/ts/server/authenticate/admin/scope/revoke.d.ts +7 -0
  146. package/dist/ts/server/authenticate/admin/scope/revoke.d.ts.map +1 -0
  147. package/dist/ts/server/authenticate/admin/scope/types.d.ts +14 -0
  148. package/dist/ts/server/authenticate/admin/scope/types.d.ts.map +1 -0
  149. package/dist/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts.map +1 -1
  150. package/dist/ts/server/authenticate/admin/strategies/merchant-custom-app.d.ts +16 -0
  151. package/dist/ts/server/authenticate/admin/strategies/merchant-custom-app.d.ts.map +1 -0
  152. package/dist/ts/server/authenticate/admin/strategies/token-exchange.d.ts.map +1 -1
  153. package/dist/ts/server/authenticate/admin/types.d.ts +12 -3
  154. package/dist/ts/server/authenticate/admin/types.d.ts.map +1 -1
  155. package/dist/ts/server/authenticate/fulfillment-service/authenticate.d.ts.map +1 -1
  156. package/dist/ts/server/authenticate/helpers/create-or-load-offline-session.d.ts +3 -0
  157. package/dist/ts/server/authenticate/helpers/create-or-load-offline-session.d.ts.map +1 -0
  158. package/dist/ts/server/authenticate/helpers/index.d.ts +1 -0
  159. package/dist/ts/server/authenticate/helpers/index.d.ts.map +1 -1
  160. package/dist/ts/server/authenticate/webhooks/authenticate.d.ts.map +1 -1
  161. package/dist/ts/server/config-types.d.ts +5 -2
  162. package/dist/ts/server/config-types.d.ts.map +1 -1
  163. package/dist/ts/server/future/flags.d.ts +7 -0
  164. package/dist/ts/server/future/flags.d.ts.map +1 -1
  165. package/dist/ts/server/index.d.ts +2 -1
  166. package/dist/ts/server/index.d.ts.map +1 -1
  167. package/dist/ts/server/shopify-app.d.ts.map +1 -1
  168. package/dist/ts/server/test-helpers/index.d.ts +2 -0
  169. package/dist/ts/server/test-helpers/index.d.ts.map +1 -0
  170. package/dist/ts/server/test-helpers/test-config.d.ts +36 -0
  171. package/dist/ts/server/test-helpers/test-config.d.ts.map +1 -0
  172. package/dist/ts/server/types-contexts.d.ts +4 -1
  173. package/dist/ts/server/types-contexts.d.ts.map +1 -1
  174. package/dist/ts/server/types.d.ts +6 -3
  175. package/dist/ts/server/types.d.ts.map +1 -1
  176. package/dist/ts/server/unauthenticated/helpers/get-offline-session.d.ts +1 -1
  177. package/dist/ts/server/unauthenticated/helpers/get-offline-session.d.ts.map +1 -1
  178. package/dist/ts/server/version.d.ts +1 -1
  179. package/dist/tsconfig.build.tsbuildinfo +1 -1
  180. package/package.json +36 -31
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../src/server/adapters/node/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AASA,SAAS,CAAC,MAAa,CAAC,CAAC;AAEzB,wBAAwB,CAAC,MAAK;AAC5B,IAAA,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH;AACA,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;AAC9B,IAAA,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACtD,CAAC;AACD"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../src/server/adapters/node/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AASA,SAAS,CAAC,MAAa,CAAC,CAAC;AAEzB,wBAAwB,CAAC,MAAK;AAC5B,IAAA,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH;AACA,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;AAC9B,IAAA,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACtD,CAAC;AACD"}
@@ -4,6 +4,7 @@ import { getSessionTokenHeader, getSessionTokenFromUrlParam } from '../helpers/g
4
4
  import { respondToBotRequest } from '../helpers/reject-bot-request.mjs';
5
5
  import { respondToOptionsRequest } from '../helpers/respond-to-options-request.mjs';
6
6
  import '@remix-run/server-runtime';
7
+ import '../../types.mjs';
7
8
  import { cancelBillingFactory } from './billing/cancel.mjs';
8
9
  import { requireBillingFactory } from './billing/require.mjs';
9
10
  import { requestBillingFactory } from './billing/request.mjs';
@@ -15,6 +16,7 @@ import '@shopify/shopify-api';
15
16
  import { redirectFactory } from './helpers/redirect.mjs';
16
17
  import { renderAppBridge } from './helpers/render-app-bridge.mjs';
17
18
  import { validateShopAndHostParams } from './helpers/validate-shop-and-host-params.mjs';
19
+ import { scopesApiFactory } from './scope/factory.mjs';
18
20
 
19
21
  function authStrategyFactory({ strategy, ...params }) {
20
22
  const { api, logger, config } = params;
@@ -34,7 +36,7 @@ function authStrategyFactory({ strategy, ...params }) {
34
36
  }
35
37
  }
36
38
  function createContext(request, session, authStrategy, sessionToken) {
37
- const context = {
39
+ let context = {
38
40
  admin: createAdminApiContext(session, params, authStrategy.handleClientError(request)),
39
41
  billing: {
40
42
  require: requireBillingFactory(params, request, session),
@@ -45,16 +47,28 @@ function authStrategyFactory({ strategy, ...params }) {
45
47
  session,
46
48
  cors: ensureCORSHeadersFactory(params, request),
47
49
  };
50
+ context = addEmbeddedFeatures(context, request, session, sessionToken);
51
+ context = addScopesFeatures(context);
52
+ return context;
53
+ }
54
+ function addEmbeddedFeatures(context, request, session, sessionToken) {
48
55
  if (config.isEmbeddedApp) {
49
56
  return {
50
57
  ...context,
51
58
  sessionToken,
52
- redirect: redirectFactory(params, request),
59
+ redirect: redirectFactory(params, request, session.shop),
53
60
  };
54
61
  }
55
- else {
56
- return context;
62
+ return context;
63
+ }
64
+ function addScopesFeatures(context) {
65
+ if (config.future.wip_optionalScopesApi) {
66
+ return {
67
+ ...context,
68
+ scopes: scopesApiFactory(params, context.session, context.admin),
69
+ };
57
70
  }
71
+ return context;
58
72
  }
59
73
  return async function authenticateAdmin(request) {
60
74
  try {
@@ -81,14 +95,11 @@ function authStrategyFactory({ strategy, ...params }) {
81
95
  sessionToken,
82
96
  shop,
83
97
  });
84
- logger.debug('Request is valid, loaded session from session token', {
85
- shop: session.shop,
86
- isOnline: session.isOnline,
87
- });
88
98
  return createContext(request, session, strategy, payload);
89
99
  }
90
100
  catch (errorOrResponse) {
91
101
  if (errorOrResponse instanceof Response) {
102
+ logger.debug('Authenticate returned a response');
92
103
  ensureCORSHeadersFactory(params, request)(errorOrResponse);
93
104
  }
94
105
  throw errorOrResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.mjs","sources":["../../../../../../src/server/authenticate/admin/authenticate.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA8CM,SAAU,mBAAmB,CAGjC,EACA,QAAQ,EACR,GAAG,MAAM,EACU,EAAA;IACnB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAErC,eAAe,0BAA0B,CAAC,OAAgB,EAAA;QACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACtD,YAAA,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACtC,YAAA,MAAM,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,EAAE,OAAO,CAAC,CAAC;SACvD;KACF;IAED,eAAe,0BAA0B,CAAC,OAAgB,EAAA;QACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE;YAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;YAExD,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAC,WAAW,EAAC,CAAC,CAAC;AAC1D,YAAA,MAAM,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,EAAE,OAAO,EAAE,EAAC,GAAG,EAAE,WAAW,EAAC,CAAC,CAAC;SAC3E;KACF;IAED,SAAS,aAAa,CACpB,OAAgB,EAChB,OAAgB,EAChB,YAAmC,EACnC,YAAyB,EAAA;AAEzB,QAAA,MAAM,OAAO,GAEuC;AAClD,YAAA,KAAK,EAAE,qBAAqB,CAC1B,OAAO,EACP,MAAM,EACN,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CACxC;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;gBACxD,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;gBACpD,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;gBACxD,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;AACvD,aAAA;YACD,OAAO;AACP,YAAA,IAAI,EAAE,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC;SAChD,CAAC;AAEF,QAAA,IAAI,MAAM,CAAC,aAAa,EAAE;YACxB,OAAO;AACL,gBAAA,GAAG,OAAO;gBACV,YAAY;AACZ,gBAAA,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC;aACL,CAAC;SACzC;aAAM;AACL,YAAA,OAAO,OAA6C,CAAC;SACtD;KACF;AAED,IAAA,OAAO,eAAe,iBAAiB,CAAC,OAAgB,EAAA;AACtD,QAAA,IAAI;AACF,YAAA,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,YAAA,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzC,YAAA,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAC1C,YAAA,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAC1C,YAAA,MAAM,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;;;AAI/C,YAAA,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;AACnC,gBAAA,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,gBAAA,MAAM,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,gBAAA,MAAM,uCAAuC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aAChE;AAED,YAAA,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;AAE5C,YAAA,MAAM,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAC,GAC5C,MAAM,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAEhD,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAC,SAAS,EAAC,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAG,SAAS;kBAC7B,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC;kBAClD,SAAS,CAAC;YAEd,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;AACnD,gBAAA,OAAO,EAAE,eAAe;gBACxB,YAAY;gBACZ,IAAI;AACL,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;gBAClE,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC3B,aAAA,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3D;QAAC,OAAO,eAAe,EAAE;AACxB,YAAA,IAAI,eAAe,YAAY,QAAQ,EAAE;gBACvC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC;aAC5D;AAED,YAAA,MAAM,eAAe,CAAC;SACvB;AACH,KAAC,CAAC;AACJ,CAAC;AAED,eAAe,sBAAsB,CACnC,MAAmB,EACnB,OAAgB,EAAA;IAEhB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAErC,IAAA,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC1D,IAAA,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACrE,IAAA,MAAM,YAAY,IAAI,kBAAkB,IAAI,uBAAuB,CAAE,CAAC;AAEtE,IAAA,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;AACvD,QAAA,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;AAC3B,YAAA,MAAM,EAAE,kBAAkB;AAC1B,YAAA,MAAM,EAAE,uBAAuB;SAChC,CAAC;AACH,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,MAAM,CAAC,aAAa,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE3B,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;AACxD,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe;AACtC,cAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;cAC9C,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAC,CAAC;KACjD;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IAE3C,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/C,QAAQ,EAAE,MAAM,CAAC,eAAe;AAChC,QAAA,UAAU,EAAE,OAAO;AACpB,KAAA,CAAC,CAAC;IAEH,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAC,CAAC;AAC7D;;;;"}
1
+ {"version":3,"file":"authenticate.mjs","sources":["../../../../../../src/server/authenticate/admin/authenticate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import '@remix-run/server-runtime';
3
3
  import { redirectToAuthPage } from '../helpers/redirect-to-auth-page.mjs';
4
4
  import { invalidateAccessToken } from '../../helpers/invalidate-access-token.mjs';
5
5
  import 'isbot';
6
+ import '../../../types.mjs';
6
7
 
7
8
  function cancelBillingFactory(params, request, session) {
8
9
  return async function cancelBilling(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/cancel.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;SAQgB,oBAAoB,CAClC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,aAAa,CAAC,OAA6B,EAAA;AAC/D,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,QAAA,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;AAErE,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC9B,OAAO;gBACP,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AACH,KAAC,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"cancel.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/cancel.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;SAQgB,oBAAoB,CAClC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,aAAa,CAAC,OAA6B,EAAA;AAC/D,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,QAAA,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;AAErE,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC9B,OAAO;gBACP,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AACH,KAAC,CAAC;AACJ;;;;"}
@@ -3,9 +3,10 @@ import '@remix-run/server-runtime';
3
3
  import { redirectToAuthPage } from '../helpers/redirect-to-auth-page.mjs';
4
4
  import { invalidateAccessToken } from '../../helpers/invalidate-access-token.mjs';
5
5
  import 'isbot';
6
+ import '../../../types.mjs';
6
7
 
7
8
  function checkBillingFactory(params, request, session) {
8
- return async function checkBilling(options) {
9
+ return async function checkBilling(options = {}) {
9
10
  const { api, logger } = params;
10
11
  logger.debug('Checking billing plans', { shop: session.shop, ...options });
11
12
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"check.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/check.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;SASgB,mBAAmB,CACjC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,YAAY,CAAC,OAAoC,EAAA;AACrE,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,QAAA,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;AAEzE,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,KAAiB;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AACH,KAAC,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"check.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/check.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;SASgB,mBAAmB,CACjC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,YAAY,CAChC,UAAuC,EAAE,EAAA;AAEzC,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,QAAA,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;AAEzE,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,KAAiB;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AACH,KAAC,CAAC;AACJ;;;;"}
@@ -4,6 +4,7 @@ import { redirectToAuthPage } from '../helpers/redirect-to-auth-page.mjs';
4
4
  import { getAppBridgeHeaders } from '../helpers/redirect-with-app-bridge-headers.mjs';
5
5
  import { invalidateAccessToken } from '../../helpers/invalidate-access-token.mjs';
6
6
  import 'isbot';
7
+ import '../../../types.mjs';
7
8
 
8
9
  function requestBillingFactory(params, request, session) {
9
10
  return async function requestBilling({ plan, isTest, returnUrl, ...overrides }) {
@@ -1 +1 @@
1
- {"version":3,"file":"request.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/request.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;SAcgB,qBAAqB,CACnC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,cAAc,CAAC,EACnC,IAAI,EACJ,MAAM,EACN,SAAS,EACT,GAAG,SAAS,EACkB,EAAA;AAC9B,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,QAAA,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI;YACJ,MAAM;YACN,SAAS;AACV,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,MAAoC,CAAC;AACzC,QAAA,IAAI;AACF,YAAA,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AACjC,gBAAA,IAAI,EAAE,IAAc;gBACpB,OAAO;gBACP,MAAM;gBACN,SAAS;AACT,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,GAAG,SAAS;AACb,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AAED,QAAA,MAAM,gBAAgB,CACpB,MAAM,EACN,OAAO,EACP,MAAM,CAAC,eAAe,EACtB,OAAO,CAAC,IAAI,CACb,CAAC;AACJ,KAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAmB,EACnB,OAAgB,EAChB,GAAW,EACX,IAAY,EAAA;AAEZ,IAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAEhC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACxC,IAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE1D,IAAI,YAAY,EAAE;;;;;AAKhB,QAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,YAAA,MAAM,EAAE,GAAG;AACX,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC;AAClC,SAAA,CAAC,CAAC;KACJ;SAAM,IAAI,iBAAiB,EAAE;AAC5B,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,IAAI;YACJ,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE;AAC1C,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,QAAQ,CAAC,CAAG,EAAA,MAAM,CAAC,IAAI,CAAC,cAAc,CAAA,CAAA,EAAI,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC,CAAC;KACtE;SAAM;;AAEL,QAAA,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;KACrB;AACH;;;;"}
1
+ {"version":3,"file":"request.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/request.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;SAcgB,qBAAqB,CACnC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,cAAc,CAAC,EACnC,IAAI,EACJ,MAAM,EACN,SAAS,EACT,GAAG,SAAS,EACkB,EAAA;AAC9B,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,QAAA,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI;YACJ,MAAM;YACN,SAAS;AACV,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,MAAoC,CAAC;AACzC,QAAA,IAAI;AACF,YAAA,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AACjC,gBAAA,IAAI,EAAE,IAAc;gBACpB,OAAO;gBACP,MAAM;gBACN,SAAS;AACT,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,GAAG,SAAS;AACb,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AAED,QAAA,MAAM,gBAAgB,CACpB,MAAM,EACN,OAAO,EACP,MAAM,CAAC,eAAe,EACtB,OAAO,CAAC,IAAI,CACb,CAAC;AACJ,KAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAmB,EACnB,OAAgB,EAChB,GAAW,EACX,IAAY,EAAA;AAEZ,IAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAEhC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACxC,IAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE1D,IAAI,YAAY,EAAE;;;;;AAKhB,QAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,YAAA,MAAM,EAAE,GAAG;AACX,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC;AAClC,SAAA,CAAC,CAAC;KACJ;SAAM,IAAI,iBAAiB,EAAE;AAC5B,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,IAAI;YACJ,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE;AAC1C,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,QAAQ,CAAC,CAAG,EAAA,MAAM,CAAC,IAAI,CAAC,cAAc,CAAA,CAAA,EAAI,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC,CAAC;KACtE;SAAM;;AAEL,QAAA,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;KACrB;AACH;;;;"}
@@ -3,6 +3,7 @@ import '@remix-run/server-runtime';
3
3
  import { redirectToAuthPage } from '../helpers/redirect-to-auth-page.mjs';
4
4
  import { invalidateAccessToken } from '../../helpers/invalidate-access-token.mjs';
5
5
  import 'isbot';
6
+ import '../../../types.mjs';
6
7
 
7
8
  function requireBillingFactory(params, request, session) {
8
9
  const { api, logger } = params;
@@ -1 +1 @@
1
- {"version":3,"file":"require.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/require.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;SAagB,qBAAqB,CACnC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,IAAA,OAAO,eAAe,cAAc,CAAC,OAAsC,EAAA;AACzE,QAAA,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;AAEF,QAAA,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC;AAE1D,QAAA,IAAI,IAAgC,CAAC;AACrC,QAAA,IAAI;AACF,YAAA,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,KAAiB;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,UAAU,CAAC,CAAC;AAExE,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC1B,YAAA,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;YACjD,MAAM,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAClE;AAED,QAAA,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAEpD,QAAA,OAAO,IAAI,CAAC;AACd,KAAC,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"require.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/require.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;SAagB,qBAAqB,CACnC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,IAAA,OAAO,eAAe,cAAc,CAAC,OAAsC,EAAA;AACzE,QAAA,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;AAEF,QAAA,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC;AAE1D,QAAA,IAAI,IAAgC,CAAC;AACrC,QAAA,IAAI;AACF,YAAA,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,KAAiB;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,UAAU,CAAC,CAAC;AAExE,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC1B,YAAA,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;YACjD,MAAM,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAClE;AAED,QAAA,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAEpD,QAAA,OAAO,IAAI,CAAC;AACd,KAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,35 @@
1
+ import { redirect } from '@remix-run/server-runtime';
2
+ import { redirectWithAppBridgeHeaders } from './redirect-with-app-bridge-headers.mjs';
3
+
4
+ async function redirectToInstallPage(params, shop, optionalScopes = []) {
5
+ const installUrl = buildInstallUrl(params, shop, optionalScopes);
6
+ if (params.config.isEmbeddedApp) {
7
+ throw redirectWithAppBridgeHeaders(installUrl);
8
+ }
9
+ else {
10
+ throw redirect(installUrl);
11
+ }
12
+ }
13
+ function buildInstallUrl(params, shop, optionalScopes = []) {
14
+ const baseInstallUrl = buildBaseInstallUrl(params, shop);
15
+ baseInstallUrl.search = buildParamsInstallUrl(params, optionalScopes).toString();
16
+ return baseInstallUrl.href;
17
+ }
18
+ function buildBaseInstallUrl({ api }, shop) {
19
+ const cleanShop = api.utils.sanitizeShop(shop, true);
20
+ return new URL(`https://${cleanShop}/admin/oauth/install`);
21
+ }
22
+ function buildParamsInstallUrl({ config }, optionalScopes = []) {
23
+ const optionalScopesParam = optionalScopes && optionalScopes.length > 0
24
+ ? { optional_scopes: optionalScopes.join(',') }
25
+ : undefined;
26
+ const query = {
27
+ client_id: config.apiKey,
28
+ scope: config.scopes?.toString() || '',
29
+ ...optionalScopesParam,
30
+ };
31
+ return new URLSearchParams(query);
32
+ }
33
+
34
+ export { redirectToInstallPage };
35
+ //# sourceMappingURL=redirect-to-install-page.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect-to-install-page.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/redirect-to-install-page.ts"],"sourcesContent":[null],"names":["remixRedirect"],"mappings":";;;AAMO,eAAe,qBAAqB,CACzC,MAAmB,EACnB,IAAY,EACZ,cAAA,GAA2B,EAAE,EAAA;IAE7B,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AACjE,IAAA,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;AAC/B,QAAA,MAAM,4BAA4B,CAAC,UAAU,CAAC,CAAC;KAChD;SAAM;AACL,QAAA,MAAMA,QAAa,CAAC,UAAU,CAAC,CAAC;KACjC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,MAAmB,EACnB,IAAY,EACZ,iBAA2B,EAAE,EAAA;IAE7B,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzD,IAAA,cAAc,CAAC,MAAM,GAAG,qBAAqB,CAC3C,MAAM,EACN,cAAc,CACf,CAAC,QAAQ,EAAE,CAAC;IACb,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAC,GAAG,EAAc,EAAE,IAAY,EAAA;AAC3D,IAAA,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrD,IAAA,OAAO,IAAI,GAAG,CAAC,WAAW,SAAS,CAAA,oBAAA,CAAsB,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,qBAAqB,CAC5B,EAAC,MAAM,EAAc,EACrB,iBAA2B,EAAE,EAAA;IAE7B,MAAM,mBAAmB,GACvB,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;UACvC,EAAC,eAAe,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC;UAC3C,SAAS,CAAC;AAEhB,IAAA,MAAM,KAAK,GAAG;QACZ,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;AACtC,QAAA,GAAG,mBAAmB;KACvB,CAAC;AACF,IAAA,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACpC;;;;"}
@@ -3,11 +3,18 @@ import { getSessionTokenHeader } from '../../helpers/get-session-token-header.mj
3
3
  import { renderAppBridge } from './render-app-bridge.mjs';
4
4
  import { redirectWithAppBridgeHeaders } from './redirect-with-app-bridge-headers.mjs';
5
5
 
6
- function redirectFactory(params, request) {
7
- const { config } = params;
6
+ function redirectFactory(params, request, shop) {
7
+ const { config, logger } = params;
8
8
  return function redirect$1(url, init) {
9
9
  const { searchParams } = new URL(request.url);
10
- const parsedUrl = new URL(url, config.appUrl);
10
+ const { url: parsedUrl, target } = parseURL({
11
+ params,
12
+ url,
13
+ base: config.appUrl,
14
+ shop,
15
+ init,
16
+ });
17
+ logger.debug('Redirecting', { url: parsedUrl.toString() });
11
18
  const isSameOrigin = parsedUrl.origin === config.appUrl;
12
19
  if (isSameOrigin || url.startsWith('/')) {
13
20
  searchParams.forEach((value, key) => {
@@ -16,7 +23,6 @@ function redirectFactory(params, request) {
16
23
  }
17
24
  });
18
25
  }
19
- const target = (typeof init !== 'number' && init?.target) || '_self';
20
26
  if (target === '_self') {
21
27
  if (isBounceRequest(request)) {
22
28
  throw renderAppBridge(params, request, {
@@ -55,6 +61,53 @@ function isEmbeddedRequest(request) {
55
61
  const { searchParams } = new URL(request.url);
56
62
  return searchParams.get('embedded') === '1';
57
63
  }
64
+ function parseURL({ params, base, init, shop, url }) {
65
+ let target = typeof init !== 'number' && init?.target ? init.target : undefined;
66
+ if (isAdminRemotePath(url)) {
67
+ const { config } = params;
68
+ const adminPath = getAdminRemotePath(url);
69
+ const cleanShopName = shop.replace('.myshopify.com', '');
70
+ if (!target) {
71
+ target = config.isEmbeddedApp ? '_parent' : '_self';
72
+ }
73
+ return {
74
+ url: new URL(`https://admin.shopify.com/store/${cleanShopName}${adminPath}`),
75
+ target,
76
+ };
77
+ }
78
+ else {
79
+ return {
80
+ url: new URL(url, base),
81
+ target: target ?? '_self',
82
+ };
83
+ }
84
+ }
85
+ const ADMIN_REGEX = /^shopify:\/*admin\//i;
86
+ function isAdminRemotePath(url) {
87
+ return ADMIN_REGEX.test(url);
88
+ }
89
+ function getAdminRemotePath(url) {
90
+ const parsedUrl = removeRestrictedParams(new URL(url)).href;
91
+ return parsedUrl.replace(ADMIN_REGEX, '/');
92
+ }
93
+ const embeddedFrameParamsToRemove = [
94
+ 'hmac',
95
+ 'locale',
96
+ 'protocol',
97
+ 'session',
98
+ 'id_token',
99
+ 'shop',
100
+ 'timestamp',
101
+ 'host',
102
+ 'embedded',
103
+ // sent when clicking rel="home" nav item
104
+ 'appLoadId',
105
+ ];
106
+ function removeRestrictedParams(url) {
107
+ const newUrl = new URL(url);
108
+ embeddedFrameParamsToRemove.forEach((param) => newUrl.searchParams.delete(param));
109
+ return newUrl;
110
+ }
58
111
 
59
112
  export { redirectFactory };
60
113
  //# sourceMappingURL=redirect.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"redirect.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/redirect.ts"],"sourcesContent":[null],"names":["redirect","remixRedirect"],"mappings":";;;;;AAkBgB,SAAA,eAAe,CAC7B,MAAmB,EACnB,OAAgB,EAAA;AAEhB,IAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,IAAA,OAAO,SAASA,UAAQ,CAAC,GAAG,EAAE,IAAkB,EAAA;QAC9C,MAAM,EAAC,YAAY,EAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;QACxD,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;gBAClC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACpC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBACxC;AACH,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AACrE,QAAA,IAAI,MAAM,KAAK,OAAO,EAAE;AACtB,YAAA,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE;AAC5B,gBAAA,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE;AACrC,oBAAA,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE;oBACzB,MAAM;AACP,iBAAA,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAOC,QAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;aAClD;SACF;AAAM,aAAA,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;AACjC,YAAA,MAAM,4BAA4B,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1D;AAAM,aAAA,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;AACrC,YAAA,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE;AACrC,gBAAA,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE;gBACzB,MAAM;AACP,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,OAAOA,QAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClC,KAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB,EAAA;AACvC,IAAA,QACE,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EACvC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAgB,EAAA;AACrC,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;IACvC,MAAM,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnE,IAAA,QACE,kBAAkB;QAClB,CAAC,eAAe,CAAC,OAAO,CAAC;SACxB,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EACvC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB,EAAA;IACzC,MAAM,EAAC,YAAY,EAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE5C,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;AAC9C;;;;"}
1
+ {"version":3,"file":"redirect.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/redirect.ts"],"sourcesContent":[null],"names":["redirect","remixRedirect"],"mappings":"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"}
@@ -9,17 +9,28 @@ function validateShopAndHostParams(params, request) {
9
9
  logger.debug('Missing or invalid shop, redirecting to login path', {
10
10
  shop,
11
11
  });
12
- throw redirect(config.auth.loginPath);
12
+ throw redirectToLoginPath(request, params);
13
13
  }
14
14
  const host = api.utils.sanitizeHost(url.searchParams.get('host'));
15
15
  if (!host) {
16
16
  logger.debug('Invalid host, redirecting to login path', {
17
17
  host: url.searchParams.get('host'),
18
18
  });
19
- throw redirect(config.auth.loginPath);
19
+ throw redirectToLoginPath(request, params);
20
20
  }
21
21
  }
22
22
  }
23
+ function redirectToLoginPath(request, params) {
24
+ const { config, logger } = params;
25
+ const { pathname } = new URL(request.url);
26
+ if (pathname === config.auth.loginPath) {
27
+ const message = `Detected call to shopify.authenticate.admin() from configured login path ` +
28
+ `('${config.auth.loginPath}'), please make sure to call shopify.login() from that route instead.`;
29
+ logger.debug(message);
30
+ throw new Response(message, { status: 500 });
31
+ }
32
+ throw redirect(config.auth.loginPath);
33
+ }
23
34
 
24
35
  export { validateShopAndHostParams };
25
36
  //# sourceMappingURL=validate-shop-and-host-params.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-shop-and-host-params.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/validate-shop-and-host-params.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGgB,SAAA,yBAAyB,CACvC,MAAmB,EACnB,OAAgB,EAAA;IAEhB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAErC,IAAA,IAAI,MAAM,CAAC,aAAa,EAAE;QACxB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACjC,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;gBACjE,IAAI;AACL,aAAA,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvC;AAED,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBACtD,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AACnC,aAAA,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvC;KACF;AACH;;;;"}
1
+ {"version":3,"file":"validate-shop-and-host-params.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/validate-shop-and-host-params.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIgB,SAAA,yBAAyB,CACvC,MAAmB,EACnB,OAAgB,EAAA;IAEhB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAErC,IAAA,IAAI,MAAM,CAAC,aAAa,EAAE;QACxB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACjC,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;gBACjE,IAAI;AACL,aAAA,CAAC,CAAC;AACH,YAAA,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAC5C;AAED,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBACtD,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AACnC,aAAA,CAAC,CAAC;AACH,YAAA,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAC5C;KACF;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB,EAAE,MAAmB,EAAA;AAChE,IAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAEhC,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;QACtC,MAAM,OAAO,GACX,CAA2E,yEAAA,CAAA;AAC3E,YAAA,CAAA,EAAA,EAAK,MAAM,CAAC,IAAI,CAAC,SAAS,uEAAuE,CAAC;AAEpG,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;KAC5C;IAED,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxC;;;;"}
@@ -0,0 +1,24 @@
1
+ const FETCH_SCOPES_DETAIL_QUERY = `#graphql
2
+ query FetchAccessScopes{
3
+ app {
4
+ requestedAccessScopes {
5
+ handle
6
+ }
7
+ optionalAccessScopes {
8
+ handle
9
+ }
10
+ installation {
11
+ accessScopes {
12
+ handle
13
+ }
14
+ }
15
+ }
16
+ }`;
17
+ async function fetchScopeDetail(admin) {
18
+ const fetchScopeDetailResult = await admin.graphql(FETCH_SCOPES_DETAIL_QUERY);
19
+ const resultContent = await fetchScopeDetailResult.json();
20
+ return resultContent.data;
21
+ }
22
+
23
+ export { fetchScopeDetail };
24
+ //# sourceMappingURL=fetch-scopes-details.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-scopes-details.mjs","sources":["../../../../../../../../src/server/authenticate/admin/scope/client/fetch-scopes-details.ts"],"sourcesContent":[null],"names":[],"mappings":"AAkBA,MAAM,yBAAyB,GAAG,CAAA;;;;;;;;;;;;;;;EAehC,CAAC;AAEI,eAAe,gBAAgB,CACpC,KAAsB,EAAA;IAEtB,MAAM,sBAAsB,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAE9E,IAAA,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,CAAC;IAC1D,OAAO,aAAa,CAAC,IAAI,CAAC;AAC5B;;;;"}
@@ -0,0 +1,24 @@
1
+ const REVOKE_SCOPE_MUTATION = `#graphql
2
+ mutation AppRevokeAccessScopes($scopes: [String!]!) {
3
+ appRevokeAccessScopes(scopes: $scopes){
4
+ revoked {
5
+ handle
6
+ }
7
+ userErrors {
8
+ field
9
+ message
10
+ }
11
+ }
12
+ }`;
13
+ async function revokeScopes(admin, scopes) {
14
+ const revokeScopesResult = await admin.graphql(REVOKE_SCOPE_MUTATION, {
15
+ variables: {
16
+ scopes,
17
+ },
18
+ });
19
+ const resultContent = await revokeScopesResult.json();
20
+ return resultContent.data;
21
+ }
22
+
23
+ export { revokeScopes };
24
+ //# sourceMappingURL=revoke-scopes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke-scopes.mjs","sources":["../../../../../../../../src/server/authenticate/admin/scope/client/revoke-scopes.ts"],"sourcesContent":[null],"names":[],"mappings":"AAYA,MAAM,qBAAqB,GAAG,CAAA;;;;;;;;;;;EAW5B,CAAC;AAEI,eAAe,YAAY,CAChC,KAAsB,EACtB,MAAgB,EAAA;IAEhB,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE;AACpE,QAAA,SAAS,EAAE;YACT,MAAM;AACP,SAAA;AACF,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,aAAa,CAAC,IAAI,CAAC;AAC5B;;;;"}
@@ -0,0 +1,14 @@
1
+ import { requestScopesFactory } from './request.mjs';
2
+ import { queryScopesFactory } from './query.mjs';
3
+ import { revokeScopesFactory } from './revoke.mjs';
4
+
5
+ function scopesApiFactory(params, session, admin) {
6
+ return {
7
+ query: queryScopesFactory(params, session, admin),
8
+ request: requestScopesFactory(params, session, admin),
9
+ revoke: revokeScopesFactory(params, session, admin),
10
+ };
11
+ }
12
+
13
+ export { scopesApiFactory };
14
+ //# sourceMappingURL=factory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/factory.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;SAUgB,gBAAgB,CAC9B,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;IAEtB,OAAO;QACL,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;QACjD,OAAO,EAAE,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;QACrD,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;KACpD,CAAC;AACJ;;;;"}
@@ -0,0 +1,27 @@
1
+ import { AuthScopes } from '@shopify/shopify-api';
2
+ import { fetchScopeDetail } from './client/fetch-scopes-details.mjs';
3
+
4
+ function queryScopesFactory(params, session, admin) {
5
+ return async function queryScopes() {
6
+ const { logger } = params;
7
+ logger.debug('Querying scopes details: ', {
8
+ shop: session.shop,
9
+ });
10
+ const scopesDetail = await fetchScopeDetail(admin);
11
+ return mapFetchScopeDetail(scopesDetail);
12
+ };
13
+ }
14
+ function mapFetchScopeDetail(scopesDetailResponse) {
15
+ const appInformation = scopesDetailResponse.app;
16
+ const granted = new AuthScopes(appInformation.installation.accessScopes.map((scope) => scope.handle));
17
+ const required = new AuthScopes(appInformation.requestedAccessScopes.map((scope) => scope.handle));
18
+ const optional = new AuthScopes(appInformation.optionalAccessScopes.map((scope) => scope.handle));
19
+ return {
20
+ granted: granted.toArray(),
21
+ required: required.toArray(),
22
+ optional: optional.toArray(),
23
+ };
24
+ }
25
+
26
+ export { mapFetchScopeDetail, queryScopesFactory };
27
+ //# sourceMappingURL=query.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/query.ts"],"sourcesContent":[null],"names":[],"mappings":";;;SAWgB,kBAAkB,CAChC,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;IAEtB,OAAO,eAAe,WAAW,GAAA;AAC/B,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;YACxC,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACnD,QAAA,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC3C,KAAC,CAAC;AACJ,CAAC;AAEK,SAAU,mBAAmB,CACjC,oBAA+C,EAAA;AAE/C,IAAA,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC;IAEhD,MAAM,OAAO,GAAG,IAAI,UAAU,CAC5B,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CACtE,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,UAAU,CAC7B,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAClE,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,UAAU,CAC7B,cAAc,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CACjE,CAAC;IAEF,OAAO;AACL,QAAA,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;AAC1B,QAAA,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE;AAC5B,QAAA,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE;KAC7B,CAAC;AACJ;;;;"}
@@ -0,0 +1,23 @@
1
+ import { AuthScopes } from '@shopify/shopify-api';
2
+ import { redirectToInstallPage } from '../helpers/redirect-to-install-page.mjs';
3
+ import { fetchScopeDetail } from './client/fetch-scopes-details.mjs';
4
+
5
+ function requestScopesFactory(params, session, admin) {
6
+ return async function requestScopes(scopes) {
7
+ const { logger } = params;
8
+ logger.debug('Requesting optional scopes: ', { shop: session.shop, scopes });
9
+ if (scopes.length === 0)
10
+ return;
11
+ if (await alreadyGranted(scopes, admin))
12
+ return;
13
+ throw await redirectToInstallPage(params, session.shop, scopes);
14
+ };
15
+ async function alreadyGranted(scopes, admin) {
16
+ const scopesDetail = await fetchScopeDetail(admin);
17
+ const grantedScopes = scopesDetail.app.installation.accessScopes.map((scope) => scope.handle);
18
+ return new AuthScopes(grantedScopes).has(scopes);
19
+ }
20
+ }
21
+
22
+ export { requestScopesFactory };
23
+ //# sourceMappingURL=request.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/request.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;SAQgB,oBAAoB,CAClC,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;AAEtB,IAAA,OAAO,eAAe,aAAa,CAAC,MAAgB,EAAA;AAClD,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;AAE3E,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;AAChC,QAAA,IAAI,MAAM,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,OAAO;QAEhD,MAAM,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClE,KAAC,CAAC;AAEF,IAAA,eAAe,cAAc,CAAC,MAAgB,EAAE,KAAsB,EAAA;AACpE,QAAA,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAClE,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CACxB,CAAC;QACF,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KAClD;AACH;;;;"}
@@ -0,0 +1,39 @@
1
+ import { revokeScopes } from './client/revoke-scopes.mjs';
2
+ import { fetchScopeDetail } from './client/fetch-scopes-details.mjs';
3
+ import { mapFetchScopeDetail } from './query.mjs';
4
+
5
+ function revokeScopesFactory(params, session, admin) {
6
+ return async function revoke(scopes) {
7
+ const { logger } = params;
8
+ logger.debug('Revoke scopes: ', {
9
+ shop: session.shop,
10
+ scopes,
11
+ });
12
+ await validateScopes(scopes);
13
+ const revokeScopesResult = await revokeScopes(admin, scopes);
14
+ if (revokeScopesResult.userErrors?.length > 0) {
15
+ logger.error('Failed to revoke scopes: ', {
16
+ shop: session.shop,
17
+ errors: revokeScopesResult.userErrors,
18
+ });
19
+ throw new Response(JSON.stringify(revokeScopesResult.userErrors), {
20
+ status: 422,
21
+ headers: {
22
+ 'Content-Type': 'application/json',
23
+ },
24
+ });
25
+ }
26
+ const scopesDetail = await fetchScopeDetail(admin);
27
+ return {
28
+ detail: mapFetchScopeDetail(scopesDetail),
29
+ };
30
+ };
31
+ }
32
+ async function validateScopes(scopes) {
33
+ if (!scopes || scopes.length === 0) {
34
+ throw new Response('No scopes provided', { status: 400 });
35
+ }
36
+ }
37
+
38
+ export { revokeScopesFactory };
39
+ //# sourceMappingURL=revoke.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/revoke.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;SASgB,mBAAmB,CACjC,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;AAEtB,IAAA,OAAO,eAAe,MAAM,CAAC,MAAgB,EAAA;AAC3C,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM;AACP,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7C,YAAA,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,kBAAkB,CAAC,UAAU;AACtC,aAAA,CAAC,CAAC;YAEH,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;AAChE,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,kBAAkB;AACnC,iBAAA;AACF,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO;AACL,YAAA,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC;SAC1C,CAAC;AACJ,KAAC,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC,MAAgB,EAAA;IAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;KACzD;AACH;;;;"}
@@ -9,6 +9,7 @@ import { getSessionTokenHeader } from '../../helpers/get-session-token-header.mj
9
9
  import { triggerAfterAuthHook } from '../helpers/trigger-after-auth-hook.mjs';
10
10
  import { validateShopAndHostParams } from '../helpers/validate-shop-and-host-params.mjs';
11
11
  import 'isbot';
12
+ import '../../../types.mjs';
12
13
 
13
14
  class AuthCodeFlowStrategy {
14
15
  api;
@@ -133,6 +134,10 @@ class AuthCodeFlowStrategy {
133
134
  logger.info('Requesting online access token for offline session');
134
135
  await beginAuth({ api, config, logger }, request, true, shop);
135
136
  }
137
+ logger.debug('Request is valid, loaded session from OAuth callback', {
138
+ shop: session.shop,
139
+ isOnline: session.isOnline,
140
+ });
136
141
  await triggerAfterAuthHook({ api, config, logger }, session, request, this);
137
142
  throw await redirectToShopifyOrAppRoot(request, { api, config, logger }, responseHeaders);
138
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth-code-flow.mjs","sources":["../../../../../../../src/server/authenticate/admin/strategies/auth-code-flow.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-code-flow.mjs","sources":["../../../../../../../src/server/authenticate/admin/strategies/auth-code-flow.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;MA+Ba,oBAAoB,CAAA;AAKrB,IAAA,GAAG,CAIX;AAEQ,IAAA,MAAM,CAAY;AAClB,IAAA,MAAM,CAAoB;AAEpC,IAAA,WAAA,CAAmB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAc,EAAA;AACnD,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;IAEM,MAAM,sBAAsB,CAAC,OAAgB,EAAA;AAClD,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;QAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,MAAM,qBAAqB,GAAG,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;AAExE,QAAA,IAAI,aAAa,IAAI,qBAAqB,EAAE;AAC1C,YAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;AACnE,YAAA,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;YAEtE,IAAI,aAAa,EAAE;gBACjB,MAAM,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACxD;iBAAM;gBACL,MAAM,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC3D;SACF;AAED,QAAA,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;;;;AAInC,YAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;SAC3C;KACF;AAEM,IAAA,MAAM,YAAY,CACvB,OAAgB,EAChB,cAA8B,EAAA;QAE9B,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;AAEnC,QAAA,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,cAAc,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;AAC/D,YAAA,MAAM,kBAAkB,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChE;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC3C,MAAM,CAAC,KAAK,CACV,2DAA2D,EAC3D,EAAC,IAAI,EAAC,CACP,CAAC;AACF,YAAA,MAAM,kBAAkB,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChE;QAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;AAE9C,QAAA,OAAO,OAAQ,CAAC;KACjB;AAEM,IAAA,iBAAiB,CAAC,OAAgB,EAAA;QACvC,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;AACnC,QAAA,OAAO,wBAAwB,CAAC;YAC9B,OAAO;YACP,OAAO,EAAE,OAAO,EAAC,OAAO,EAAE,KAAK,EAAiB,KAAI;gBAClD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AAC/B,oBAAA,MAAM,MAAM,kBAAkB,CAC5B,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EACrB,OAAO,EACP,OAAO,CAAC,IAAI,CACb,CAAC;iBACH;aACF;AACF,SAAA,CAAC,CAAC;KACJ;IAEO,MAAM,qBAAqB,CAAC,OAAgB,EAAA;QAClD,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;QAEnC,yBAAyB,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;QAGxC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;QAE1D,IAAI,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE;AAC5C,YAAA,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;AACjE,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA,CAAC,CAAC;SACJ;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7D,QAAA,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;QAE5D,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE;gBACjE,IAAI;AACL,aAAA,CAAC,CAAC;YACH,IAAI,UAAU,EAAE;AACd,gBAAA,sBAAsB,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,IAAK,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,MAAM,SAAS,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAK,CAAC,CAAC;aACrE;SACF;AAED,QAAA,IAAI,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC;AAEnC,QAAA,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE;AACvC,YAAA,IAAI;AACF,gBAAA,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;oBACjE,IAAI;AACL,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAEvC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;aACvE;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;aAC9D;SACF;KACF;AAEO,IAAA,MAAM,sBAAsB,CAClC,OAAgB,EAChB,IAAY,EAAA;QAEZ,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;QAEnC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;;QAGpD,IACE,MAAM,CAAC,aAAa;YACpB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAClD;YACA,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;AACxE,YAAA,MAAM,sBAAsB,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACpE;aAAM;AACL,YAAA,MAAM,MAAM,SAAS,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SACpE;KACF;AAEO,IAAA,MAAM,yBAAyB,CACrC,OAAgB,EAChB,IAAY,EAAA;QAEZ,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;AAEnC,QAAA,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAE/C,QAAA,IAAI;AACF,YAAA,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClE,gBAAA,UAAU,EAAE,OAAO;AACpB,aAAA,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,cAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAEnD,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC/C,gBAAA,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;AAClE,gBAAA,MAAM,SAAS,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC7D;AAED,YAAA,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE;gBACnE,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC3B,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,oBAAoB,CACxB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EACrB,OAAO,EACP,OAAO,EACP,IAAI,CACL,CAAC;AAEF,YAAA,MAAM,MAAM,0BAA0B,CACpC,OAAO,EACP,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EACrB,eAAe,CAChB,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,QAAQ;AAAE,gBAAA,MAAM,KAAK,CAAC;YAE3C,MAAM,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAC3D;KACF;IAEO,MAAM,iBAAiB,CAC7B,OAAgB,EAAA;QAEhB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,cAAe,CAAC,WAAW,CAAC,SAAU,CAAC,CAAC;KAC5D;IAEO,MAAM,iBAAiB,CAAC,OAAgB,EAAA;QAC9C,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;KACzD;IAEO,MAAM,mBAAmB,CAC/B,OAAgB,EAAA;AAEhB,QAAA,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE1C,QAAA,OAAO,IAAI;cACP,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;AAChC,cAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC,CAAC;KACtE;IAEO,MAAM,WAAW,CAAC,OAAgB,EAAA;AACxC,QAAA,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC;QAEnB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,OAAO;AACR,SAAA,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;;;;;;AAMpB,IAAA,CAAA,CAAC,CAAC;KACJ;AAEO,IAAA,MAAM,kBAAkB,CAC9B,KAAY,EACZ,OAAgB,EAChB,IAAY,EAAA;AAEZ,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;AACtB,QAAA,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAC,CAAC,CAAC;AAEpE,QAAA,IAAI,KAAK,YAAY,cAAc,EAAE;YACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACnD;QAED,IACE,KAAK,YAAY,gBAAgB;YACjC,KAAK,YAAY,iBAAiB,EAClC;AACA,YAAA,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC7B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,uBAAuB;AACpC,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC7B,YAAA,MAAM,EAAE,GAAG;AACX,YAAA,UAAU,EAAE,uBAAuB;AACpC,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,MAAM,2BAA2B,CACvC,KAAY,EACZ,OAAgB,EAChB,IAAY,EAAA;QAEZ,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;AACnC,QAAA,IAAI,KAAK,YAAY,iBAAiB,EAAE;YACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AAC/B,gBAAA,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;oBACnE,IAAI;AACL,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,MAAM,SAAS,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aACpE;iBAAM;AACL,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,gBAAA,MAAM,CAAC,KAAK,CAAC,CAA+C,4CAAA,EAAA,OAAO,EAAE,EAAE;oBACrE,IAAI;AACL,iBAAA,CAAC,CAAC;AAEH,gBAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,oBAAA,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;AAC3B,oBAAA,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;AACtC,iBAAA,CAAC,CAAC;aACJ;SACF;AAAM,aAAA,IAAI,KAAK,YAAY,iBAAiB,EAAE;AAC7C,YAAA,MAAM,OAAO,GAA2B,EAAC,IAAI,EAAC,CAAC;AAC/C,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC/C;YAED,MAAM,CAAC,KAAK,CACV,CAA+C,4CAAA,EAAA,KAAK,CAAC,OAAO,CAAE,CAAA,EAC9D,OAAO,CACR,CAAC;AAEF,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,uBAAuB;AACpC,aAAA,CAAC,CAAC;SACJ;KACF;AACF;;;;"}