@shopify/shopify-app-remix 3.1.0 → 3.3.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.
- package/README.md +56 -12
- package/dist/cjs/server/authenticate/admin/authenticate.js +2 -0
- package/dist/cjs/server/authenticate/admin/authenticate.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/billing/create-usage-record.js +36 -0
- package/dist/cjs/server/authenticate/admin/billing/create-usage-record.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect.js +21 -5
- package/dist/cjs/server/authenticate/admin/helpers/redirect.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/scope/client/fetch-scopes-details.js +26 -0
- package/dist/cjs/server/authenticate/admin/scope/client/fetch-scopes-details.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/scope/client/revoke-scopes.js +1 -1
- package/dist/cjs/server/authenticate/admin/scope/client/revoke-scopes.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/scope/query.js +13 -21
- package/dist/cjs/server/authenticate/admin/scope/query.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/scope/request.js +4 -7
- package/dist/cjs/server/authenticate/admin/scope/request.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/scope/revoke.js +4 -5
- package/dist/cjs/server/authenticate/admin/scope/revoke.js.map +1 -1
- package/dist/cjs/server/index.js +4 -0
- package/dist/cjs/server/index.js.map +1 -1
- package/dist/cjs/server/shopify-app.js +5 -1
- package/dist/cjs/server/shopify-app.js.map +1 -1
- package/dist/cjs/server/test-helpers/index.js +8 -0
- package/dist/cjs/server/test-helpers/index.js.map +1 -0
- package/dist/cjs/server/test-helpers/test-config.js +33 -0
- package/dist/cjs/server/test-helpers/test-config.js.map +1 -0
- package/dist/cjs/server/version.js +1 -1
- package/dist/cjs/session-storage/shopify-app-session-storage-memory/dist/esm/memory.js +29 -0
- package/dist/cjs/session-storage/shopify-app-session-storage-memory/dist/esm/memory.js.map +1 -0
- package/dist/esm/server/authenticate/admin/authenticate.mjs +2 -0
- package/dist/esm/server/authenticate/admin/authenticate.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/billing/create-usage-record.mjs +34 -0
- package/dist/esm/server/authenticate/admin/billing/create-usage-record.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect.mjs +21 -5
- package/dist/esm/server/authenticate/admin/helpers/redirect.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/scope/client/fetch-scopes-details.mjs +24 -0
- package/dist/esm/server/authenticate/admin/scope/client/fetch-scopes-details.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/scope/client/revoke-scopes.mjs +1 -1
- package/dist/esm/server/authenticate/admin/scope/client/revoke-scopes.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/scope/query.mjs +13 -21
- package/dist/esm/server/authenticate/admin/scope/query.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/scope/request.mjs +4 -7
- package/dist/esm/server/authenticate/admin/scope/request.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/scope/revoke.mjs +4 -5
- package/dist/esm/server/authenticate/admin/scope/revoke.mjs.map +1 -1
- package/dist/esm/server/index.mjs +1 -1
- package/dist/esm/server/shopify-app.mjs +5 -1
- package/dist/esm/server/shopify-app.mjs.map +1 -1
- package/dist/esm/server/test-helpers/index.mjs +2 -0
- package/dist/esm/server/test-helpers/index.mjs.map +1 -0
- package/dist/esm/server/test-helpers/test-config.mjs +31 -0
- package/dist/esm/server/test-helpers/test-config.mjs.map +1 -0
- package/dist/esm/server/version.mjs +1 -1
- package/dist/esm/session-storage/shopify-app-session-storage-memory/dist/esm/memory.mjs +27 -0
- package/dist/esm/session-storage/shopify-app-session-storage-memory/dist/esm/memory.mjs.map +1 -0
- package/dist/ts/server/authenticate/admin/authenticate.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/billing/create-usage-record.d.ts +5 -0
- package/dist/ts/server/authenticate/admin/billing/create-usage-record.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/billing/index.d.ts +1 -0
- package/dist/ts/server/authenticate/admin/billing/index.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/billing/types.d.ts +138 -2
- package/dist/ts/server/authenticate/admin/billing/types.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/helpers/redirect.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/scope/client/{fetch-scopes-information.d.ts → fetch-scopes-details.d.ts} +3 -3
- package/dist/ts/server/authenticate/admin/scope/client/fetch-scopes-details.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/scope/query.d.ts +4 -4
- package/dist/ts/server/authenticate/admin/scope/query.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/scope/request.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/scope/revoke.d.ts +3 -1
- package/dist/ts/server/authenticate/admin/scope/revoke.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/scope/types.d.ts +6 -9
- package/dist/ts/server/authenticate/admin/scope/types.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/types.d.ts +1 -1
- package/dist/ts/server/authenticate/admin/types.d.ts.map +1 -1
- package/dist/ts/server/index.d.ts +2 -1
- package/dist/ts/server/index.d.ts.map +1 -1
- package/dist/ts/server/shopify-app.d.ts.map +1 -1
- package/dist/ts/server/test-helpers/index.d.ts +2 -0
- package/dist/ts/server/test-helpers/index.d.ts.map +1 -0
- package/dist/ts/server/test-helpers/test-config.d.ts +36 -0
- package/dist/ts/server/test-helpers/test-config.d.ts.map +1 -0
- package/dist/ts/server/types-contexts.d.ts +4 -1
- package/dist/ts/server/types-contexts.d.ts.map +1 -1
- package/dist/ts/server/types.d.ts +1 -1
- package/dist/ts/server/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 +34 -29
- package/dist/cjs/server/authenticate/admin/scope/client/fetch-scopes-information.js +0 -23
- package/dist/cjs/server/authenticate/admin/scope/client/fetch-scopes-information.js.map +0 -1
- package/dist/esm/server/authenticate/admin/scope/client/fetch-scopes-information.mjs +0 -21
- package/dist/esm/server/authenticate/admin/scope/client/fetch-scopes-information.mjs.map +0 -1
- package/dist/ts/server/authenticate/admin/scope/client/fetch-scopes-information.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.mjs","sources":["../../../../../../src/server/authenticate/admin/authenticate.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authenticate.mjs","sources":["../../../../../../src/server/authenticate/admin/authenticate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { HttpResponseError } from '@shopify/shopify-api';
|
|
2
|
+
import '@remix-run/server-runtime';
|
|
3
|
+
import { redirectToAuthPage } from '../helpers/redirect-to-auth-page.mjs';
|
|
4
|
+
import { invalidateAccessToken } from '../../helpers/invalidate-access-token.mjs';
|
|
5
|
+
import 'isbot';
|
|
6
|
+
import '../../../types.mjs';
|
|
7
|
+
|
|
8
|
+
function createUsageRecordFactory(params, request, session) {
|
|
9
|
+
return async function createUsageRecord(options) {
|
|
10
|
+
const { api, logger } = params;
|
|
11
|
+
logger.debug('Create usage record', { shop: session.shop, ...options });
|
|
12
|
+
try {
|
|
13
|
+
return await api.billing.createUsageRecord({
|
|
14
|
+
...options,
|
|
15
|
+
session,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
if (error instanceof HttpResponseError && error.response.code === 401) {
|
|
20
|
+
logger.debug('API token was invalid, redirecting to OAuth', {
|
|
21
|
+
shop: session.shop,
|
|
22
|
+
});
|
|
23
|
+
await invalidateAccessToken(params, session);
|
|
24
|
+
throw await redirectToAuthPage(params, request, session.shop);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { createUsageRecordFactory };
|
|
34
|
+
//# sourceMappingURL=create-usage-record.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-usage-record.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/create-usage-record.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;SAQgB,wBAAwB,CACtC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,iBAAiB,CAAC,OAAiC,EAAA;AACvE,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,QAAA,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;AAEtE,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;AACzC,gBAAA,GAAG,OAAO;gBACV,OAAO;AACR,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AACH,KAAC,CAAC;AACJ;;;;"}
|
|
@@ -7,7 +7,13 @@ function redirectFactory(params, request, shop) {
|
|
|
7
7
|
const { config, logger } = params;
|
|
8
8
|
return function redirect$1(url, init) {
|
|
9
9
|
const { searchParams } = new URL(request.url);
|
|
10
|
-
const parsedUrl = parseURL(
|
|
10
|
+
const { url: parsedUrl, target } = parseURL({
|
|
11
|
+
params,
|
|
12
|
+
url,
|
|
13
|
+
base: config.appUrl,
|
|
14
|
+
shop,
|
|
15
|
+
init,
|
|
16
|
+
});
|
|
11
17
|
logger.debug('Redirecting', { url: parsedUrl.toString() });
|
|
12
18
|
const isSameOrigin = parsedUrl.origin === config.appUrl;
|
|
13
19
|
if (isSameOrigin || url.startsWith('/')) {
|
|
@@ -17,7 +23,6 @@ function redirectFactory(params, request, shop) {
|
|
|
17
23
|
}
|
|
18
24
|
});
|
|
19
25
|
}
|
|
20
|
-
const target = (typeof init !== 'number' && init?.target) || '_self';
|
|
21
26
|
if (target === '_self') {
|
|
22
27
|
if (isBounceRequest(request)) {
|
|
23
28
|
throw renderAppBridge(params, request, {
|
|
@@ -56,14 +61,25 @@ function isEmbeddedRequest(request) {
|
|
|
56
61
|
const { searchParams } = new URL(request.url);
|
|
57
62
|
return searchParams.get('embedded') === '1';
|
|
58
63
|
}
|
|
59
|
-
function parseURL(
|
|
64
|
+
function parseURL({ params, base, init, shop, url }) {
|
|
65
|
+
let target = typeof init !== 'number' && init?.target ? init.target : undefined;
|
|
60
66
|
if (isAdminRemotePath(url)) {
|
|
67
|
+
const { config } = params;
|
|
61
68
|
const adminPath = getAdminRemotePath(url);
|
|
62
69
|
const cleanShopName = shop.replace('.myshopify.com', '');
|
|
63
|
-
|
|
70
|
+
if (!target) {
|
|
71
|
+
target = config.isEmbeddedApp ? '_parent' : '_self';
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
url: new URL(`https://admin.shopify.com/store/${cleanShopName}${adminPath}`),
|
|
75
|
+
target,
|
|
76
|
+
};
|
|
64
77
|
}
|
|
65
78
|
else {
|
|
66
|
-
return
|
|
79
|
+
return {
|
|
80
|
+
url: new URL(url, base),
|
|
81
|
+
target: target ?? '_self',
|
|
82
|
+
};
|
|
67
83
|
}
|
|
68
84
|
}
|
|
69
85
|
const ADMIN_REGEX = /^shopify:\/*admin\//i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redirect.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/redirect.ts"],"sourcesContent":[null],"names":["redirect","remixRedirect"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"redirect.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/redirect.ts"],"sourcesContent":[null],"names":["redirect","remixRedirect"],"mappings":";;;;;SA+BgB,eAAe,CAC7B,MAAmB,EACnB,OAAgB,EAChB,IAAY,EAAA;AAEZ,IAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAEhC,IAAA,OAAO,SAASA,UAAQ,CAAC,GAAG,EAAE,IAAkB,EAAA;QAC9C,MAAM,EAAC,YAAY,EAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,QAAQ,CAAC;YACxC,MAAM;YACN,GAAG;YACH,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,IAAI;YACJ,IAAI;AACL,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;QAEzD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;QACxD,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;gBAClC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACpC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBACxC;AACH,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,IAAI,MAAM,KAAK,OAAO,EAAE;AACtB,YAAA,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE;AAC5B,gBAAA,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE;AACrC,oBAAA,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE;oBACzB,MAAM;AACP,iBAAA,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAOC,QAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;aAClD;SACF;AAAM,aAAA,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;AACjC,YAAA,MAAM,4BAA4B,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1D;AAAM,aAAA,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;AACrC,YAAA,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE;AACrC,gBAAA,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE;gBACzB,MAAM;AACP,aAAA,CAAC,CAAC;SACJ;AACD,QAAA,OAAOA,QAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClC,KAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB,EAAA;AACvC,IAAA,QACE,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EACvC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAgB,EAAA;AACrC,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;IACvC,MAAM,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnE,IAAA,QACE,kBAAkB;QAClB,CAAC,eAAe,CAAC,OAAO,CAAC;SACxB,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EACvC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB,EAAA;IACzC,MAAM,EAAC,YAAY,EAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE5C,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;AAC9C,CAAC;AAED,SAAS,QAAQ,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAkB,EAAA;IAChE,IAAI,MAAM,GACR,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;AAErE,IAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE;AAC1B,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAEzD,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,GAAG,MAAM,CAAC,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;SACrD;QAED,OAAO;YACL,GAAG,EAAE,IAAI,GAAG,CACV,mCAAmC,aAAa,CAAA,EAAG,SAAS,CAAA,CAAE,CAC/D;YACD,MAAM;SACP,CAAC;KACH;SAAM;QACL,OAAO;AACL,YAAA,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;YACvB,MAAM,EAAE,MAAM,IAAI,OAAO;SAC1B,CAAC;KACH;AACH,CAAC;AAED,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAE3C,SAAS,iBAAiB,CAAC,GAAW,EAAA;AACpC,IAAA,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAiB,EAAA;AAC3C,IAAA,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,OAAO,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,2BAA2B,GAAG;IAClC,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;IACT,UAAU;IACV,MAAM;IACN,WAAW;IACX,MAAM;IACN,UAAU;;IAEV,WAAW;CACZ,CAAC;AAEF,SAAS,sBAAsB,CAAC,GAAiB,EAAA;AAC/C,IAAA,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,IAAA,2BAA2B,CAAC,OAAO,CAAC,CAAC,KAAK,KACxC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAClC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC;AAChB;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const FETCH_SCOPES_DETAIL_QUERY = `#graphql
|
|
2
|
+
query FetchAccessScopes{
|
|
3
|
+
app {
|
|
4
|
+
requestedAccessScopes {
|
|
5
|
+
handle
|
|
6
|
+
}
|
|
7
|
+
optionalAccessScopes {
|
|
8
|
+
handle
|
|
9
|
+
}
|
|
10
|
+
installation {
|
|
11
|
+
accessScopes {
|
|
12
|
+
handle
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}`;
|
|
17
|
+
async function fetchScopeDetail(admin) {
|
|
18
|
+
const fetchScopeDetailResult = await admin.graphql(FETCH_SCOPES_DETAIL_QUERY);
|
|
19
|
+
const resultContent = await fetchScopeDetailResult.json();
|
|
20
|
+
return resultContent.data;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { fetchScopeDetail };
|
|
24
|
+
//# sourceMappingURL=fetch-scopes-details.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-scopes-details.mjs","sources":["../../../../../../../../src/server/authenticate/admin/scope/client/fetch-scopes-details.ts"],"sourcesContent":[null],"names":[],"mappings":"AAkBA,MAAM,yBAAyB,GAAG,CAAA;;;;;;;;;;;;;;;EAehC,CAAC;AAEI,eAAe,gBAAgB,CACpC,KAAsB,EAAA;IAEtB,MAAM,sBAAsB,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAE9E,IAAA,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,CAAC;IAC1D,OAAO,aAAa,CAAC,IAAI,CAAC;AAC5B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revoke-scopes.mjs","sources":["../../../../../../../../src/server/authenticate/admin/scope/client/revoke-scopes.ts"],"sourcesContent":[null],"names":[],"mappings":"AAYA,MAAM,qBAAqB,GAAG,CAAA;;;;;;;;;;;EAW5B,CAAC;AAEI,eAAe,YAAY,CAChC,KAAsB,EACtB,MAAgB,EAAA;IAEhB,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE;AACpE,QAAA,SAAS,EAAE;YACT,MAAM;AACP,SAAA;AACF,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"revoke-scopes.mjs","sources":["../../../../../../../../src/server/authenticate/admin/scope/client/revoke-scopes.ts"],"sourcesContent":[null],"names":[],"mappings":"AAYA,MAAM,qBAAqB,GAAG,CAAA;;;;;;;;;;;EAW5B,CAAC;AAEI,eAAe,YAAY,CAChC,KAAsB,EACtB,MAAgB,EAAA;IAEhB,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE;AACpE,QAAA,SAAS,EAAE;YACT,MAAM;AACP,SAAA;AACF,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAC;AACtD,IAAA,OAAO,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAClD;;;;"}
|
|
@@ -1,35 +1,27 @@
|
|
|
1
1
|
import { AuthScopes } from '@shopify/shopify-api';
|
|
2
|
-
import {
|
|
2
|
+
import { fetchScopeDetail } from './client/fetch-scopes-details.mjs';
|
|
3
3
|
|
|
4
4
|
function queryScopesFactory(params, session, admin) {
|
|
5
5
|
return async function queryScopes() {
|
|
6
6
|
const { logger } = params;
|
|
7
|
-
logger.debug('
|
|
7
|
+
logger.debug('Querying scopes details: ', {
|
|
8
8
|
shop: session.shop,
|
|
9
9
|
});
|
|
10
|
-
const
|
|
11
|
-
return
|
|
10
|
+
const scopesDetail = await fetchScopeDetail(admin);
|
|
11
|
+
return mapFetchScopeDetail(scopesDetail);
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
const appInformation =
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
.filter((scope) => declaredRequired.has(scope));
|
|
20
|
-
const grantedOptional = appInformation.installation.accessScopes
|
|
21
|
-
.map((scope) => scope.handle)
|
|
22
|
-
.filter((scope) => !declaredRequired.has(scope));
|
|
14
|
+
function mapFetchScopeDetail(scopesDetailResponse) {
|
|
15
|
+
const appInformation = scopesDetailResponse.app;
|
|
16
|
+
const granted = new AuthScopes(appInformation.installation.accessScopes.map((scope) => scope.handle));
|
|
17
|
+
const required = new AuthScopes(appInformation.requestedAccessScopes.map((scope) => scope.handle));
|
|
18
|
+
const optional = new AuthScopes(appInformation.optionalAccessScopes.map((scope) => scope.handle));
|
|
23
19
|
return {
|
|
24
|
-
granted:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
declared: {
|
|
29
|
-
required: declaredRequired.toArray(),
|
|
30
|
-
},
|
|
20
|
+
granted: granted.toArray(),
|
|
21
|
+
required: required.toArray(),
|
|
22
|
+
optional: optional.toArray(),
|
|
31
23
|
};
|
|
32
24
|
}
|
|
33
25
|
|
|
34
|
-
export {
|
|
26
|
+
export { mapFetchScopeDetail, queryScopesFactory };
|
|
35
27
|
//# sourceMappingURL=query.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/query.ts"],"sourcesContent":[null],"names":[],"mappings":";;;SAWgB,kBAAkB,CAChC,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;IAEtB,OAAO,eAAe,WAAW,GAAA;AAC/B,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"query.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/query.ts"],"sourcesContent":[null],"names":[],"mappings":";;;SAWgB,kBAAkB,CAChC,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;IAEtB,OAAO,eAAe,WAAW,GAAA;AAC/B,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;YACxC,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACnD,QAAA,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC3C,KAAC,CAAC;AACJ,CAAC;AAEK,SAAU,mBAAmB,CACjC,oBAA+C,EAAA;AAE/C,IAAA,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC;IAEhD,MAAM,OAAO,GAAG,IAAI,UAAU,CAC5B,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CACtE,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,UAAU,CAC7B,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAClE,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,UAAU,CAC7B,cAAc,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CACjE,CAAC;IAEF,OAAO;AACL,QAAA,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;AAC1B,QAAA,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE;AAC5B,QAAA,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE;KAC7B,CAAC;AACJ;;;;"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { AuthScopes } from '@shopify/shopify-api';
|
|
2
2
|
import { redirectToInstallPage } from '../helpers/redirect-to-install-page.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { fetchScopeDetail } from './client/fetch-scopes-details.mjs';
|
|
4
4
|
|
|
5
5
|
function requestScopesFactory(params, session, admin) {
|
|
6
6
|
return async function requestScopes(scopes) {
|
|
7
7
|
const { logger } = params;
|
|
8
|
-
logger.debug('
|
|
9
|
-
shop: session.shop,
|
|
10
|
-
...{ scopes },
|
|
11
|
-
});
|
|
8
|
+
logger.debug('Requesting optional scopes: ', { shop: session.shop, scopes });
|
|
12
9
|
if (scopes.length === 0)
|
|
13
10
|
return;
|
|
14
11
|
if (await alreadyGranted(scopes, admin))
|
|
@@ -16,8 +13,8 @@ function requestScopesFactory(params, session, admin) {
|
|
|
16
13
|
throw await redirectToInstallPage(params, session.shop, scopes);
|
|
17
14
|
};
|
|
18
15
|
async function alreadyGranted(scopes, admin) {
|
|
19
|
-
const
|
|
20
|
-
const grantedScopes =
|
|
16
|
+
const scopesDetail = await fetchScopeDetail(admin);
|
|
17
|
+
const grantedScopes = scopesDetail.app.installation.accessScopes.map((scope) => scope.handle);
|
|
21
18
|
return new AuthScopes(grantedScopes).has(scopes);
|
|
22
19
|
}
|
|
23
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/request.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;SAQgB,oBAAoB,CAClC,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;AAEtB,IAAA,OAAO,eAAe,aAAa,CAAC,MAAgB,EAAA;AAClD,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"request.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/request.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;SAQgB,oBAAoB,CAClC,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;AAEtB,IAAA,OAAO,eAAe,aAAa,CAAC,MAAgB,EAAA;AAClD,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;AAE3E,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;AAChC,QAAA,IAAI,MAAM,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,OAAO;QAEhD,MAAM,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClE,KAAC,CAAC;AAEF,IAAA,eAAe,cAAc,CAAC,MAAgB,EAAE,KAAsB,EAAA;AACpE,QAAA,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAClE,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CACxB,CAAC;QACF,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KAClD;AACH;;;;"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { revokeScopes } from './client/revoke-scopes.mjs';
|
|
2
|
-
import { fetchScopeInformation } from './client/fetch-scopes-information.mjs';
|
|
3
|
-
import { mapFetchScopeInformation } from './query.mjs';
|
|
4
2
|
|
|
5
3
|
function revokeScopesFactory(params, session, admin) {
|
|
6
4
|
return async function revoke(scopes) {
|
|
7
5
|
const { logger } = params;
|
|
6
|
+
await validateScopes(scopes);
|
|
8
7
|
logger.debug('Revoke scopes: ', {
|
|
9
8
|
shop: session.shop,
|
|
10
9
|
scopes,
|
|
11
10
|
});
|
|
12
|
-
await validateScopes(scopes);
|
|
13
11
|
const revokeScopesResult = await revokeScopes(admin, scopes);
|
|
14
12
|
if (revokeScopesResult.userErrors?.length > 0) {
|
|
15
13
|
logger.error('Failed to revoke scopes: ', {
|
|
@@ -23,8 +21,9 @@ function revokeScopesFactory(params, session, admin) {
|
|
|
23
21
|
},
|
|
24
22
|
});
|
|
25
23
|
}
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
return {
|
|
25
|
+
revoked: revokeScopesResult.revoked.map((scope) => scope.handle),
|
|
26
|
+
};
|
|
28
27
|
};
|
|
29
28
|
}
|
|
30
29
|
async function validateScopes(scopes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revoke.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/revoke.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"revoke.mjs","sources":["../../../../../../../src/server/authenticate/admin/scope/revoke.ts"],"sourcesContent":[null],"names":[],"mappings":";;SAOgB,mBAAmB,CACjC,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;AAEtB,IAAA,OAAO,eAAe,MAAM,CAAC,MAAgB,EAAA;AAC3C,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;AAE7B,QAAA,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM;AACP,SAAA,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7C,YAAA,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,kBAAkB,CAAC,UAAU;AACtC,aAAA,CAAC,CAAC;YAEH,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;AAChE,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,kBAAkB;AACnC,iBAAA;AACF,aAAA,CAAC,CAAC;SACJ;QAED,OAAO;AACL,YAAA,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC;SACjE,CAAC;AACJ,KAAC,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC,MAAgB,EAAA;IAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;KACzD;AACH;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import '@shopify/shopify-api/adapters/web-api';
|
|
2
2
|
import { setAbstractRuntimeString } from '@shopify/shopify-api/runtime';
|
|
3
|
-
export { ApiVersion, BillingInterval, DeliveryMethod, LATEST_API_VERSION, LogSeverity, Session } from '@shopify/shopify-api';
|
|
3
|
+
export { ApiVersion, BillingInterval, BillingReplacementBehavior, DeliveryMethod, LATEST_API_VERSION, LogSeverity, Session } from '@shopify/shopify-api';
|
|
4
4
|
export { AppDistribution, LoginErrorType } from './types.mjs';
|
|
5
5
|
export { boundary } from './boundary/index.mjs';
|
|
6
6
|
export { shopifyApp } from './shopify-app.mjs';
|
|
@@ -102,7 +102,11 @@ function deriveApi(appConfig) {
|
|
|
102
102
|
appUrl = new URL(appConfig.appUrl);
|
|
103
103
|
}
|
|
104
104
|
catch (error) {
|
|
105
|
-
|
|
105
|
+
const message = appConfig.appUrl === ''
|
|
106
|
+
? `Detected an empty appUrl configuration, please make sure to set the necessary environment variables.\n` +
|
|
107
|
+
`If you're deploying your app, you can find more information at https://shopify.dev/docs/apps/launch/deployment/deploy-web-app/deploy-to-hosting-service#step-4-set-up-environment-variables`
|
|
108
|
+
: `Invalid appUrl configuration '${appConfig.appUrl}', please provide a valid URL.`;
|
|
109
|
+
throw new ShopifyError(message);
|
|
106
110
|
}
|
|
107
111
|
/* eslint-disable no-process-env */
|
|
108
112
|
if (appUrl.hostname === 'localhost' && !appUrl.port && process.env.PORT) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify-app.mjs","sources":["../../../../src/server/shopify-app.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAsCA;;;;;;;;;;;;;;;;;;;;AAoBG;AACG,SAAU,UAAU,CAKxB,SAA2B,EAAA;AAC3B,IAAA,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,YAAY,CAAU,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE1C,IAAA,IAAI,SAAS,CAAC,QAAQ,EAAE;QACtB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC9C;IAED,MAAM,MAAM,GAAgB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC;AAElD,IAAA,IAAI,QAAQ,CAAC;IACb,IAAI,MAAM,CAAC,YAAY,KAAK,eAAe,CAAC,YAAY,EAAE;AACxD,QAAA,QAAQ,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;KAC3C;AAAM,SAAA,IACL,MAAM,CAAC,MAAM,CAAC,gCAAgC;QAC9C,MAAM,CAAC,aAAa,EACpB;AACA,QAAA,QAAQ,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;KAC9C;SAAM;AACL,QAAA,QAAQ,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;KAC7C;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAoB;AAC1D,QAAA,GAAG,MAAM;QACT,QAAQ;AACT,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,OAAO,GAGmB;QAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;AACrC,QAAA,0BAA0B,EAAE,iCAAiC,CAAC,MAAM,CAAC;AACrE,QAAA,gBAAgB,EAAE,uBAAuB,CAAC,MAAM,CAAC;AACjD,QAAA,YAAY,EAAE;AACZ,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,IAAI,EAAE,uBAAuB,CAAY,MAAM,CAAC;AAChD,YAAA,MAAM,EAAE,yBAAyB,CAAY,MAAM,CAAC;AACpD,YAAA,kBAAkB,EAChB,qCAAqC,CAAY,MAAM,CAAC;AAC1D,YAAA,OAAO,EAAE,0BAA0B,CAAoB,MAAM,CAAC;AAC/D,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,KAAK,EAAE,kCAAkC,CAAC,MAAM,CAAC;AACjD,YAAA,UAAU,EAAE,uCAAuC,CAAC,MAAM,CAAC;AAC5D,SAAA;KACF,CAAC;AAEF,IAAA,IACE,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;AACjC,QAAA,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,EACvC;AACA,QAAA,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;KACtC;AAED,IAAA,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvC,IAAA,OAAO,OAA6B,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CACpB,QAAgC,EAChC,MAAc,EAAA;AAEd,IAAA,OAAO,MAAM,CAAC,YAAY,KAAK,eAAe,CAAC,QAAQ,CAAC;AAC1D,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAgC,EAChC,MAAc,EAAA;AAEd,IAAA,OAAO,MAAM,CAAC,YAAY,KAAK,eAAe,CAAC,cAAc,CAAC;AAChE,CAAC;AAED;AACA;AACM,SAAU,SAAS,CAAC,SAAuB,EAAA;AAC/C,IAAA,IAAI,MAAW,CAAC;AAChB,IAAA,IAAI;QACF,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KACpC;IAAC,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"shopify-app.mjs","sources":["../../../../src/server/shopify-app.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LogSeverity } from '@shopify/shopify-api';
|
|
2
|
+
import { MemorySessionStorage } from '../../session-storage/shopify-app-session-storage-memory/dist/esm/memory.mjs';
|
|
3
|
+
import { API_KEY, API_SECRET_KEY, APP_URL } from '@shopify/shopify-api/test-helpers';
|
|
4
|
+
|
|
5
|
+
const TEST_CONFIG = {
|
|
6
|
+
apiKey: API_KEY,
|
|
7
|
+
apiSecretKey: API_SECRET_KEY,
|
|
8
|
+
scopes: ['testScope'],
|
|
9
|
+
appUrl: APP_URL,
|
|
10
|
+
adminApiAccessToken: API_KEY,
|
|
11
|
+
privateAppStorefrontAccessToken: API_KEY,
|
|
12
|
+
logger: {
|
|
13
|
+
level: LogSeverity.Debug,
|
|
14
|
+
},
|
|
15
|
+
sessionStorage: new MemorySessionStorage(),
|
|
16
|
+
isTesting: true,
|
|
17
|
+
};
|
|
18
|
+
function testConfig({ future, ...overrides } = {}) {
|
|
19
|
+
return {
|
|
20
|
+
...TEST_CONFIG,
|
|
21
|
+
...overrides,
|
|
22
|
+
logger: {
|
|
23
|
+
...TEST_CONFIG.logger,
|
|
24
|
+
...overrides.logger,
|
|
25
|
+
},
|
|
26
|
+
future,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { testConfig };
|
|
31
|
+
//# sourceMappingURL=test-config.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-config.mjs","sources":["../../../../../src/server/test-helpers/test-config.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYA,MAAM,WAAW,GAAG;AAClB,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,CAAC,WAAW,CAAQ;AAC5B,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,mBAAmB,EAAE,OAAO;AAC5B,IAAA,+BAA+B,EAAE,OAAO;AACxC,IAAA,MAAM,EAAE;QACN,KAAK,EAAE,WAAW,CAAC,KAAK;AACzB,KAAA;IACD,cAAc,EAAE,IAAI,oBAAoB,EAAE;AAC1C,IAAA,SAAS,EAAE,IAAI;CACP,CAAC;AAEL,SAAU,UAAU,CAIxB,EAAC,MAAM,EAAE,GAAG,SAAS,EAAA,GAAmC,EAEvD,EAAA;IAED,OAAO;AACL,QAAA,GAAG,WAAW;AACd,QAAA,GAAG,SAAS;AACZ,QAAA,MAAM,EAAE;YACN,GAAG,WAAW,CAAC,MAAM;YACrB,GAAI,SAAoC,CAAC,MAAM;AAChD,SAAA;QACD,MAAM;KACA,CAAC;AACX;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
class MemorySessionStorage {
|
|
2
|
+
sessions = {};
|
|
3
|
+
async storeSession(session) {
|
|
4
|
+
this.sessions[session.id] = session;
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
async loadSession(id) {
|
|
8
|
+
return this.sessions[id] || undefined;
|
|
9
|
+
}
|
|
10
|
+
async deleteSession(id) {
|
|
11
|
+
if (this.sessions[id]) {
|
|
12
|
+
delete this.sessions[id];
|
|
13
|
+
}
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
async deleteSessions(ids) {
|
|
17
|
+
ids.forEach((id) => delete this.sessions[id]);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
async findSessionsByShop(shop) {
|
|
21
|
+
const results = Object.values(this.sessions).filter((session) => session.shop === shop);
|
|
22
|
+
return results;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { MemorySessionStorage };
|
|
27
|
+
//# sourceMappingURL=memory.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.mjs","sources":["../../../../../../../session-storage/shopify-app-session-storage-memory/dist/esm/memory.mjs"],"sourcesContent":["class MemorySessionStorage {\n sessions = {};\n async storeSession(session) {\n this.sessions[session.id] = session;\n return true;\n }\n async loadSession(id) {\n return this.sessions[id] || undefined;\n }\n async deleteSession(id) {\n if (this.sessions[id]) {\n delete this.sessions[id];\n }\n return true;\n }\n async deleteSessions(ids) {\n ids.forEach((id) => delete this.sessions[id]);\n return true;\n }\n async findSessionsByShop(shop) {\n const results = Object.values(this.sessions).filter((session) => session.shop === shop);\n return results;\n }\n}\n\nexport { MemorySessionStorage };\n//# sourceMappingURL=memory.mjs.map\n"],"names":[],"mappings":"AAAA,MAAM,oBAAoB,CAAC;AAC3B,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE;AAChC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;AAC5C,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,MAAM,WAAW,CAAC,EAAE,EAAE;AAC1B,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;AAC9C,KAAK;AACL,IAAI,MAAM,aAAa,CAAC,EAAE,EAAE;AAC5B,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAC/B,YAAY,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrC,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,MAAM,cAAc,CAAC,GAAG,EAAE;AAC9B,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,MAAM,kBAAkB,CAAC,IAAI,EAAE;AACnC,QAAQ,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChG,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/admin/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAW,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/admin/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAW,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAiBrD,OAAO,KAAK,EAEV,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AASjB,OAAO,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AAGzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,UAAU,kBAAmB,SAAQ,WAAW;IAC9C,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED,wBAAgB,mBAAmB,CACjC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAC7D,EACA,QAAQ,EACR,GAAG,MAAM,EACV,EAAE,kBAAkB,GAAG,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CA6H9D"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Session } from '@shopify/shopify-api';
|
|
2
|
+
import type { BasicParams } from '../../../types';
|
|
3
|
+
import type { CreateUsageRecordOptions } from './types';
|
|
4
|
+
export declare function createUsageRecordFactory(params: BasicParams, request: Request, session: Session): (options: CreateUsageRecordOptions) => Promise<import("@shopify/shopify-api").UsageRecord>;
|
|
5
|
+
//# sourceMappingURL=create-usage-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-usage-record.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/admin/billing/create-usage-record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,SAAS,CAAC;AAEtD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,aAEiC,wBAAwB,yDAsB1E"}
|
|
@@ -2,4 +2,5 @@ export { cancelBillingFactory } from './cancel';
|
|
|
2
2
|
export { requireBillingFactory } from './require';
|
|
3
3
|
export { requestBillingFactory } from './request';
|
|
4
4
|
export { checkBillingFactory } from './check';
|
|
5
|
+
export { createUsageRecordFactory } from './create-usage-record';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/admin/billing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAC,qBAAqB,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/admin/billing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAC,qBAAqB,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAC,wBAAwB,EAAC,MAAM,uBAAuB,CAAC"}
|