@shopify/shopify-app-remix 3.6.0 → 3.7.1
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.
- package/dist/cjs/react/components/AppProxyForm/AppProxyForm.js +8 -5
- package/dist/cjs/react/components/AppProxyForm/AppProxyForm.js.map +1 -1
- package/dist/cjs/server/authenticate/login/login.js.map +1 -1
- package/dist/cjs/server/authenticate/public/factory.js +3 -0
- package/dist/cjs/server/authenticate/public/factory.js.map +1 -1
- package/dist/cjs/server/authenticate/public/pos/authenticate.js +10 -0
- package/dist/cjs/server/authenticate/public/pos/authenticate.js.map +1 -0
- package/dist/cjs/server/clients/admin/graphql.js +1 -0
- package/dist/cjs/server/clients/admin/graphql.js.map +1 -1
- package/dist/cjs/server/version.js +1 -1
- package/dist/esm/react/components/AppProxyForm/AppProxyForm.mjs +8 -5
- package/dist/esm/react/components/AppProxyForm/AppProxyForm.mjs.map +1 -1
- package/dist/esm/server/authenticate/login/login.mjs.map +1 -1
- package/dist/esm/server/authenticate/public/factory.mjs +3 -0
- package/dist/esm/server/authenticate/public/factory.mjs.map +1 -1
- package/dist/esm/server/authenticate/public/pos/authenticate.mjs +8 -0
- package/dist/esm/server/authenticate/public/pos/authenticate.mjs.map +1 -0
- package/dist/esm/server/clients/admin/graphql.mjs +1 -0
- package/dist/esm/server/clients/admin/graphql.mjs.map +1 -1
- package/dist/esm/server/version.mjs +1 -1
- package/dist/ts/react/components/AppProxyForm/AppProxyForm.d.ts +8 -5
- package/dist/ts/react/components/AppProxyForm/AppProxyForm.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/types.d.ts +14 -0
- package/dist/ts/server/authenticate/admin/types.d.ts.map +1 -1
- package/dist/ts/server/authenticate/public/factory.d.ts.map +1 -1
- package/dist/ts/server/authenticate/public/pos/authenticate.d.ts +4 -0
- package/dist/ts/server/authenticate/public/pos/authenticate.d.ts.map +1 -0
- package/dist/ts/server/authenticate/public/pos/types.d.ts +58 -0
- package/dist/ts/server/authenticate/public/pos/types.d.ts.map +1 -0
- package/dist/ts/server/authenticate/public/types.d.ts +20 -0
- package/dist/ts/server/authenticate/public/types.d.ts.map +1 -1
- package/dist/ts/server/clients/admin/graphql.d.ts.map +1 -1
- package/dist/ts/server/clients/types.d.ts +4 -0
- package/dist/ts/server/clients/types.d.ts.map +1 -1
- package/dist/ts/server/unauthenticated/admin/types.d.ts +2 -1
- package/dist/ts/server/unauthenticated/admin/types.d.ts.map +1 -1
- package/dist/ts/server/version.d.ts +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +16 -13
|
@@ -6,15 +6,19 @@ var react = require('@remix-run/react');
|
|
|
6
6
|
var AppProxyProvider = require('../AppProxyProvider/AppProxyProvider.js');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Sets up a Remix `<Form>` component that works when rendered
|
|
9
|
+
* Sets up a Remix `<Form>` component that works when rendered on an app proxy page.
|
|
10
10
|
*
|
|
11
11
|
* Supports any properties accepted by the `<Form>` component.
|
|
12
12
|
*
|
|
13
|
+
* Because Remix doesn't support URL rewriting, any route using this component should <b>match the pathname of the proxy
|
|
14
|
+
* URL exactly</b>, and <b>end in a trailing slash</b> (e.g., `https://<shop>/apps/proxy/`), or set the Remix Form prop
|
|
15
|
+
* `navigate` to `false`.
|
|
16
|
+
*
|
|
13
17
|
* @example
|
|
14
18
|
* <caption>Render a form element in a proxied route.</caption>
|
|
15
19
|
* <description>Use an `AppProxyForm` within an `AppProxy` to create a form.</description>
|
|
16
20
|
* ```ts
|
|
17
|
-
* // /app/routes
|
|
21
|
+
* // /app/routes/apps/appProxy.ts
|
|
18
22
|
* import {
|
|
19
23
|
* AppProxyProvider,
|
|
20
24
|
* AppProxyForm,
|
|
@@ -44,12 +48,11 @@ var AppProxyProvider = require('../AppProxyProvider/AppProxyProvider.js');
|
|
|
44
48
|
*
|
|
45
49
|
* export default function App() {
|
|
46
50
|
* const { appUrl } = useLoaderData();
|
|
47
|
-
* const data = useActionData();
|
|
48
51
|
*
|
|
49
52
|
* return (
|
|
50
53
|
* <AppProxyProvider appUrl={appUrl}>
|
|
51
|
-
* <AppProxyForm action="/">
|
|
52
|
-
* <input type="text" name="field"
|
|
54
|
+
* <AppProxyForm action="/apps/appProxy" method="post">
|
|
55
|
+
* <input type="text" name="field" />
|
|
53
56
|
*
|
|
54
57
|
* <input type="submit" name="Submit" />
|
|
55
58
|
* </AppProxyForm>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppProxyForm.js","sources":["../../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"sourcesContent":[null],"names":["useContext","AppProxyProviderContext","_jsx","Form"],"mappings":";;;;;;;AASA
|
|
1
|
+
{"version":3,"file":"AppProxyForm.js","sources":["../../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"sourcesContent":[null],"names":["useContext","AppProxyProviderContext","_jsx","Form"],"mappings":";;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDG;AACG,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAGA,gBAAU,CAACC,wCAAuB,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE;;IAGH,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK;IAE/C,QACEC,eAACC,UAAI,EAAA,EAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAM,GAAA,UAAU,YAC3D,QAAQ,EAAA,CACJ;AAEX;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sources":["../../../../../../src/server/authenticate/login/login.ts"],"sourcesContent":[null],"names":["LoginErrorType","redirect"],"mappings":";;;;;AAIM,SAAU,YAAY,CAAC,MAAmB,EAAA;IAC9C,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,OAAO,eAAe,KAAK,CAAC,OAAgB,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAA,OAAO,EAAE;;AAGX,QAAA,MAAM,IAAI,GACR,SAAS,IAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAY;QAEjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAEA,oBAAc,CAAC,WAAW,EAAC;;QAG3C,MAAM,mBAAmB,GAAG;AACzB,aAAA,OAAO,CAAC,cAAc,EAAE,EAAE;AAC1B,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,cAAc,GAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK
|
|
1
|
+
{"version":3,"file":"login.js","sources":["../../../../../../src/server/authenticate/login/login.ts"],"sourcesContent":[null],"names":["LoginErrorType","redirect"],"mappings":";;;;;AAIM,SAAU,YAAY,CAAC,MAAmB,EAAA;IAC9C,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,OAAO,eAAe,KAAK,CAAC,OAAgB,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAA,OAAO,EAAE;;AAGX,QAAA,MAAM,IAAI,GACR,SAAS,IAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAY;QAEjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAEA,oBAAc,CAAC,WAAW,EAAC;;QAG3C,MAAM,mBAAmB,GAAG;AACzB,aAAA,OAAO,CAAC,cAAc,EAAE,EAAE;AAC1B,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,cAAc,GAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK;cACnB,CAAG,EAAA,mBAAmB,CAAgB,cAAA;cACtC,mBAAmB;QACzB,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;QAE5D,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAEA,oBAAc,CAAC,WAAW,EAAC;;AAG3C,QAAA,MAAM,QAAQ,GAAG,CAAG,EAAA,MAAM,CAAC,MAAM,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAS,MAAA,EAAA,aAAa,EAAE;QAE5E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAClE,MAAM,WAAW,GAAG,CAAW,QAAA,EAAA,SAAS,4BAA4B,MAAM,CAAC,MAAM,CAAA,CAAE;QAEnF,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAgC;QACxE,MAAM,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ;AAE1D,QAAA,MAAM,CAAC,IAAI,CAAC,CAAgC,6BAAA,EAAA,WAAW,EAAE,EAAE;AACzD,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC;AAEF,QAAA,MAAMC,sBAAQ,CAAC,WAAW,CAAC;AAC7B,KAAC;AACH;;;;"}
|
|
@@ -3,15 +3,18 @@
|
|
|
3
3
|
var authenticate = require('./checkout/authenticate.js');
|
|
4
4
|
var authenticate$1 = require('./appProxy/authenticate.js');
|
|
5
5
|
var authenticate$2 = require('./customer-account/authenticate.js');
|
|
6
|
+
var authenticate$3 = require('./pos/authenticate.js');
|
|
6
7
|
|
|
7
8
|
function authenticatePublicFactory(params) {
|
|
8
9
|
const authenticateCheckout = authenticate.authenticateCheckoutFactory(params);
|
|
9
10
|
const authenticateAppProxy = authenticate$1.authenticateAppProxyFactory(params);
|
|
10
11
|
const authenticateCustomerAccount = authenticate$2.authenticateCustomerAccountFactory(params);
|
|
12
|
+
const authenticatePOS = authenticate$3.authenticatePOSFactory(params);
|
|
11
13
|
const context = {
|
|
12
14
|
checkout: authenticateCheckout,
|
|
13
15
|
appProxy: authenticateAppProxy,
|
|
14
16
|
customerAccount: authenticateCustomerAccount,
|
|
17
|
+
pos: authenticatePOS,
|
|
15
18
|
};
|
|
16
19
|
return context;
|
|
17
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sources":["../../../../../../src/server/authenticate/public/factory.ts"],"sourcesContent":[null],"names":["authenticateCheckoutFactory","authenticateAppProxyFactory","authenticateCustomerAccountFactory"],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.js","sources":["../../../../../../src/server/authenticate/public/factory.ts"],"sourcesContent":[null],"names":["authenticateCheckoutFactory","authenticateAppProxyFactory","authenticateCustomerAccountFactory","authenticatePOSFactory"],"mappings":";;;;;;;AAWM,SAAU,yBAAyB,CAGvC,MAAmB,EAAA;AACnB,IAAA,MAAM,oBAAoB,GAAGA,wCAA2B,CAAC,MAAM,CAAC;AAChE,IAAA,MAAM,oBAAoB,GAAGC,0CAA2B,CAGtD,MAAM,CAAC;AACT,IAAA,MAAM,2BAA2B,GAC/BC,iDAAkC,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,eAAe,GAAGC,qCAAsB,CAAC,MAAM,CAAC;AAEtD,IAAA,MAAM,OAAO,GAAkC;AAC7C,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,eAAe,EAAE,2BAA2B;AAC5C,QAAA,GAAG,EAAE,eAAe;KACrB;AAED,IAAA,OAAO,OAAO;AAChB;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var authenticate = require('../extension/authenticate.js');
|
|
4
|
+
|
|
5
|
+
function authenticatePOSFactory(params) {
|
|
6
|
+
return authenticate.authenticateExtensionFactory(params, 'pos');
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
exports.authenticatePOSFactory = authenticatePOSFactory;
|
|
10
|
+
//# sourceMappingURL=authenticate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticate.js","sources":["../../../../../../../src/server/authenticate/public/pos/authenticate.ts"],"sourcesContent":[null],"names":["authenticateExtensionFactory"],"mappings":";;;;AAKM,SAAU,sBAAsB,CAAC,MAAmB,EAAA;AACxD,IAAA,OAAOA,yCAA4B,CAAC,MAAM,EAAE,KAAK,CAAoB;AACvE;;;;"}
|
|
@@ -16,6 +16,7 @@ function graphqlClientFactory({ params, handleClientError, session, }) {
|
|
|
16
16
|
variables: options?.variables,
|
|
17
17
|
retries: options?.tries ? options.tries - 1 : 0,
|
|
18
18
|
headers: options?.headers,
|
|
19
|
+
signal: options?.signal,
|
|
19
20
|
});
|
|
20
21
|
return new Response(JSON.stringify(apiResponse));
|
|
21
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sources":["../../../../../../src/server/clients/admin/graphql.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAMA;AACA;AACA;AACA;AACM,SAAU,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY,EAAA;AACnB,IAAA,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE,OAAO,EAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5C,OAAO;YACP,UAAU,EAAE,OAAO,EAAE,UAAU;AAChC,SAAA,CAAC;AAEF,QAAA,IAAI;;YAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAClD,SAAS,EAAE,OAAO,EAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"graphql.js","sources":["../../../../../../src/server/clients/admin/graphql.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAMA;AACA;AACA;AACA;AACM,SAAU,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY,EAAA;AACnB,IAAA,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE,OAAO,EAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5C,OAAO;YACP,UAAU,EAAE,OAAO,EAAE,UAAU;AAChC,SAAA,CAAC;AAEF,QAAA,IAAI;;YAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAClD,SAAS,EAAE,OAAO,EAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;AACxB,aAAA,CAAC;YAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;;QAChD,OAAO,KAAK,EAAE;YACd,IAAI,iBAAiB,EAAE;gBACrB,MAAM,MAAM,iBAAiB,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;;AAGzD,YAAA,MAAM,KAAK;;AAEf,KAAC;AACH;;;;"}
|
|
@@ -4,15 +4,19 @@ import { Form } from '@remix-run/react';
|
|
|
4
4
|
import { AppProxyProviderContext } from '../AppProxyProvider/AppProxyProvider.mjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Sets up a Remix `<Form>` component that works when rendered
|
|
7
|
+
* Sets up a Remix `<Form>` component that works when rendered on an app proxy page.
|
|
8
8
|
*
|
|
9
9
|
* Supports any properties accepted by the `<Form>` component.
|
|
10
10
|
*
|
|
11
|
+
* Because Remix doesn't support URL rewriting, any route using this component should <b>match the pathname of the proxy
|
|
12
|
+
* URL exactly</b>, and <b>end in a trailing slash</b> (e.g., `https://<shop>/apps/proxy/`), or set the Remix Form prop
|
|
13
|
+
* `navigate` to `false`.
|
|
14
|
+
*
|
|
11
15
|
* @example
|
|
12
16
|
* <caption>Render a form element in a proxied route.</caption>
|
|
13
17
|
* <description>Use an `AppProxyForm` within an `AppProxy` to create a form.</description>
|
|
14
18
|
* ```ts
|
|
15
|
-
* // /app/routes
|
|
19
|
+
* // /app/routes/apps/appProxy.ts
|
|
16
20
|
* import {
|
|
17
21
|
* AppProxyProvider,
|
|
18
22
|
* AppProxyForm,
|
|
@@ -42,12 +46,11 @@ import { AppProxyProviderContext } from '../AppProxyProvider/AppProxyProvider.mj
|
|
|
42
46
|
*
|
|
43
47
|
* export default function App() {
|
|
44
48
|
* const { appUrl } = useLoaderData();
|
|
45
|
-
* const data = useActionData();
|
|
46
49
|
*
|
|
47
50
|
* return (
|
|
48
51
|
* <AppProxyProvider appUrl={appUrl}>
|
|
49
|
-
* <AppProxyForm action="/">
|
|
50
|
-
* <input type="text" name="field"
|
|
52
|
+
* <AppProxyForm action="/apps/appProxy" method="post">
|
|
53
|
+
* <input type="text" name="field" />
|
|
51
54
|
*
|
|
52
55
|
* <input type="submit" name="Submit" />
|
|
53
56
|
* </AppProxyForm>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppProxyForm.mjs","sources":["../../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;AASA
|
|
1
|
+
{"version":3,"file":"AppProxyForm.mjs","sources":["../../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDG;AACG,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,uBAAuB,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE;;IAGH,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK;IAE/C,QACEA,IAAC,IAAI,EAAA,EAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAM,GAAA,UAAU,YAC3D,QAAQ,EAAA,CACJ;AAEX;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.mjs","sources":["../../../../../../src/server/authenticate/login/login.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIM,SAAU,YAAY,CAAC,MAAmB,EAAA;IAC9C,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,OAAO,eAAe,KAAK,CAAC,OAAgB,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAA,OAAO,EAAE;;AAGX,QAAA,MAAM,IAAI,GACR,SAAS,IAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAY;QAEjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC;;QAG3C,MAAM,mBAAmB,GAAG;AACzB,aAAA,OAAO,CAAC,cAAc,EAAE,EAAE;AAC1B,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,cAAc,GAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK
|
|
1
|
+
{"version":3,"file":"login.mjs","sources":["../../../../../../src/server/authenticate/login/login.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIM,SAAU,YAAY,CAAC,MAAmB,EAAA;IAC9C,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,OAAO,eAAe,KAAK,CAAC,OAAgB,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAA,OAAO,EAAE;;AAGX,QAAA,MAAM,IAAI,GACR,SAAS,IAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAY;QAEjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC;;QAG3C,MAAM,mBAAmB,GAAG;AACzB,aAAA,OAAO,CAAC,cAAc,EAAE,EAAE;AAC1B,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,cAAc,GAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK;cACnB,CAAG,EAAA,mBAAmB,CAAgB,cAAA;cACtC,mBAAmB;QACzB,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;QAE5D,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC;;AAG3C,QAAA,MAAM,QAAQ,GAAG,CAAG,EAAA,MAAM,CAAC,MAAM,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAS,MAAA,EAAA,aAAa,EAAE;QAE5E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAClE,MAAM,WAAW,GAAG,CAAW,QAAA,EAAA,SAAS,4BAA4B,MAAM,CAAC,MAAM,CAAA,CAAE;QAEnF,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAgC;QACxE,MAAM,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ;AAE1D,QAAA,MAAM,CAAC,IAAI,CAAC,CAAgC,6BAAA,EAAA,WAAW,EAAE,EAAE;AACzD,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC;AAEF,QAAA,MAAM,QAAQ,CAAC,WAAW,CAAC;AAC7B,KAAC;AACH;;;;"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { authenticateCheckoutFactory } from './checkout/authenticate.mjs';
|
|
2
2
|
import { authenticateAppProxyFactory } from './appProxy/authenticate.mjs';
|
|
3
3
|
import { authenticateCustomerAccountFactory } from './customer-account/authenticate.mjs';
|
|
4
|
+
import { authenticatePOSFactory } from './pos/authenticate.mjs';
|
|
4
5
|
|
|
5
6
|
function authenticatePublicFactory(params) {
|
|
6
7
|
const authenticateCheckout = authenticateCheckoutFactory(params);
|
|
7
8
|
const authenticateAppProxy = authenticateAppProxyFactory(params);
|
|
8
9
|
const authenticateCustomerAccount = authenticateCustomerAccountFactory(params);
|
|
10
|
+
const authenticatePOS = authenticatePOSFactory(params);
|
|
9
11
|
const context = {
|
|
10
12
|
checkout: authenticateCheckout,
|
|
11
13
|
appProxy: authenticateAppProxy,
|
|
12
14
|
customerAccount: authenticateCustomerAccount,
|
|
15
|
+
pos: authenticatePOS,
|
|
13
16
|
};
|
|
14
17
|
return context;
|
|
15
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.mjs","sources":["../../../../../../src/server/authenticate/public/factory.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.mjs","sources":["../../../../../../src/server/authenticate/public/factory.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAWM,SAAU,yBAAyB,CAGvC,MAAmB,EAAA;AACnB,IAAA,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,MAAM,CAAC;AAChE,IAAA,MAAM,oBAAoB,GAAG,2BAA2B,CAGtD,MAAM,CAAC;AACT,IAAA,MAAM,2BAA2B,GAC/B,kCAAkC,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC;AAEtD,IAAA,MAAM,OAAO,GAAkC;AAC7C,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,eAAe,EAAE,2BAA2B;AAC5C,QAAA,GAAG,EAAE,eAAe;KACrB;AAED,IAAA,OAAO,OAAO;AAChB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticate.mjs","sources":["../../../../../../../src/server/authenticate/public/pos/authenticate.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKM,SAAU,sBAAsB,CAAC,MAAmB,EAAA;AACxD,IAAA,OAAO,4BAA4B,CAAC,MAAM,EAAE,KAAK,CAAoB;AACvE;;;;"}
|
|
@@ -14,6 +14,7 @@ function graphqlClientFactory({ params, handleClientError, session, }) {
|
|
|
14
14
|
variables: options?.variables,
|
|
15
15
|
retries: options?.tries ? options.tries - 1 : 0,
|
|
16
16
|
headers: options?.headers,
|
|
17
|
+
signal: options?.signal,
|
|
17
18
|
});
|
|
18
19
|
return new Response(JSON.stringify(apiResponse));
|
|
19
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.mjs","sources":["../../../../../../src/server/clients/admin/graphql.ts"],"sourcesContent":[null],"names":[],"mappings":"AAMA;AACA;AACA;AACA;AACM,SAAU,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY,EAAA;AACnB,IAAA,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE,OAAO,EAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5C,OAAO;YACP,UAAU,EAAE,OAAO,EAAE,UAAU;AAChC,SAAA,CAAC;AAEF,QAAA,IAAI;;YAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAClD,SAAS,EAAE,OAAO,EAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"graphql.mjs","sources":["../../../../../../src/server/clients/admin/graphql.ts"],"sourcesContent":[null],"names":[],"mappings":"AAMA;AACA;AACA;AACA;AACM,SAAU,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY,EAAA;AACnB,IAAA,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE,OAAO,EAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5C,OAAO;YACP,UAAU,EAAE,OAAO,EAAE,UAAU;AAChC,SAAA,CAAC;AAEF,QAAA,IAAI;;YAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAClD,SAAS,EAAE,OAAO,EAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;AACxB,aAAA,CAAC;YAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;;QAChD,OAAO,KAAK,EAAE;YACd,IAAI,iBAAiB,EAAE;gBACrB,MAAM,MAAM,iBAAiB,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;;AAGzD,YAAA,MAAM,KAAK;;AAEf,KAAC;AACH;;;;"}
|
|
@@ -3,15 +3,19 @@ export interface AppProxyFormProps extends FormProps {
|
|
|
3
3
|
action: string;
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
|
-
* Sets up a Remix `<Form>` component that works when rendered
|
|
6
|
+
* Sets up a Remix `<Form>` component that works when rendered on an app proxy page.
|
|
7
7
|
*
|
|
8
8
|
* Supports any properties accepted by the `<Form>` component.
|
|
9
9
|
*
|
|
10
|
+
* Because Remix doesn't support URL rewriting, any route using this component should <b>match the pathname of the proxy
|
|
11
|
+
* URL exactly</b>, and <b>end in a trailing slash</b> (e.g., `https://<shop>/apps/proxy/`), or set the Remix Form prop
|
|
12
|
+
* `navigate` to `false`.
|
|
13
|
+
*
|
|
10
14
|
* @example
|
|
11
15
|
* <caption>Render a form element in a proxied route.</caption>
|
|
12
16
|
* <description>Use an `AppProxyForm` within an `AppProxy` to create a form.</description>
|
|
13
17
|
* ```ts
|
|
14
|
-
* // /app/routes
|
|
18
|
+
* // /app/routes/apps/appProxy.ts
|
|
15
19
|
* import {
|
|
16
20
|
* AppProxyProvider,
|
|
17
21
|
* AppProxyForm,
|
|
@@ -41,12 +45,11 @@ export interface AppProxyFormProps extends FormProps {
|
|
|
41
45
|
*
|
|
42
46
|
* export default function App() {
|
|
43
47
|
* const { appUrl } = useLoaderData();
|
|
44
|
-
* const data = useActionData();
|
|
45
48
|
*
|
|
46
49
|
* return (
|
|
47
50
|
* <AppProxyProvider appUrl={appUrl}>
|
|
48
|
-
* <AppProxyForm action="/">
|
|
49
|
-
* <input type="text" name="field"
|
|
51
|
+
* <AppProxyForm action="/apps/appProxy" method="post">
|
|
52
|
+
* <input type="text" name="field" />
|
|
50
53
|
*
|
|
51
54
|
* <input type="submit" name="Submit" />
|
|
52
55
|
* </AppProxyForm>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppProxyForm.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAItD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED
|
|
1
|
+
{"version":3,"file":"AppProxyForm.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAItD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAgBpD"}
|
|
@@ -153,6 +153,20 @@ export interface EmbeddedAdminContext<Config extends AppConfigArg, Resources ext
|
|
|
153
153
|
* ```
|
|
154
154
|
*
|
|
155
155
|
* @example
|
|
156
|
+
* <caption>Redirecting to a page in the Shopify Admin.</caption>
|
|
157
|
+
* <description>Redirects to a product page in the Shopify admin. Pass in a `target` option of `_top` or `_parent` to navigate in the current window, or `_blank` to open a new tab.</description>
|
|
158
|
+
* ```ts
|
|
159
|
+
* // /app/routes/admin/my-route.ts
|
|
160
|
+
* import { LoaderFunctionArgs, json } from "@remix-run/node";
|
|
161
|
+
* import { authenticate } from "../shopify.server";
|
|
162
|
+
*
|
|
163
|
+
* export const loader = async ({ request }: LoaderFunctionArgs) => {
|
|
164
|
+
* const { session, redirect } = await authenticate.admin(request);
|
|
165
|
+
* return redirect("shopify://admin/products/123456", { target: '_parent' });
|
|
166
|
+
* };
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
156
170
|
* <caption>Redirecting outside of the Admin embedded app page.</caption>
|
|
157
171
|
* <description>Pass in a `target` option of `_top` or `_parent` to navigate in the current window, or `_blank` to open a new tab.</description>
|
|
158
172
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/C,UAAU,oBAAoB,CAC5B,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB;IAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyDG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1C;;;;OAIG;IACH,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB,CACnC,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,CAC7D,SAAQ,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/C,UAAU,oBAAoB,CAC5B,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB;IAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyDG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1C;;;;OAIG;IACH,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB,CACnC,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,CAC7D,SAAQ,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AACD,MAAM,WAAW,uBAAuB,CACtC,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,CAC7D,SAAQ,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC;CAAG;AAEpD,KAAK,yBAAyB,CAC5B,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,IAC3D,MAAM,CAAC,eAAe,CAAC,SAAS,KAAK,GACrC,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,GAC1C,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,CACtB,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,oBAAoB,IACpC,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC;AAEjE,MAAM,MAAM,iBAAiB,CAC3B,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,IAC3D,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -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,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;
|
|
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;AAG3C,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,EACtC,MAAM,EAAE,WAAW,iCAkBpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/pos/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAE7C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,CAE3E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { JwtPayload } from '@shopify/shopify-api';
|
|
2
|
+
import { EnsureCORSFunction } from '../../helpers/ensure-cors-headers';
|
|
3
|
+
export type AuthenticatePOS = (request: Request, options?: AuthenticatePOSOptions) => Promise<POSContext>;
|
|
4
|
+
export interface AuthenticatePOSOptions {
|
|
5
|
+
corsHeaders?: string[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Authenticated Context for a POS UI extension request
|
|
9
|
+
*/
|
|
10
|
+
export interface POSContext {
|
|
11
|
+
/**
|
|
12
|
+
* The decoded and validated session token for the request
|
|
13
|
+
*
|
|
14
|
+
* Refer to the OAuth docs for the [session token payload](https://shopify.dev/docs/apps/auth/oauth/session-tokens#payload).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <caption>Using the decoded session token.</caption>
|
|
18
|
+
* <description>Get store-specific data using the `sessionToken` object.</description>
|
|
19
|
+
* ```ts
|
|
20
|
+
* // app/routes/public/my-route.ts
|
|
21
|
+
* import { LoaderFunctionArgs, json } from "@remix-run/node";
|
|
22
|
+
* import { authenticate } from "../shopify.server";
|
|
23
|
+
* import { getMyAppData } from "~/db/model.server";
|
|
24
|
+
*
|
|
25
|
+
* export const loader = async ({ request }: LoaderFunctionArgs) => {
|
|
26
|
+
* const { sessionToken } = await authenticate.public.pos(
|
|
27
|
+
* request
|
|
28
|
+
* );
|
|
29
|
+
* return json(await getMyAppData({shop: sessionToken.dest}));
|
|
30
|
+
* };
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
sessionToken: JwtPayload;
|
|
34
|
+
/**
|
|
35
|
+
* A function that ensures the CORS headers are set correctly for the response.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* <caption>Setting CORS headers for a public request.</caption>
|
|
39
|
+
* <description>Use the `cors` helper to ensure your app can respond to POS UI extension requests.</description>
|
|
40
|
+
* ```ts
|
|
41
|
+
* // app/routes/public/my-route.ts
|
|
42
|
+
* import { LoaderFunctionArgs, json } from "@remix-run/node";
|
|
43
|
+
* import { authenticate } from "../shopify.server";
|
|
44
|
+
* import { getMyAppData } from "~/db/model.server";
|
|
45
|
+
*
|
|
46
|
+
* export const loader = async ({ request }: LoaderFunctionArgs) => {
|
|
47
|
+
* const { sessionToken, cors } = await authenticate.public.pos(
|
|
48
|
+
* request,
|
|
49
|
+
* { corsHeaders: ["X-My-Custom-Header"] }
|
|
50
|
+
* );
|
|
51
|
+
* const data = await getMyAppData({shop: sessionToken.dest});
|
|
52
|
+
* return cors(json(data));
|
|
53
|
+
* };
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
cors: EnsureCORSFunction;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/pos/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B"}
|
|
@@ -2,6 +2,7 @@ import type { AppConfigArg } from '../../config-types';
|
|
|
2
2
|
import type { AuthenticateCheckout } from './checkout/types';
|
|
3
3
|
import type { AuthenticateAppProxy } from './appProxy/types';
|
|
4
4
|
import type { AuthenticateCustomerAccount } from './customer-account/types';
|
|
5
|
+
import type { AuthenticatePOS } from './pos/types';
|
|
5
6
|
export interface AuthenticatePublic<Config extends AppConfigArg> {
|
|
6
7
|
/**
|
|
7
8
|
* Authenticate a request from a checkout extension
|
|
@@ -65,5 +66,24 @@ export interface AuthenticatePublic<Config extends AppConfigArg> {
|
|
|
65
66
|
* ```
|
|
66
67
|
*/
|
|
67
68
|
customerAccount: AuthenticateCustomerAccount;
|
|
69
|
+
/**
|
|
70
|
+
* Authenticate a request from a POS UI extension
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* <caption>Authenticating a POS UI extension request</caption>
|
|
74
|
+
* ```ts
|
|
75
|
+
* // /app/routes/public/widgets.ts
|
|
76
|
+
* import { LoaderFunctionArgs, json } from "@remix-run/node";
|
|
77
|
+
* import { authenticate } from "../shopify.server";
|
|
78
|
+
*
|
|
79
|
+
* export const loader = async ({ request }: LoaderFunctionArgs) => {
|
|
80
|
+
* const { sessionToken, cors } = await authenticate.public.pos(
|
|
81
|
+
* request,
|
|
82
|
+
* );
|
|
83
|
+
* return cors(json({my: "data", shop: sessionToken.dest}));
|
|
84
|
+
* };
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
pos: AuthenticatePOS;
|
|
68
88
|
}
|
|
69
89
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAC1E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAOjD,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;IAE7C;;;;;;;;;;;;;;;;;OAiBG;IACH,GAAG,EAAE,eAAe,CAAC;CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAM3C,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACR,EAAE,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAM3C,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACR,EAAE,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,CAyBrD"}
|
|
@@ -17,6 +17,10 @@ export interface GraphQLQueryOptions<Operation extends keyof Operations, Operati
|
|
|
17
17
|
* The total number of times to try the request if it fails.
|
|
18
18
|
*/
|
|
19
19
|
tries?: number;
|
|
20
|
+
/**
|
|
21
|
+
* An optional AbortSignal to cancel the request.
|
|
22
|
+
*/
|
|
23
|
+
signal?: AbortSignal;
|
|
20
24
|
}
|
|
21
25
|
export type GraphQLResponse<Operation extends keyof Operations, Operations extends AllOperations> = ResponseWithType<FetchResponseBody<ReturnData<Operation, Operations>>>;
|
|
22
26
|
export type GraphQLClient<Operations extends AllOperations> = <Operation extends keyof Operations>(query: Operation, options?: GraphQLQueryOptions<Operation, Operations>) => Promise<GraphQLResponse<Operation, Operations>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/clients/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,MAAM,WAAW,mBAAmB,CAClC,SAAS,SAAS,MAAM,UAAU,EAClC,UAAU,SAAS,aAAa;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/clients/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,MAAM,WAAW,mBAAmB,CAClC,SAAS,SAAS,MAAM,UAAU,EAClC,UAAU,SAAS,aAAa;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,CACzB,SAAS,SAAS,MAAM,UAAU,EAClC,UAAU,SAAS,aAAa,IAC9B,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,aAAa,CAAC,UAAU,SAAS,aAAa,IAAI,CAC5D,SAAS,SAAS,MAAM,UAAU,EAElC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,KACjD,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC"}
|
|
@@ -38,7 +38,8 @@ export interface UnauthenticatedAdminContext<ConfigArg extends AppConfigArg, Res
|
|
|
38
38
|
* import { unauthenticated } from "../shopify.server";
|
|
39
39
|
*
|
|
40
40
|
* export async function action({ request }: ActionFunctionArgs) {
|
|
41
|
-
* const
|
|
41
|
+
* const shop = getShopFromExternalRequest(request);
|
|
42
|
+
* const { admin } = await unauthenticated.admin(shop);
|
|
42
43
|
*
|
|
43
44
|
* const response = await admin.graphql(
|
|
44
45
|
* `#graphql
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,2BAA2B,CAC1C,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB;IAEtC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,2BAA2B,CAC1C,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB;IAEtC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,8BAA8B,CACxC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,IACpC,CACF,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,2BAA2B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "3.
|
|
1
|
+
export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "3.7.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|