@shopify/shopify-app-remix 2.0.2 → 2.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 (113) hide show
  1. package/build/cjs/server/authenticate/admin/authenticate.js +119 -501
  2. package/build/cjs/server/authenticate/admin/billing/cancel.js +1 -0
  3. package/build/cjs/server/authenticate/admin/billing/request.js +1 -0
  4. package/build/cjs/server/authenticate/admin/billing/require.js +1 -0
  5. package/build/cjs/server/authenticate/admin/helpers/create-admin-api-context.js +18 -0
  6. package/build/cjs/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js +27 -0
  7. package/build/cjs/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js +25 -0
  8. package/build/cjs/server/authenticate/admin/helpers/redirect-to-bounce-page.js +22 -0
  9. package/build/cjs/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js +22 -0
  10. package/build/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js +21 -0
  11. package/build/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js +32 -0
  12. package/build/cjs/server/authenticate/admin/strategies/auth-code-flow.js +310 -0
  13. package/build/cjs/server/authenticate/helpers/get-session-token-header.js +6 -0
  14. package/build/cjs/server/authenticate/helpers/reject-bot-request.js +2 -2
  15. package/build/cjs/server/authenticate/public/checkout/authenticate.js +1 -1
  16. package/build/cjs/server/authenticate/public/factory.js +14 -5
  17. package/build/cjs/server/authenticate/webhooks/authenticate.js +14 -5
  18. package/build/cjs/server/clients/admin/graphql.js +6 -8
  19. package/build/cjs/server/shopify-app.js +12 -6
  20. package/build/cjs/server/version.js +1 -1
  21. package/build/ts/server/__test-helpers/test-config.d.ts +36 -6
  22. package/build/ts/server/__test-helpers/test-config.d.ts.map +1 -1
  23. package/build/ts/server/__test-helpers/test-config.js +34 -6
  24. package/build/ts/server/__test-helpers/test-config.js.map +1 -1
  25. package/build/ts/server/authenticate/admin/authenticate.d.ts +8 -25
  26. package/build/ts/server/authenticate/admin/authenticate.d.ts.map +1 -1
  27. package/build/ts/server/authenticate/admin/authenticate.js +124 -488
  28. package/build/ts/server/authenticate/admin/authenticate.js.map +1 -1
  29. package/build/ts/server/authenticate/admin/billing/types.d.ts +11 -3
  30. package/build/ts/server/authenticate/admin/billing/types.d.ts.map +1 -1
  31. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts +5 -0
  32. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts.map +1 -0
  33. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.js +16 -0
  34. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.js.map +1 -0
  35. package/build/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.d.ts +3 -0
  36. package/build/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.d.ts.map +1 -0
  37. package/build/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js +25 -0
  38. package/build/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js.map +1 -0
  39. package/build/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.d.ts +3 -0
  40. package/build/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.d.ts.map +1 -0
  41. package/build/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js +23 -0
  42. package/build/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js.map +1 -0
  43. package/build/ts/server/authenticate/admin/helpers/index.d.ts +7 -0
  44. package/build/ts/server/authenticate/admin/helpers/index.d.ts.map +1 -1
  45. package/build/ts/server/authenticate/admin/helpers/index.js +7 -0
  46. package/build/ts/server/authenticate/admin/helpers/index.js.map +1 -1
  47. package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.d.ts +3 -0
  48. package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.d.ts.map +1 -0
  49. package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.js +16 -0
  50. package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.js.map +1 -0
  51. package/build/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.d.ts +3 -0
  52. package/build/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.d.ts.map +1 -0
  53. package/build/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js +32 -0
  54. package/build/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js.map +1 -0
  55. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts +4 -0
  56. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts.map +1 -0
  57. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.js +28 -0
  58. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.js.map +1 -0
  59. package/build/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts +3 -0
  60. package/build/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts.map +1 -0
  61. package/build/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.js +26 -0
  62. package/build/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.js.map +1 -0
  63. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts +22 -0
  64. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts.map +1 -0
  65. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.js +323 -0
  66. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.js.map +1 -0
  67. package/build/ts/server/authenticate/admin/strategies/types.d.ts +11 -0
  68. package/build/ts/server/authenticate/admin/strategies/types.d.ts.map +1 -0
  69. package/build/ts/server/authenticate/admin/strategies/types.js +3 -0
  70. package/build/ts/server/authenticate/admin/strategies/types.js.map +1 -0
  71. package/build/ts/server/authenticate/admin/types.d.ts +4 -0
  72. package/build/ts/server/authenticate/admin/types.d.ts.map +1 -1
  73. package/build/ts/server/authenticate/helpers/get-session-token-header.d.ts +1 -0
  74. package/build/ts/server/authenticate/helpers/get-session-token-header.d.ts.map +1 -1
  75. package/build/ts/server/authenticate/helpers/get-session-token-header.js +7 -1
  76. package/build/ts/server/authenticate/helpers/get-session-token-header.js.map +1 -1
  77. package/build/ts/server/authenticate/helpers/reject-bot-request.d.ts +1 -1
  78. package/build/ts/server/authenticate/helpers/reject-bot-request.d.ts.map +1 -1
  79. package/build/ts/server/authenticate/helpers/reject-bot-request.js +3 -3
  80. package/build/ts/server/authenticate/helpers/reject-bot-request.js.map +1 -1
  81. package/build/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.d.ts.map +1 -1
  82. package/build/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.js +2 -2
  83. package/build/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.js.map +1 -1
  84. package/build/ts/server/authenticate/public/appProxy/types.d.ts +6 -3
  85. package/build/ts/server/authenticate/public/appProxy/types.d.ts.map +1 -1
  86. package/build/ts/server/authenticate/public/checkout/authenticate.js +1 -1
  87. package/build/ts/server/authenticate/public/checkout/authenticate.js.map +1 -1
  88. package/build/ts/server/authenticate/public/factory.d.ts +2 -1
  89. package/build/ts/server/authenticate/public/factory.d.ts.map +1 -1
  90. package/build/ts/server/authenticate/public/factory.js +10 -2
  91. package/build/ts/server/authenticate/public/factory.js.map +1 -1
  92. package/build/ts/server/authenticate/public/types.d.ts +4 -3
  93. package/build/ts/server/authenticate/public/types.d.ts.map +1 -1
  94. package/build/ts/server/authenticate/webhooks/authenticate.d.ts.map +1 -1
  95. package/build/ts/server/authenticate/webhooks/authenticate.js +12 -2
  96. package/build/ts/server/authenticate/webhooks/authenticate.js.map +1 -1
  97. package/build/ts/server/clients/admin/graphql.js +2 -2
  98. package/build/ts/server/clients/admin/graphql.js.map +1 -1
  99. package/build/ts/server/clients/admin/types.d.ts +51 -10
  100. package/build/ts/server/clients/admin/types.d.ts.map +1 -1
  101. package/build/ts/server/clients/storefront/types.d.ts +4 -4
  102. package/build/ts/server/config-types.d.ts +5 -5
  103. package/build/ts/server/config-types.d.ts.map +1 -1
  104. package/build/ts/server/future/flags.d.ts +6 -0
  105. package/build/ts/server/future/flags.d.ts.map +1 -1
  106. package/build/ts/server/shopify-app.d.ts.map +1 -1
  107. package/build/ts/server/shopify-app.js +5 -3
  108. package/build/ts/server/shopify-app.js.map +1 -1
  109. package/build/ts/server/types.d.ts +3 -3
  110. package/build/ts/server/types.d.ts.map +1 -1
  111. package/build/ts/server/version.d.ts +1 -1
  112. package/build/ts/server/version.js +1 -1
  113. package/package.json +4 -4
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const SHOPIFY_REMIX_LIBRARY_VERSION = '2.0.2';
5
+ const SHOPIFY_REMIX_LIBRARY_VERSION = '2.2.0';
6
6
 
7
7
  exports.SHOPIFY_REMIX_LIBRARY_VERSION = SHOPIFY_REMIX_LIBRARY_VERSION;
@@ -1,11 +1,41 @@
1
+ /// <reference types="jest" />
2
+ import { LogSeverity, ShopifyRestResources } from '@shopify/shopify-api';
3
+ import { SessionStorage } from '@shopify/shopify-app-session-storage';
4
+ import { MemorySessionStorage } from '@shopify/shopify-app-session-storage-memory';
1
5
  import type { AppConfigArg } from '../config-types';
2
- import type { FutureFlags } from '../future/flags';
3
- type DefaultedFutureFlag<Overrides extends Partial<AppConfigArg>, Flag extends keyof FutureFlags> = Overrides['future'] extends FutureFlags ? Overrides['future'][Flag] : true;
4
- type TestConfig<Overrides extends Partial<AppConfigArg>> = Omit<AppConfigArg, 'billing'> & Overrides & {
5
- future: {
6
- v3_webhookAdminContext: DefaultedFutureFlag<Overrides, 'v3_webhookAdminContext'>;
6
+ import type { FutureFlagOptions } from '../future/flags';
7
+ declare const TEST_CONFIG: {
8
+ readonly apiKey: "testApiKey";
9
+ readonly apiSecretKey: "testApiSecretKey";
10
+ readonly scopes: any;
11
+ readonly apiVersion: import("@shopify/shopify-api").ApiVersion.October23;
12
+ readonly appUrl: "https://my-test-app.myshopify.io";
13
+ readonly logger: {
14
+ readonly log: jest.Mock<any, any, any>;
15
+ readonly level: LogSeverity.Debug;
7
16
  };
17
+ readonly isEmbeddedApp: true;
18
+ readonly sessionStorage: MemorySessionStorage;
19
+ readonly future: Required<{
20
+ v3_webhookAdminContext?: true | undefined;
21
+ v3_authenticatePublic?: true | undefined;
22
+ }>;
23
+ };
24
+ export declare function testConfig<Overrides extends TestOverridesArg<Future>, Future extends FutureFlagOptions>({ future, ...overrides }?: Overrides & {
25
+ future?: Future;
26
+ }): TestConfig<Overrides, Future>;
27
+ type Modify<Type1, Type2> = {
28
+ [key in keyof Type2 as Type2[key] extends undefined ? never : key]: Type2[key];
29
+ } & {
30
+ [key in keyof Type1 as key extends keyof Type2 ? never : key]: Type1[key];
31
+ };
32
+ type DefaultedFutureFlags<Future> = Modify<typeof TEST_CONFIG.future, Future>;
33
+ type TestOverrides<Future> = Partial<Omit<AppConfigArg<ShopifyRestResources, SessionStorage, DefaultedFutureFlags<Future>>, 'future'> & {
34
+ future: Partial<DefaultedFutureFlags<Future>>;
35
+ }>;
36
+ type TestOverridesArg<Future> = undefined | TestOverrides<Future>;
37
+ type TestConfig<Overrides extends TestOverridesArg<Future>, Future> = Modify<typeof TEST_CONFIG, Overrides> & {
38
+ future: Modify<typeof TEST_CONFIG.future, Future>;
8
39
  };
9
- export declare function testConfig<Overrides extends Partial<AppConfigArg>>(overrides?: Overrides): TestConfig<Overrides>;
10
40
  export {};
11
41
  //# sourceMappingURL=test-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-config.d.ts","sourceRoot":"","sources":["../../../../src/server/__test-helpers/test-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAIjD,KAAK,mBAAmB,CACtB,SAAS,SAAS,OAAO,CAAC,YAAY,CAAC,EACvC,IAAI,SAAS,MAAM,WAAW,IAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE/E,KAAK,UAAU,CAAC,SAAS,SAAS,OAAO,CAAC,YAAY,CAAC,IAErD,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAC3B,SAAS,GAAG;IAEV,MAAM,EAAE;QACN,sBAAsB,EAAE,mBAAmB,CACzC,SAAS,EACT,wBAAwB,CACzB,CAAC;KACH,CAAC;CACH,CAAC;AAEN,wBAAgB,UAAU,CAAC,SAAS,SAAS,OAAO,CAAC,YAAY,CAAC,EAChE,SAAS,GAAE,SAA2B,GACrC,UAAU,CAAC,SAAS,CAAC,CAmBvB"}
1
+ {"version":3,"file":"test-config.d.ts","sourceRoot":"","sources":["../../../../src/server/__test-helpers/test-config.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,WAAW,EACX,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAC,oBAAoB,EAAC,MAAM,6CAA6C,CAAC;AAEjF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAC,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AAgBpE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;CAaP,CAAC;AAQX,wBAAgB,UAAU,CACxB,SAAS,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAC1C,MAAM,SAAS,iBAAiB,EAEhC,EAAC,MAAM,EAAE,GAAG,SAAS,EAAC,GAAE,SAAS,GAAG;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAEnD,GACA,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAa/B;AASD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI;KACzB,GAAG,IAAI,MAAM,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,SAAS,GAC/C,KAAK,GACL,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;CACrB,GAAG;KACD,GAAG,IAAI,MAAM,KAAK,IAAI,GAAG,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;CAC1E,CAAC;AAEF,KAAK,oBAAoB,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAM9E,KAAK,aAAa,CAAC,MAAM,IAAI,OAAO,CAClC,IAAI,CACF,YAAY,CACV,oBAAoB,EACpB,cAAc,EACd,oBAAoB,CAAC,MAAM,CAAC,CAC7B,EACD,QAAQ,CACT,GAAG;IACF,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;CAC/C,CACF,CAAC;AAEF,KAAK,gBAAgB,CAAC,MAAM,IAAI,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAElE,KAAK,UAAU,CAAC,SAAS,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,MAAM,CAC1E,OAAO,WAAW,EAClB,SAAS,CACV,GAAG;IACF,MAAM,EAAE,MAAM,CAAC,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnD,CAAC"}
@@ -5,12 +5,40 @@ var tslib_1 = require("tslib");
5
5
  var shopify_api_1 = require("@shopify/shopify-api");
6
6
  var shopify_app_session_storage_memory_1 = require("@shopify/shopify-app-session-storage-memory");
7
7
  var const_1 = require("./const");
8
- function testConfig(overrides) {
9
- if (overrides === void 0) { overrides = {}; }
10
- return tslib_1.__assign(tslib_1.__assign({ apiKey: const_1.API_KEY, apiSecretKey: const_1.API_SECRET_KEY, scopes: ['testScope'], apiVersion: shopify_api_1.LATEST_API_VERSION, appUrl: const_1.APP_URL, logger: {
11
- log: jest.fn(),
12
- level: shopify_api_1.LogSeverity.Debug,
13
- }, isEmbeddedApp: true, sessionStorage: new shopify_app_session_storage_memory_1.MemorySessionStorage() }, overrides), { future: tslib_1.__assign({ v3_webhookAdminContext: true }, overrides.future) });
8
+ /*
9
+ * This object mandates that all existing future flags be activated for tests. If a new flag is added, this object must
10
+ * be updated to include it, which will also cause all tests to use the new behaviour by default (and likely fail).
11
+ *
12
+ * This way, we'll always ensure our tests are covering all future flags. Please make sure to also have tests for the
13
+ * old behaviour.
14
+ */
15
+ var TEST_FUTURE_FLAGS = {
16
+ v3_authenticatePublic: true,
17
+ v3_webhookAdminContext: true,
18
+ };
19
+ var TEST_CONFIG = {
20
+ apiKey: const_1.API_KEY,
21
+ apiSecretKey: const_1.API_SECRET_KEY,
22
+ scopes: ['testScope'],
23
+ apiVersion: shopify_api_1.LATEST_API_VERSION,
24
+ appUrl: const_1.APP_URL,
25
+ logger: {
26
+ log: jest.fn(),
27
+ level: shopify_api_1.LogSeverity.Debug,
28
+ },
29
+ isEmbeddedApp: true,
30
+ sessionStorage: new shopify_app_session_storage_memory_1.MemorySessionStorage(),
31
+ future: TEST_FUTURE_FLAGS,
32
+ };
33
+ // Reset the config object before each test
34
+ beforeEach(function () {
35
+ TEST_CONFIG.logger.log.mockReset();
36
+ TEST_CONFIG.sessionStorage = new shopify_app_session_storage_memory_1.MemorySessionStorage();
37
+ });
38
+ function testConfig(_a) {
39
+ if (_a === void 0) { _a = {}; }
40
+ var future = _a.future, overrides = tslib_1.__rest(_a, ["future"]);
41
+ return tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, TEST_CONFIG), overrides), { logger: tslib_1.__assign(tslib_1.__assign({}, TEST_CONFIG.logger), overrides.logger), future: tslib_1.__assign(tslib_1.__assign({}, TEST_CONFIG.future), future) });
14
42
  }
15
43
  exports.testConfig = testConfig;
16
44
  //# sourceMappingURL=test-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-config.js","sourceRoot":"","sources":["../../../../src/server/__test-helpers/test-config.ts"],"names":[],"mappings":";;;;AAAA,oDAAqE;AACrE,kGAAiF;AAKjF,iCAAyD;AAoBzD,SAAgB,UAAU,CACxB,SAAsC;IAAtC,0BAAA,EAAA,YAAuB,EAAe;IAEtC,2CACE,MAAM,EAAE,eAAO,EACf,YAAY,EAAE,sBAAc,EAC5B,MAAM,EAAE,CAAC,WAAW,CAAC,EACrB,UAAU,EAAE,gCAAkB,EAC9B,MAAM,EAAE,eAAO,EACf,MAAM,EAAE;YACN,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;YACd,KAAK,EAAE,yBAAW,CAAC,KAAK;SACzB,EACD,aAAa,EAAE,IAAI,EACnB,cAAc,EAAE,IAAI,yDAAoB,EAAE,IACvC,SAAS,KACZ,MAAM,qBACJ,sBAAsB,EAAE,IAAI,IACxB,SAAS,CAAC,MAA8B,KAE9C;AACJ,CAAC;AArBD,gCAqBC"}
1
+ {"version":3,"file":"test-config.js","sourceRoot":"","sources":["../../../../src/server/__test-helpers/test-config.ts"],"names":[],"mappings":";;;;AAAA,oDAI8B;AAE9B,kGAAiF;AAKjF,iCAAyD;AAEzD;;;;;;GAMG;AACH,IAAM,iBAAiB,GAAiD;IACtE,qBAAqB,EAAE,IAAI;IAC3B,sBAAsB,EAAE,IAAI;CACpB,CAAC;AAEX,IAAM,WAAW,GAAG;IAClB,MAAM,EAAE,eAAO;IACf,YAAY,EAAE,sBAAc;IAC5B,MAAM,EAAE,CAAC,WAAW,CAAQ;IAC5B,UAAU,EAAE,gCAAkB;IAC9B,MAAM,EAAE,eAAO;IACf,MAAM,EAAE;QACN,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,KAAK,EAAE,yBAAW,CAAC,KAAK;KACzB;IACD,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI,yDAAoB,EAAE;IAC1C,MAAM,EAAE,iBAAiB;CACjB,CAAC;AAEX,2CAA2C;AAC3C,UAAU,CAAC;IACT,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IAClC,WAAmB,CAAC,cAAc,GAAG,IAAI,yDAAoB,EAAE,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,SAAgB,UAAU,CAIxB,EAEC;IAFD,mBAAA,EAAA,KAAwD,EAEvD;IAFA,IAAA,MAAM,YAAA,EAAK,SAAS,sBAArB,UAAsB,CAAD;IAIrB,OAAO,uDACF,WAAW,GACX,SAAS,KACZ,MAAM,wCACD,WAAW,CAAC,MAAM,GACjB,SAAoC,CAAC,MAAM,GAEjD,MAAM,wCACD,WAAW,CAAC,MAAM,GAClB,MAAM,IAEL,CAAC;AACX,CAAC;AApBD,gCAoBC"}
@@ -1,28 +1,11 @@
1
- import { Shopify, ShopifyRestResources } from '@shopify/shopify-api';
1
+ import { ShopifyRestResources } from '@shopify/shopify-api';
2
2
  import type { BasicParams } from '../../types';
3
- import type { AppConfig, AppConfigArg } from '../../config-types';
4
- import type { AdminContext } from './types';
5
- export declare class AuthStrategy<Config extends AppConfigArg, Resources extends ShopifyRestResources = ShopifyRestResources> {
6
- protected api: Shopify;
7
- protected config: AppConfig;
8
- protected logger: Shopify['logger'];
9
- constructor({ api, config, logger }: BasicParams);
10
- authenticateAdmin(request: Request): Promise<AdminContext<Config, Resources>>;
11
- private authenticateAndGetSessionContext;
12
- private handleAuthBeginRequest;
13
- private handleAuthCallbackRequest;
14
- private validateUrlParams;
15
- private ensureInstalledOnShop;
16
- private testSession;
17
- private ensureValidShopParam;
18
- private ensureAppIsEmbeddedIfRequired;
19
- private ensureSessionTokenSearchParamIfRequired;
20
- private ensureSessionExists;
21
- private validateAuthenticatedSession;
22
- private loadSession;
23
- private redirectToShopifyOrAppRoot;
24
- private redirectToBouncePage;
25
- private createBillingContext;
26
- private createAdminApiContext;
3
+ import type { AppConfigArg } from '../../config-types';
4
+ import type { AuthenticateAdmin } from './types';
5
+ import { AuthorizationStrategy } from './strategies/types';
6
+ interface AuthStrategyParams extends BasicParams {
7
+ strategy: AuthorizationStrategy;
27
8
  }
9
+ export declare function authStrategyFactory<ConfigArg extends AppConfigArg, Resources extends ShopifyRestResources = ShopifyRestResources>({ strategy, ...params }: AuthStrategyParams): AuthenticateAdmin<ConfigArg, Resources>;
10
+ export {};
28
11
  //# sourceMappingURL=authenticate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/admin/authenticate.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,OAAO,EACP,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAC,SAAS,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAehE,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,SAAS,CAAC;AAiBjB,qBAAa,YAAY,CACvB,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB;IAE7D,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAEjB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,WAAW;IAMxC,iBAAiB,CAC5B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAuC7B,gCAAgC;YA8ChC,sBAAsB;YAqBtB,yBAAyB;YAsDzB,iBAAiB;YAuBjB,qBAAqB;YAqFrB,WAAW;IAkBzB,OAAO,CAAC,oBAAoB;YAcd,6BAA6B;YAY7B,uCAAuC;YAgBvC,mBAAmB;YAsCnB,4BAA4B;YAoB5B,WAAW;YAwBX,0BAA0B;IAiBxC,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,qBAAqB;CAgB9B"}
1
+ {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/admin/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAerD,OAAO,KAAK,EAEV,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AASjB,OAAO,EAAC,qBAAqB,EAAsB,MAAM,oBAAoB,CAAC;AAE9E,UAAU,kBAAmB,SAAQ,WAAW;IAC9C,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED,wBAAgB,mBAAmB,CACjC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAC7D,EACA,QAAQ,EACR,GAAG,MAAM,EACV,EAAE,kBAAkB,GAAG,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAwG9D"}