@shopify/shopify-app-remix 3.4.0 → 3.5.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 (191) hide show
  1. package/dist/cjs/server/authenticate/admin/authenticate.js +21 -13
  2. package/dist/cjs/server/authenticate/admin/authenticate.js.map +1 -1
  3. package/dist/cjs/server/authenticate/admin/billing/helpers.js +1 -1
  4. package/dist/cjs/server/authenticate/admin/billing/helpers.js.map +1 -1
  5. package/dist/cjs/server/authenticate/admin/helpers/create-admin-api-context.js.map +1 -1
  6. package/dist/cjs/server/authenticate/admin/helpers/handle-client-error.js +2 -1
  7. package/dist/cjs/server/authenticate/admin/helpers/handle-client-error.js.map +1 -1
  8. package/dist/cjs/server/authenticate/admin/helpers/redirect.js +1 -1
  9. package/dist/cjs/server/authenticate/admin/helpers/redirect.js.map +1 -1
  10. package/dist/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js +3 -2
  11. package/dist/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js.map +1 -1
  12. package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js +1 -0
  13. package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js.map +1 -1
  14. package/dist/cjs/server/authenticate/admin/scope/client/fetch-scopes-details.js.map +1 -1
  15. package/dist/cjs/server/authenticate/admin/scope/client/revoke-scopes.js.map +1 -1
  16. package/dist/cjs/server/authenticate/admin/scope/factory.js.map +1 -1
  17. package/dist/cjs/server/authenticate/admin/scope/query.js.map +1 -1
  18. package/dist/cjs/server/authenticate/admin/scope/request.js.map +1 -1
  19. package/dist/cjs/server/authenticate/admin/scope/revoke.js.map +1 -1
  20. package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js +5 -3
  21. package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js.map +1 -1
  22. package/dist/cjs/server/authenticate/admin/strategies/merchant-custom-app.js +8 -3
  23. package/dist/cjs/server/authenticate/admin/strategies/merchant-custom-app.js.map +1 -1
  24. package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js +7 -4
  25. package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js.map +1 -1
  26. package/dist/cjs/server/authenticate/flow/authenticate.js.map +1 -1
  27. package/dist/cjs/server/authenticate/fulfillment-service/authenticate.js.map +1 -1
  28. package/dist/cjs/server/authenticate/helpers/create-or-load-offline-session.js +4 -2
  29. package/dist/cjs/server/authenticate/helpers/create-or-load-offline-session.js.map +1 -1
  30. package/dist/cjs/server/authenticate/helpers/get-shop-from-request.js +9 -0
  31. package/dist/cjs/server/authenticate/helpers/get-shop-from-request.js.map +1 -0
  32. package/dist/cjs/server/authenticate/helpers/invalidate-access-token.js +3 -1
  33. package/dist/cjs/server/authenticate/helpers/invalidate-access-token.js.map +1 -1
  34. package/dist/cjs/server/authenticate/helpers/respond-to-invalid-session-token.js.map +1 -1
  35. package/dist/cjs/server/authenticate/helpers/validate-session-token.js +9 -3
  36. package/dist/cjs/server/authenticate/helpers/validate-session-token.js.map +1 -1
  37. package/dist/cjs/server/authenticate/public/appProxy/authenticate.js +5 -4
  38. package/dist/cjs/server/authenticate/public/appProxy/authenticate.js.map +1 -1
  39. package/dist/cjs/server/authenticate/public/customer-account/authenticate.js.map +1 -1
  40. package/dist/cjs/server/authenticate/public/extension/authenticate.js +7 -2
  41. package/dist/cjs/server/authenticate/public/extension/authenticate.js.map +1 -1
  42. package/dist/cjs/server/authenticate/public/factory.js.map +1 -1
  43. package/dist/cjs/server/authenticate/webhooks/authenticate.js.map +1 -1
  44. package/dist/cjs/server/clients/admin/factory.js +5 -0
  45. package/dist/cjs/server/clients/admin/factory.js.map +1 -1
  46. package/dist/cjs/server/clients/admin/rest.js +8 -0
  47. package/dist/cjs/server/clients/admin/rest.js.map +1 -1
  48. package/dist/cjs/server/future/flags.js +0 -3
  49. package/dist/cjs/server/future/flags.js.map +1 -1
  50. package/dist/cjs/server/shopify-app.js.map +1 -1
  51. package/dist/cjs/server/unauthenticated/admin/factory.js.map +1 -1
  52. package/dist/cjs/server/version.js +1 -1
  53. package/dist/esm/server/authenticate/admin/authenticate.mjs +21 -13
  54. package/dist/esm/server/authenticate/admin/authenticate.mjs.map +1 -1
  55. package/dist/esm/server/authenticate/admin/billing/helpers.mjs +1 -1
  56. package/dist/esm/server/authenticate/admin/billing/helpers.mjs.map +1 -1
  57. package/dist/esm/server/authenticate/admin/helpers/create-admin-api-context.mjs.map +1 -1
  58. package/dist/esm/server/authenticate/admin/helpers/handle-client-error.mjs +2 -1
  59. package/dist/esm/server/authenticate/admin/helpers/handle-client-error.mjs.map +1 -1
  60. package/dist/esm/server/authenticate/admin/helpers/redirect.mjs +1 -1
  61. package/dist/esm/server/authenticate/admin/helpers/redirect.mjs.map +1 -1
  62. package/dist/esm/server/authenticate/admin/helpers/trigger-after-auth-hook.mjs +3 -2
  63. package/dist/esm/server/authenticate/admin/helpers/trigger-after-auth-hook.mjs.map +1 -1
  64. package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs +1 -0
  65. package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs.map +1 -1
  66. package/dist/esm/server/authenticate/admin/scope/client/fetch-scopes-details.mjs.map +1 -1
  67. package/dist/esm/server/authenticate/admin/scope/client/revoke-scopes.mjs.map +1 -1
  68. package/dist/esm/server/authenticate/admin/scope/factory.mjs.map +1 -1
  69. package/dist/esm/server/authenticate/admin/scope/query.mjs.map +1 -1
  70. package/dist/esm/server/authenticate/admin/scope/request.mjs.map +1 -1
  71. package/dist/esm/server/authenticate/admin/scope/revoke.mjs.map +1 -1
  72. package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs +5 -3
  73. package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs.map +1 -1
  74. package/dist/esm/server/authenticate/admin/strategies/merchant-custom-app.mjs +8 -3
  75. package/dist/esm/server/authenticate/admin/strategies/merchant-custom-app.mjs.map +1 -1
  76. package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs +7 -4
  77. package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs.map +1 -1
  78. package/dist/esm/server/authenticate/flow/authenticate.mjs.map +1 -1
  79. package/dist/esm/server/authenticate/fulfillment-service/authenticate.mjs.map +1 -1
  80. package/dist/esm/server/authenticate/helpers/create-or-load-offline-session.mjs +4 -2
  81. package/dist/esm/server/authenticate/helpers/create-or-load-offline-session.mjs.map +1 -1
  82. package/dist/esm/server/authenticate/helpers/get-shop-from-request.mjs +7 -0
  83. package/dist/esm/server/authenticate/helpers/get-shop-from-request.mjs.map +1 -0
  84. package/dist/esm/server/authenticate/helpers/invalidate-access-token.mjs +3 -1
  85. package/dist/esm/server/authenticate/helpers/invalidate-access-token.mjs.map +1 -1
  86. package/dist/esm/server/authenticate/helpers/respond-to-invalid-session-token.mjs.map +1 -1
  87. package/dist/esm/server/authenticate/helpers/validate-session-token.mjs +9 -3
  88. package/dist/esm/server/authenticate/helpers/validate-session-token.mjs.map +1 -1
  89. package/dist/esm/server/authenticate/public/appProxy/authenticate.mjs +5 -4
  90. package/dist/esm/server/authenticate/public/appProxy/authenticate.mjs.map +1 -1
  91. package/dist/esm/server/authenticate/public/customer-account/authenticate.mjs.map +1 -1
  92. package/dist/esm/server/authenticate/public/extension/authenticate.mjs +7 -2
  93. package/dist/esm/server/authenticate/public/extension/authenticate.mjs.map +1 -1
  94. package/dist/esm/server/authenticate/public/factory.mjs.map +1 -1
  95. package/dist/esm/server/authenticate/webhooks/authenticate.mjs.map +1 -1
  96. package/dist/esm/server/clients/admin/factory.mjs +5 -0
  97. package/dist/esm/server/clients/admin/factory.mjs.map +1 -1
  98. package/dist/esm/server/clients/admin/rest.mjs +8 -0
  99. package/dist/esm/server/clients/admin/rest.mjs.map +1 -1
  100. package/dist/esm/server/future/flags.mjs +0 -3
  101. package/dist/esm/server/future/flags.mjs.map +1 -1
  102. package/dist/esm/server/shopify-app.mjs.map +1 -1
  103. package/dist/esm/server/unauthenticated/admin/factory.mjs.map +1 -1
  104. package/dist/esm/server/version.mjs +1 -1
  105. package/dist/ts/server/authenticate/admin/authenticate.admin.doc.d.ts.map +1 -1
  106. package/dist/ts/server/authenticate/admin/authenticate.d.ts.map +1 -1
  107. package/dist/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts +2 -1
  108. package/dist/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts.map +1 -1
  109. package/dist/ts/server/authenticate/admin/helpers/handle-client-error.d.ts.map +1 -1
  110. package/dist/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts +2 -1
  111. package/dist/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts.map +1 -1
  112. package/dist/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts.map +1 -1
  113. package/dist/ts/server/authenticate/admin/scope/authenticate.admin.scopes.doc.d.ts +4 -0
  114. package/dist/ts/server/authenticate/admin/scope/authenticate.admin.scopes.doc.d.ts.map +1 -0
  115. package/dist/ts/server/authenticate/admin/scope/client/fetch-scopes-details.d.ts +2 -1
  116. package/dist/ts/server/authenticate/admin/scope/client/fetch-scopes-details.d.ts.map +1 -1
  117. package/dist/ts/server/authenticate/admin/scope/client/revoke-scopes.d.ts +2 -1
  118. package/dist/ts/server/authenticate/admin/scope/client/revoke-scopes.d.ts.map +1 -1
  119. package/dist/ts/server/authenticate/admin/scope/factory.d.ts +2 -1
  120. package/dist/ts/server/authenticate/admin/scope/factory.d.ts.map +1 -1
  121. package/dist/ts/server/authenticate/admin/scope/query.d.ts +2 -1
  122. package/dist/ts/server/authenticate/admin/scope/query.d.ts.map +1 -1
  123. package/dist/ts/server/authenticate/admin/scope/request.d.ts +2 -1
  124. package/dist/ts/server/authenticate/admin/scope/request.d.ts.map +1 -1
  125. package/dist/ts/server/authenticate/admin/scope/revoke.d.ts +2 -1
  126. package/dist/ts/server/authenticate/admin/scope/revoke.d.ts.map +1 -1
  127. package/dist/ts/server/authenticate/admin/scope/types.d.ts +148 -8
  128. package/dist/ts/server/authenticate/admin/scope/types.d.ts.map +1 -1
  129. package/dist/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts.map +1 -1
  130. package/dist/ts/server/authenticate/admin/strategies/merchant-custom-app.d.ts +5 -5
  131. package/dist/ts/server/authenticate/admin/strategies/merchant-custom-app.d.ts.map +1 -1
  132. package/dist/ts/server/authenticate/admin/strategies/token-exchange.d.ts.map +1 -1
  133. package/dist/ts/server/authenticate/admin/types.d.ts +3 -4
  134. package/dist/ts/server/authenticate/admin/types.d.ts.map +1 -1
  135. package/dist/ts/server/authenticate/flow/authenticate.d.ts +2 -1
  136. package/dist/ts/server/authenticate/flow/authenticate.d.ts.map +1 -1
  137. package/dist/ts/server/authenticate/flow/types.d.ts +6 -6
  138. package/dist/ts/server/authenticate/flow/types.d.ts.map +1 -1
  139. package/dist/ts/server/authenticate/fulfillment-service/authenticate.d.ts +2 -1
  140. package/dist/ts/server/authenticate/fulfillment-service/authenticate.d.ts.map +1 -1
  141. package/dist/ts/server/authenticate/fulfillment-service/types.d.ts +11 -44
  142. package/dist/ts/server/authenticate/fulfillment-service/types.d.ts.map +1 -1
  143. package/dist/ts/server/authenticate/helpers/create-or-load-offline-session.d.ts.map +1 -1
  144. package/dist/ts/server/authenticate/helpers/get-shop-from-request.d.ts +2 -0
  145. package/dist/ts/server/authenticate/helpers/get-shop-from-request.d.ts.map +1 -0
  146. package/dist/ts/server/authenticate/helpers/index.d.ts +1 -0
  147. package/dist/ts/server/authenticate/helpers/index.d.ts.map +1 -1
  148. package/dist/ts/server/authenticate/helpers/invalidate-access-token.d.ts.map +1 -1
  149. package/dist/ts/server/authenticate/helpers/respond-to-invalid-session-token.d.ts +1 -1
  150. package/dist/ts/server/authenticate/helpers/respond-to-invalid-session-token.d.ts.map +1 -1
  151. package/dist/ts/server/authenticate/helpers/validate-session-token.d.ts.map +1 -1
  152. package/dist/ts/server/authenticate/public/appProxy/authenticate.d.ts +2 -1
  153. package/dist/ts/server/authenticate/public/appProxy/authenticate.d.ts.map +1 -1
  154. package/dist/ts/server/authenticate/public/appProxy/types.d.ts +5 -4
  155. package/dist/ts/server/authenticate/public/appProxy/types.d.ts.map +1 -1
  156. package/dist/ts/server/authenticate/public/customer-account/authenticate.d.ts +1 -1
  157. package/dist/ts/server/authenticate/public/customer-account/authenticate.d.ts.map +1 -1
  158. package/dist/ts/server/authenticate/public/extension/authenticate.d.ts +1 -1
  159. package/dist/ts/server/authenticate/public/extension/authenticate.d.ts.map +1 -1
  160. package/dist/ts/server/authenticate/public/factory.d.ts +2 -1
  161. package/dist/ts/server/authenticate/public/factory.d.ts.map +1 -1
  162. package/dist/ts/server/authenticate/public/types.d.ts +4 -3
  163. package/dist/ts/server/authenticate/public/types.d.ts.map +1 -1
  164. package/dist/ts/server/authenticate/webhooks/authenticate.d.ts +2 -1
  165. package/dist/ts/server/authenticate/webhooks/authenticate.d.ts.map +1 -1
  166. package/dist/ts/server/authenticate/webhooks/types.d.ts +5 -4
  167. package/dist/ts/server/authenticate/webhooks/types.d.ts.map +1 -1
  168. package/dist/ts/server/clients/admin/factory.d.ts +2 -1
  169. package/dist/ts/server/clients/admin/factory.d.ts.map +1 -1
  170. package/dist/ts/server/clients/admin/rest.d.ts +8 -0
  171. package/dist/ts/server/clients/admin/rest.d.ts.map +1 -1
  172. package/dist/ts/server/clients/admin/types.d.ts +109 -102
  173. package/dist/ts/server/clients/admin/types.d.ts.map +1 -1
  174. package/dist/ts/server/config-types.d.ts +5 -5
  175. package/dist/ts/server/config-types.d.ts.map +1 -1
  176. package/dist/ts/server/future/flags.d.ts +15 -2
  177. package/dist/ts/server/future/flags.d.ts.map +1 -1
  178. package/dist/ts/server/shopify-app.d.ts.map +1 -1
  179. package/dist/ts/server/types-contexts.d.ts +8 -8
  180. package/dist/ts/server/types-contexts.d.ts.map +1 -1
  181. package/dist/ts/server/types.d.ts +21 -39
  182. package/dist/ts/server/types.d.ts.map +1 -1
  183. package/dist/ts/server/unauthenticated/admin/factory.d.ts +2 -1
  184. package/dist/ts/server/unauthenticated/admin/factory.d.ts.map +1 -1
  185. package/dist/ts/server/unauthenticated/admin/types.d.ts +4 -40
  186. package/dist/ts/server/unauthenticated/admin/types.d.ts.map +1 -1
  187. package/dist/ts/server/unauthenticated/types.d.ts +5 -5
  188. package/dist/ts/server/unauthenticated/types.d.ts.map +1 -1
  189. package/dist/ts/server/version.d.ts +1 -1
  190. package/dist/tsconfig.build.tsbuildinfo +1 -1
  191. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/customer-account/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAI7C,OAAO,EAAC,2BAA2B,EAAC,MAAM,SAAS,CAAC;AAEpD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,WAAW,GAClB,2BAA2B,CAK7B"}
1
+ {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/customer-account/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAC,2BAA2B,EAAC,MAAM,SAAS,CAAC;AAEpD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,WAAW,GAClB,2BAA2B,CAK7B"}
@@ -1,4 +1,4 @@
1
- import { BasicParams } from 'src/server/types';
1
+ import { BasicParams } from '../../../types';
2
2
  import { AuthenticateExtension } from './types';
3
3
  export declare function authenticateExtensionFactory(params: BasicParams, requestType: string): AuthenticateExtension;
4
4
  //# sourceMappingURL=authenticate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/extension/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAU7C,OAAO,EAAC,qBAAqB,EAAmB,MAAM,SAAS,CAAC;AAEhE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,GAClB,qBAAqB,CAkCvB"}
1
+ {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/extension/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAU3C,OAAO,EAAC,qBAAqB,EAAmB,MAAM,SAAS,CAAC;AAEhE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,GAClB,qBAAqB,CAsCvB"}
@@ -1,5 +1,6 @@
1
1
  import { ShopifyRestResources } from '@shopify/shopify-api';
2
+ import { AppConfigArg } from '../../config-types';
2
3
  import { BasicParams } from '../../types';
3
4
  import { AuthenticatePublic } from './types';
4
- export declare function authenticatePublicFactory<Resources extends ShopifyRestResources>(params: BasicParams): AuthenticatePublic;
5
+ export declare function authenticatePublicFactory<ConfigArg extends AppConfigArg, Resources extends ShopifyRestResources>(params: BasicParams): AuthenticatePublic<ConfigArg>;
5
6
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/public/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAE3C,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,oBAAoB,EACtC,MAAM,EAAE,WAAW,sBAapB"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/public/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAE3C,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,EACtC,MAAM,EAAE,WAAW,iCAgBpB"}
@@ -1,7 +1,8 @@
1
+ import type { AppConfigArg } from '../../config-types';
1
2
  import type { AuthenticateCheckout } from './checkout/types';
2
3
  import type { AuthenticateAppProxy } from './appProxy/types';
3
- import { AuthenticateCustomerAccount } from './customer-account/types';
4
- export interface AuthenticatePublic {
4
+ import type { AuthenticateCustomerAccount } from './customer-account/types';
5
+ export interface AuthenticatePublic<Config extends AppConfigArg> {
5
6
  /**
6
7
  * Authenticate a request from a checkout extension
7
8
  *
@@ -44,7 +45,7 @@ export interface AuthenticatePublic {
44
45
  * };
45
46
  * ```
46
47
  */
47
- appProxy: AuthenticateAppProxy;
48
+ appProxy: AuthenticateAppProxy<Config>;
48
49
  /**
49
50
  * Authenticate a request from a customer account extension
50
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/public/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,2BAA2B,EAAC,MAAM,0BAA0B,CAAC;AAOrE,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,oBAAoB,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,EAAE,oBAAoB,CAAC;IAE/B;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,EAAE,2BAA2B,CAAC;CAC9C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/public/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,0BAA0B,CAAC;AAO1E,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,YAAY;IAC7D;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,oBAAoB,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEvC;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,EAAE,2BAA2B,CAAC;CAC9C"}
@@ -1,5 +1,6 @@
1
1
  import { ShopifyRestResources } from '@shopify/shopify-api';
2
+ import { AppConfigArg } from '../../config-types';
2
3
  import type { BasicParams } from '../../types';
3
4
  import type { AuthenticateWebhook } from './types';
4
- export declare function authenticateWebhookFactory<Resources extends ShopifyRestResources, Topics extends string>(params: BasicParams): AuthenticateWebhook<Resources, Topics>;
5
+ export declare function authenticateWebhookFactory<ConfigArg extends AppConfigArg, Resources extends ShopifyRestResources, Topics extends string>(params: BasicParams): AuthenticateWebhook<ConfigArg, Resources, Topics>;
5
6
  //# sourceMappingURL=authenticate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/webhooks/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAK7C,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,0BAA0B,CACxC,SAAS,SAAS,oBAAoB,EACtC,MAAM,SAAS,MAAM,EACrB,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAgE7D"}
1
+ {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/webhooks/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAK7C,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,0BAA0B,CACxC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,EACtC,MAAM,SAAS,MAAM,EACrB,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAgExE"}
@@ -1,4 +1,5 @@
1
1
  import { Session, ShopifyRestResources } from '@shopify/shopify-api';
2
+ import { AppConfigArg } from '../../config-types';
2
3
  import type { AdminApiContext } from '../../clients';
3
4
  export interface RegisterWebhooksOptions {
4
5
  /**
@@ -128,7 +129,7 @@ export interface WebhookContextWithoutSession<Topics = string | number | symbol>
128
129
  session: undefined;
129
130
  admin: undefined;
130
131
  }
131
- export interface WebhookContextWithSession<Resources extends ShopifyRestResources, Topics = string | number | symbol> extends Context<Topics> {
132
+ export interface WebhookContextWithSession<ConfigArg extends AppConfigArg, Resources extends ShopifyRestResources, Topics = string | number | symbol> extends Context<Topics> {
132
133
  /**
133
134
  * A session with an offline token for the shop.
134
135
  *
@@ -200,9 +201,9 @@ export interface WebhookContextWithSession<Resources extends ShopifyRestResource
200
201
  * }
201
202
  * ```
202
203
  */
203
- admin: AdminApiContext<Resources>;
204
+ admin: AdminApiContext<ConfigArg, Resources>;
204
205
  }
205
- export type WebhookContext<Resources extends ShopifyRestResources, Topics = string | number | symbol> = WebhookContextWithoutSession<Topics> | WebhookContextWithSession<Resources, Topics>;
206
- export type AuthenticateWebhook<Resources extends ShopifyRestResources, Topics = string | number | symbol> = (request: Request) => Promise<WebhookContext<Resources, Topics>>;
206
+ export type WebhookContext<ConfigArg extends AppConfigArg, Resources extends ShopifyRestResources, Topics = string | number | symbol> = WebhookContextWithoutSession<Topics> | WebhookContextWithSession<ConfigArg, Resources, Topics>;
207
+ export type AuthenticateWebhook<ConfigArg extends AppConfigArg, Resources extends ShopifyRestResources, Topics = string | number | symbol> = (request: Request) => Promise<WebhookContext<ConfigArg, Resources, Topics>>;
207
208
  export {};
208
209
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/webhooks/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IACjD;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAC7E,SAAQ,OAAO,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB,CACxC,SAAS,SAAS,oBAAoB,EACtC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CACjC,SAAQ,OAAO,CAAC,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,cAAc,CACxB,SAAS,SAAS,oBAAoB,EACtC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAE/B,4BAA4B,CAAC,MAAM,CAAC,GACpC,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,MAAM,mBAAmB,CAC7B,SAAS,SAAS,oBAAoB,EACtC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAC/B,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/webhooks/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IACjD;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAC7E,SAAQ,OAAO,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB,CACxC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,EACtC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CACjC,SAAQ,OAAO,CAAC,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,cAAc,CACxB,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,EACtC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAE/B,4BAA4B,CAAC,MAAM,CAAC,GACpC,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,mBAAmB,CAC7B,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,EACtC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAC/B,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Session, ShopifyRestResources } from '@shopify/shopify-api';
2
+ import type { AppConfigArg } from '../../config-types';
2
3
  import { BasicParams } from '../../types';
3
4
  import type { AdminApiContext } from './types';
4
5
  interface RestClientOptions {
@@ -6,6 +7,6 @@ interface RestClientOptions {
6
7
  session: Session;
7
8
  handleClientError?: (error: any) => Promise<void>;
8
9
  }
9
- export declare function adminClientFactory<Resources extends ShopifyRestResources = ShopifyRestResources>({ params, handleClientError, session, }: RestClientOptions): AdminApiContext<Resources>;
10
+ export declare function adminClientFactory<ConfigArg extends AppConfigArg, Resources extends ShopifyRestResources = ShopifyRestResources>({ params, handleClientError, session, }: RestClientOptions): AdminApiContext<ConfigArg, Resources>;
10
11
  export {};
11
12
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAIxC,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAE7C,UAAU,iBAAiB;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,wBAAgB,kBAAkB,CAChC,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAC7D,EACA,MAAM,EACN,iBAAiB,EACjB,OAAO,GACR,EAAE,iBAAiB,GAAG,eAAe,CAAC,SAAS,CAAC,CAShD"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAIxC,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAE7C,UAAU,iBAAiB;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,wBAAgB,kBAAkB,CAChC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAC7D,EACA,MAAM,EACN,iBAAiB,EACjB,OAAO,GACR,EAAE,iBAAiB,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAe3D"}
@@ -11,18 +11,26 @@ declare class RemixRestClient {
11
11
  constructor({ params, session, handleClientError }: AdminClientOptions);
12
12
  /**
13
13
  * Performs a GET request on the given path.
14
+ *
15
+ * @deprecated In a future major release REST will be removed from this package. Please see [all-in on graphql](https://www.shopify.com/ca/partners/blog/all-in-on-graphql).
14
16
  */
15
17
  get(params: GetRequestParams): Promise<Response>;
16
18
  /**
17
19
  * Performs a POST request on the given path.
20
+ *
21
+ * @deprecated In a future major release REST will be removed from this package. Please see [all-in on graphql](https://www.shopify.com/ca/partners/blog/all-in-on-graphql).
18
22
  */
19
23
  post(params: PostRequestParams): Promise<Response>;
20
24
  /**
21
25
  * Performs a PUT request on the given path.
26
+ *
27
+ * @deprecated In a future major release REST will be removed from this package. Please see [all-in on graphql](https://www.shopify.com/ca/partners/blog/all-in-on-graphql).
22
28
  */
23
29
  put(params: PutRequestParams): Promise<Response>;
24
30
  /**
25
31
  * Performs a DELETE request on the given path.
32
+ *
33
+ * @deprecated In a future major release REST will be removed from this package. Please see [all-in on graphql](https://www.shopify.com/ca/partners/blog/all-in-on-graphql).
26
34
  */
27
35
  delete(params: DeleteRequestParams): Promise<Response>;
28
36
  protected makeRequest(params: RequestParams): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/rest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,OAAO,EAEP,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,uBAAuB,CAAC,SAAS,SAAS,oBAAoB,IACxE,eAAe,GAAG;IAAC,SAAS,EAAE,SAAS,CAAA;CAAC,CAAC;AAE3C,wBAAgB,iBAAiB,CAC/B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAC7D,EACA,MAAM,EACN,iBAAiB,EACjB,OAAO,GACR,EAAE,kBAAkB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CA+BzD;AAED,cAAM,eAAe;IACZ,OAAO,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,iBAAiB,CAA0C;gBAEvD,EAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAC,EAAE,kBAAkB;IAMpE;;OAEG;IACU,GAAG,CAAC,MAAM,EAAE,gBAAgB;IAOzC;;OAEG;IACU,IAAI,CAAC,MAAM,EAAE,iBAAiB;IAO3C;;OAEG;IACU,GAAG,CAAC,MAAM,EAAE,gBAAgB;IAOzC;;OAEG;IACU,MAAM,CAAC,MAAM,EAAE,mBAAmB;cAO/B,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;CAwBtE"}
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/rest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,OAAO,EAEP,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,uBAAuB,CAAC,SAAS,SAAS,oBAAoB,IACxE,eAAe,GAAG;IAAC,SAAS,EAAE,SAAS,CAAA;CAAC,CAAC;AAE3C,wBAAgB,iBAAiB,CAC/B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAC7D,EACA,MAAM,EACN,iBAAiB,EACjB,OAAO,GACR,EAAE,kBAAkB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CA+BzD;AAED,cAAM,eAAe;IACZ,OAAO,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,iBAAiB,CAA0C;gBAEvD,EAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAC,EAAE,kBAAkB;IAMpE;;;;OAIG;IACU,GAAG,CAAC,MAAM,EAAE,gBAAgB;IAOzC;;;;OAIG;IACU,IAAI,CAAC,MAAM,EAAE,iBAAiB;IAO3C;;;;OAIG;IACU,GAAG,CAAC,MAAM,EAAE,gBAAgB;IAOzC;;;;OAIG;IACU,MAAM,CAAC,MAAM,EAAE,mBAAmB;cAO/B,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;CAwBtE"}
@@ -1,5 +1,7 @@
1
- import { Session, ShopifyRestResources } from '@shopify/shopify-api';
2
1
  import { AdminOperations } from '@shopify/admin-api-client';
2
+ import { Session, ShopifyRestResources } from '@shopify/shopify-api';
3
+ import type { AppConfigArg } from '../../config-types';
4
+ import type { FeatureEnabled } from '../../future/flags';
3
5
  import { BasicParams } from '../../types';
4
6
  import { GraphQLClient } from '../types';
5
7
  import type { RestClientWithResources } from './rest';
@@ -13,10 +15,115 @@ export type HandleAdminClientError = (arg: {
13
15
  params: BasicParams;
14
16
  session: Session;
15
17
  }) => Promise<void>;
16
- export interface AdminApiContext<Resources extends ShopifyRestResources = ShopifyRestResources> {
18
+ export type AdminApiContext<ConfigArg extends AppConfigArg, Resources extends ShopifyRestResources = ShopifyRestResources> = FeatureEnabled<ConfigArg['future'], 'removeRest'> extends true ? AdminApiContextWithoutRest : AdminApiContextWithRest<Resources>;
19
+ export interface AdminApiContextWithoutRest {
20
+ /**
21
+ * Methods for interacting with the Shopify Admin GraphQL API
22
+ *
23
+ * {@link https://shopify.dev/docs/api/admin-graphql}
24
+ * {@link https://github.com/Shopify/shopify-app-js/blob/main/packages/apps/shopify-api/docs/reference/clients/Graphql.md}
25
+ *
26
+ * @example
27
+ * <caption>Querying the GraphQL API.</caption>
28
+ * <description>Use `admin.graphql` to make query / mutation requests.</description>
29
+ * ```ts
30
+ * // /app/routes/**\/*.ts
31
+ * import { ActionFunctionArgs } from "@remix-run/node";
32
+ * import { authenticate } from "../shopify.server";
33
+ *
34
+ * export const action = async ({ request }: ActionFunctionArgs) => {
35
+ * const { admin } = await authenticate.admin(request);
36
+ *
37
+ * const response = await admin.graphql(
38
+ * `#graphql
39
+ * mutation populateProduct($input: ProductInput!) {
40
+ * productCreate(input: $input) {
41
+ * product {
42
+ * id
43
+ * }
44
+ * }
45
+ * }`,
46
+ * {
47
+ * variables: {
48
+ * input: { title: "Product Name" },
49
+ * },
50
+ * },
51
+ * );
52
+ *
53
+ * const productData = await response.json();
54
+ * return json({
55
+ * productId: productData.data?.productCreate?.product?.id,
56
+ * });
57
+ * }
58
+ * ```
59
+ *
60
+ * ```ts
61
+ * // /app/shopify.server.ts
62
+ * import { shopifyApp } from "@shopify/shopify-app-remix/server";
63
+ *
64
+ * const shopify = shopifyApp({
65
+ * // ...
66
+ * });
67
+ * export default shopify;
68
+ * export const authenticate = shopify.authenticate;
69
+ * ```
70
+ *
71
+ * @example
72
+ * <caption>Handling GraphQL errors.</caption>
73
+ * <description>Catch `GraphqlQueryError` errors to see error messages from the API.</description>
74
+ * ```ts
75
+ * // /app/routes/**\/*.ts
76
+ * import { ActionFunctionArgs } from "@remix-run/node";
77
+ * import { authenticate } from "../shopify.server";
78
+ *
79
+ * export const action = async ({ request }: ActionFunctionArgs) => {
80
+ * const { admin } = await authenticate.admin(request);
81
+ *
82
+ * try {
83
+ * const response = await admin.graphql(
84
+ * `#graphql
85
+ * query incorrectQuery {
86
+ * products(first: 10) {
87
+ * nodes {
88
+ * not_a_field
89
+ * }
90
+ * }
91
+ * }`,
92
+ * );
93
+ *
94
+ * return json({ data: await response.json() });
95
+ * } catch (error) {
96
+ * if (error instanceof GraphqlQueryError) {
97
+ * // error.body.errors:
98
+ * // { graphQLErrors: [
99
+ * // { message: "Field 'not_a_field' doesn't exist on type 'Product'" }
100
+ * // ] }
101
+ * return json({ errors: error.body?.errors }, { status: 500 });
102
+ * }
103
+ * return json({ message: "An error occurred" }, { status: 500 });
104
+ * }
105
+ * }
106
+ * ```
107
+ *
108
+ * ```ts
109
+ * // /app/shopify.server.ts
110
+ * import { shopifyApp } from "@shopify/shopify-app-remix/server";
111
+ *
112
+ * const shopify = shopifyApp({
113
+ * // ...
114
+ * });
115
+ * export default shopify;
116
+ * export const authenticate = shopify.authenticate;
117
+ * ```
118
+ */
119
+ graphql: GraphQLClient<AdminOperations>;
120
+ }
121
+ export interface AdminApiContextWithRest<Resources extends ShopifyRestResources = ShopifyRestResources> extends AdminApiContextWithoutRest {
17
122
  /**
18
123
  * Methods for interacting with the Shopify Admin REST API
19
124
  *
125
+ * @deprecated In a future major release REST will be removed from this package. Please see [all-in on graphql](https://www.shopify.com/ca/partners/blog/all-in-on-graphql).
126
+ *
20
127
  * There are methods for interacting with individual REST resources. You can also make `GET`, `POST`, `PUT` and `DELETE` requests should the REST resources not meet your needs.
21
128
  *
22
129
  * {@link https://shopify.dev/docs/api/admin-rest}
@@ -138,105 +245,5 @@ export interface AdminApiContext<Resources extends ShopifyRestResources = Shopif
138
245
  * ```
139
246
  */
140
247
  rest: RestClientWithResources<Resources>;
141
- /**
142
- * Methods for interacting with the Shopify Admin GraphQL API
143
- *
144
- * {@link https://shopify.dev/docs/api/admin-graphql}
145
- * {@link https://github.com/Shopify/shopify-app-js/blob/main/packages/apps/shopify-api/docs/reference/clients/Graphql.md}
146
- *
147
- * @example
148
- * <caption>Querying the GraphQL API.</caption>
149
- * <description>Use `admin.graphql` to make query / mutation requests.</description>
150
- * ```ts
151
- * // /app/routes/**\/*.ts
152
- * import { ActionFunctionArgs } from "@remix-run/node";
153
- * import { authenticate } from "../shopify.server";
154
- *
155
- * export const action = async ({ request }: ActionFunctionArgs) => {
156
- * const { admin } = await authenticate.admin(request);
157
- *
158
- * const response = await admin.graphql(
159
- * `#graphql
160
- * mutation populateProduct($input: ProductInput!) {
161
- * productCreate(input: $input) {
162
- * product {
163
- * id
164
- * }
165
- * }
166
- * }`,
167
- * {
168
- * variables: {
169
- * input: { title: "Product Name" },
170
- * },
171
- * },
172
- * );
173
- *
174
- * const productData = await response.json();
175
- * return json({
176
- * productId: productData.data?.productCreate?.product?.id,
177
- * });
178
- * }
179
- * ```
180
- *
181
- * ```ts
182
- * // /app/shopify.server.ts
183
- * import { shopifyApp } from "@shopify/shopify-app-remix/server";
184
- *
185
- * const shopify = shopifyApp({
186
- * // ...
187
- * });
188
- * export default shopify;
189
- * export const authenticate = shopify.authenticate;
190
- * ```
191
- *
192
- * @example
193
- * <caption>Handling GraphQL errors.</caption>
194
- * <description>Catch `GraphqlQueryError` errors to see error messages from the API.</description>
195
- * ```ts
196
- * // /app/routes/**\/*.ts
197
- * import { ActionFunctionArgs } from "@remix-run/node";
198
- * import { authenticate } from "../shopify.server";
199
- *
200
- * export const action = async ({ request }: ActionFunctionArgs) => {
201
- * const { admin } = await authenticate.admin(request);
202
- *
203
- * try {
204
- * const response = await admin.graphql(
205
- * `#graphql
206
- * query incorrectQuery {
207
- * products(first: 10) {
208
- * nodes {
209
- * not_a_field
210
- * }
211
- * }
212
- * }`,
213
- * );
214
- *
215
- * return json({ data: await response.json() });
216
- * } catch (error) {
217
- * if (error instanceof GraphqlQueryError) {
218
- * // error.body.errors:
219
- * // { graphQLErrors: [
220
- * // { message: "Field 'not_a_field' doesn't exist on type 'Product'" }
221
- * // ] }
222
- * return json({ errors: error.body?.errors }, { status: 500 });
223
- * }
224
- * return json({ message: "An error occurred" }, { status: 500 });
225
- * }
226
- * }
227
- * ```
228
- *
229
- * ```ts
230
- * // /app/shopify.server.ts
231
- * import { shopifyApp } from "@shopify/shopify-app-remix/server";
232
- *
233
- * const shopify = shopifyApp({
234
- * // ...
235
- * });
236
- * export default shopify;
237
- * export const authenticate = shopify.authenticate;
238
- * ```
239
- */
240
- graphql: GraphQLClient<AdminOperations>;
241
248
  }
242
249
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,QAAQ,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;CAC5C;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE;IACzC,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB,MAAM,WAAW,eAAe,CAC9B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB;IAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0HG;IACH,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkGG;IACH,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CACzC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,QAAQ,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;CAC5C;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE;IACzC,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB,MAAM,MAAM,eAAe,CACzB,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,IAE7D,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,SAAS,IAAI,GAC1D,0BAA0B,GAC1B,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAEzC,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkGG;IACH,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB,CACtC,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,CAC7D,SAAQ,0BAA0B;IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4HG;IACH,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;CAC1C"}
@@ -143,7 +143,7 @@ export interface AppConfigArg<Resources extends ShopifyRestResources = ShopifyRe
143
143
  * });
144
144
  * ```
145
145
  */
146
- hooks?: HooksConfig;
146
+ hooks?: HooksConfig<AppConfigArg<Resources, Storage, Future>, Resources>;
147
147
  /**
148
148
  * Does your app render embedded inside the Shopify Admin or on its own.
149
149
  *
@@ -240,7 +240,7 @@ export interface AuthConfig {
240
240
  loginPath: string;
241
241
  }
242
242
  export type WebhookConfig = Record<string, WebhookHandler | WebhookHandler[]>;
243
- interface HooksConfig {
243
+ interface HooksConfig<ConfigArg extends AppConfigArg = AppConfigArg, Resources extends ShopifyRestResources = ShopifyRestResources> {
244
244
  /**
245
245
  * A function to call after a merchant installs your app
246
246
  *
@@ -264,11 +264,11 @@ interface HooksConfig {
264
264
  * });
265
265
  * ```
266
266
  */
267
- afterAuth?: (options: AfterAuthOptions) => void | Promise<void>;
267
+ afterAuth?: (options: AfterAuthOptions<ConfigArg, Resources>) => void | Promise<void>;
268
268
  }
269
- export interface AfterAuthOptions<R extends ShopifyRestResources = ShopifyRestResources> {
269
+ export interface AfterAuthOptions<ConfigArg extends AppConfigArg, Resources extends ShopifyRestResources = ShopifyRestResources> {
270
270
  session: Session;
271
- admin: AdminApiContext<R>;
271
+ admin: AdminApiContext<ConfigArg, Resources>;
272
272
  }
273
273
  export {};
274
274
  //# sourceMappingURL=config-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../../../src/server/config-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../../../src/server/config-types.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,24 @@ export interface FutureFlags {
11
11
  */
12
12
  unstable_newEmbeddedAuthStrategy?: boolean;
13
13
  /**
14
- * When enabled, the Scopes API will be available. This feature is in development and requires special permissions from Shopify for now.
14
+ * When enabled, methods for interacting with the admin REST API will not be returned.
15
+ *
16
+ * This affects:
17
+ *
18
+ * * `authenticate.admin(request)`
19
+ * * `authenticate.webhook(request)`
20
+ * * `authenticate.flow(request)`
21
+ * * `authenticate.appProxy(request)`
22
+ * * `authenticate.fulfillmentService(request)`
23
+ * * `unauthenticated.admin(shop)`
24
+ *
25
+ * In a future release we will remove REST from the package completely.
26
+ *
27
+ * Please see: [https://www.shopify.com/ca/partners/blog/all-in-on-graphql](https://www.shopify.com/ca/partners/blog/all-in-on-graphql)
15
28
  *
16
29
  * @default false
17
30
  */
18
- wip_optionalScopesApi?: boolean;
31
+ removeRest?: boolean;
19
32
  }
20
33
  export interface ApiFutureFlags<_Future extends FutureFlagOptions> {
21
34
  lineItemBilling: true;
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../src/server/future/flags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAI1C,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAID,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,iBAAiB;IAE/D,eAAe,EAAE,IAAI,CAAC;IACtB,8BAA8B,EAAE,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,iBAAiB,IACnE,YAAY,CAAC,oBAAoB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,iBAAiB,EAChC,IAAI,SAAS,MAAM,WAAW,IAC5B,MAAM,SAAS,WAAW,GAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,QAmB1B"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../src/server/future/flags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAI1C,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAID,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,iBAAiB;IAE/D,eAAe,EAAE,IAAI,CAAC;IACtB,8BAA8B,EAAE,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,iBAAiB,IACnE,YAAY,CAAC,oBAAoB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,iBAAiB,EAChC,IAAI,SAAS,MAAM,WAAW,IAC5B,MAAM,SAAS,WAAW,GAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,QAY1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"shopify-app.d.ts","sourceRoot":"","sources":["../../../src/server/shopify-app.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAIL,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAiB,KAAK,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,UAAU,EAKhB,MAAM,SAAS,CAAC;AAiBjB,OAAO,EAAC,iBAAiB,EAAyB,MAAM,gBAAgB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CACxB,MAAM,SAAS,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,EACvD,SAAS,SAAS,oBAAoB,EACtC,OAAO,SAAS,cAAc,EAC9B,MAAM,SAAS,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,EACnD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CA2DjD;AAkBD,wBAAgB,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAwCrE"}
1
+ {"version":3,"file":"shopify-app.d.ts","sourceRoot":"","sources":["../../../src/server/shopify-app.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAIL,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAiB,KAAK,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,UAAU,EAKhB,MAAM,SAAS,CAAC;AAiBjB,OAAO,EAAC,iBAAiB,EAAyB,MAAM,gBAAgB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CACxB,MAAM,SAAS,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,EACvD,SAAS,SAAS,oBAAoB,EACtC,OAAO,SAAS,cAAc,EAC9B,MAAM,SAAS,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,EACnD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CA6DjD;AAkBD,wBAAgB,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAwCrE"}
@@ -10,7 +10,7 @@ import type { FulfillmentServiceContext as IFulfillmentServiceContext } from './
10
10
  import type { AppProxyContext as IAppProxyContext, AppProxyContextWithSession as IAppProxyContextWithSession } from './authenticate/public/appProxy/types';
11
11
  import type { CheckoutContext as ICheckoutContext } from './authenticate/public/checkout/types';
12
12
  import type { CustomerAccountContext as ICustomerAccountContext } from './authenticate/public/customer-account/types';
13
- import type { AdminApiContext as IAdminApiContext, StorefrontContext as IStorefrontContext } from './clients';
13
+ import type { AdminApiContextWithRest, AdminApiContext as IAdminApiContext, StorefrontContext as IStorefrontContext } from './clients';
14
14
  type ShopifyConfig<App> = App extends ShopifyApp<infer Config extends AppConfigArg> ? Config : never;
15
15
  type ConfigComponents<Config> = Config extends AppConfigArg<infer Resources, infer Storage, infer Future> ? {
16
16
  resources: Resources;
@@ -18,19 +18,19 @@ type ConfigComponents<Config> = Config extends AppConfigArg<infer Resources, inf
18
18
  future: Future;
19
19
  } : never;
20
20
  type DefaultApp = ShopifyApp<AppConfigArg>;
21
- export type UnauthenticatedAdminContext<App = DefaultApp> = IUnauthenticatedAdminContext<ConfigComponents<ShopifyConfig<App>>['resources']>;
21
+ export type UnauthenticatedAdminContext<App = DefaultApp> = IUnauthenticatedAdminContext<ShopifyConfig<App>, ConfigComponents<ShopifyConfig<App>>['resources']>;
22
22
  export type AdminContext<App = DefaultApp> = IAdminContext<ShopifyConfig<App>, ConfigComponents<ShopifyConfig<App>>['resources']>;
23
23
  export type ScopesContext<_App = DefaultApp> = IScopesContext;
24
24
  export type ScopesDetail = IScopesDetail;
25
25
  export type UnauthenticatedStorefrontContext<_App = DefaultApp> = IUnauthenticatedStorefrontContext;
26
- export type FlowContext<App = DefaultApp> = IFlowContext<ConfigComponents<ShopifyConfig<App>>['resources']>;
27
- export type FulfillmentServiceContext<App = DefaultApp> = IFulfillmentServiceContext<ConfigComponents<ShopifyConfig<App>>['resources']>;
28
- export type AppProxyContext<_App = DefaultApp> = IAppProxyContext | IAppProxyContextWithSession;
26
+ export type FlowContext<App = DefaultApp> = IFlowContext<ShopifyConfig<App>, ConfigComponents<ShopifyConfig<App>>['resources']>;
27
+ export type FulfillmentServiceContext<App = DefaultApp> = IFulfillmentServiceContext<ShopifyConfig<App>, ConfigComponents<ShopifyConfig<App>>['resources']>;
28
+ export type AppProxyContext<App = DefaultApp> = IAppProxyContext | IAppProxyContextWithSession<ShopifyConfig<App>>;
29
29
  export type CheckoutContext<_App = DefaultApp> = ICheckoutContext;
30
30
  export type CustomerAccountContext<_App = DefaultApp> = ICustomerAccountContext;
31
- export type WebhookContext<App = DefaultApp> = IWebhookContext<ConfigComponents<ShopifyConfig<App>>['resources'], string>;
32
- export type AdminApiContext<App = DefaultApp> = IAdminApiContext<ConfigComponents<ShopifyConfig<App>>['resources']>;
33
- export type AdminRestClient<App = DefaultApp> = AdminApiContext<App>['rest'];
31
+ export type WebhookContext<App = DefaultApp> = IWebhookContext<ShopifyConfig<App>, ConfigComponents<ShopifyConfig<App>>['resources'], string>;
32
+ export type AdminApiContext<App = DefaultApp> = IAdminApiContext<ShopifyConfig<App>, ConfigComponents<ShopifyConfig<App>>['resources']>;
33
+ export type AdminRestClient<App = DefaultApp> = AdminApiContextWithRest<ShopifyConfig<App>>['rest'];
34
34
  export type AdminGraphqlClient<App = DefaultApp> = AdminApiContext<App>['graphql'];
35
35
  export type StorefrontApiContext<_App = DefaultApp> = IStorefrontContext;
36
36
  export type StorefrontGraphqlClient<App = DefaultApp> = StorefrontApiContext<App>['graphql'];
@@ -1 +1 @@
1
- {"version":3,"file":"types-contexts.d.ts","sourceRoot":"","sources":["../../../src/server/types-contexts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types-contexts.d.ts","sourceRoot":"","sources":["../../../src/server/types-contexts.ts"],"names":[],"mappings":"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"}