@shopify/shopify-api 8.0.2 → 8.1.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/future/flags.d.ts +2 -0
- package/future/flags.d.ts.map +1 -1
- package/lib/auth/get-embedded-app-url.d.ts +4 -2
- package/lib/auth/get-embedded-app-url.d.ts.map +1 -1
- package/lib/auth/get-embedded-app-url.js.map +1 -1
- package/lib/auth/index.d.ts +19 -11
- package/lib/auth/index.d.ts.map +1 -1
- package/lib/auth/index.js +7 -1
- package/lib/auth/index.js.map +1 -1
- package/lib/auth/oauth/create-session.d.ts +12 -0
- package/lib/auth/oauth/create-session.d.ts.map +1 -0
- package/lib/auth/oauth/create-session.js +58 -0
- package/lib/auth/oauth/create-session.js.map +1 -0
- package/lib/auth/oauth/nonce.d.ts +1 -0
- package/lib/auth/oauth/nonce.d.ts.map +1 -1
- package/lib/auth/oauth/nonce.js.map +1 -1
- package/lib/auth/oauth/oauth.d.ts +4 -2
- package/lib/auth/oauth/oauth.d.ts.map +1 -1
- package/lib/auth/oauth/oauth.js +4 -45
- package/lib/auth/oauth/oauth.js.map +1 -1
- package/lib/auth/oauth/safe-compare.d.ts +3 -2
- package/lib/auth/oauth/safe-compare.d.ts.map +1 -1
- package/lib/auth/oauth/safe-compare.js +2 -2
- package/lib/auth/oauth/safe-compare.js.map +1 -1
- package/lib/auth/oauth/token-exchange.d.ts +16 -0
- package/lib/auth/oauth/token-exchange.d.ts.map +1 -0
- package/lib/auth/oauth/token-exchange.js +52 -0
- package/lib/auth/oauth/token-exchange.js.map +1 -0
- package/lib/auth/types.d.ts +1 -0
- package/lib/auth/types.d.ts.map +1 -1
- package/lib/auth/types.js +3 -0
- package/lib/auth/types.js.map +1 -1
- package/lib/base-types.d.ts +4 -3
- package/lib/base-types.d.ts.map +1 -1
- package/lib/billing/request.d.ts +3 -2
- package/lib/billing/request.d.ts.map +1 -1
- package/lib/billing/request.js +142 -32
- package/lib/billing/request.js.map +1 -1
- package/lib/billing/types.d.ts +23 -3
- package/lib/billing/types.d.ts.map +1 -1
- package/lib/index.d.ts +5 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -2
- package/lib/index.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/webhooks/validate.d.ts.map +1 -1
- package/lib/webhooks/validate.js +1 -1
- package/lib/webhooks/validate.js.map +1 -1
- package/package.json +1 -1
- package/rest/load-rest-resources.d.ts +1 -1
- package/rest/load-rest-resources.d.ts.map +1 -1
- package/rest/load-rest-resources.js.map +1 -1
package/future/flags.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export interface FutureFlags {
|
|
2
|
+
unstable_tokenExchange?: boolean;
|
|
3
|
+
unstable_lineItemBilling?: boolean;
|
|
2
4
|
}
|
|
3
5
|
export type FutureFlagOptions = FutureFlags | undefined;
|
|
4
6
|
export type FeatureEnabled<Future extends FutureFlagOptions, Flag extends keyof FutureFlags> = Future extends FutureFlags ? Future[Flag] extends true ? true : false : false;
|
package/future/flags.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["flags.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;
|
|
1
|
+
{"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["flags.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ConfigInterface } from '../base-types';
|
|
2
2
|
import { GetEmbeddedAppUrlParams } from './types';
|
|
3
|
-
export
|
|
4
|
-
export
|
|
3
|
+
export type GetEmbeddedAppUrl = (params: GetEmbeddedAppUrlParams) => Promise<string>;
|
|
4
|
+
export type BuildEmbeddedAppUrl = (host: string) => string;
|
|
5
|
+
export declare function getEmbeddedAppUrl(config: ConfigInterface): GetEmbeddedAppUrl;
|
|
6
|
+
export declare function buildEmbeddedAppUrl(config: ConfigInterface): BuildEmbeddedAppUrl;
|
|
5
7
|
//# sourceMappingURL=get-embedded-app-url.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-embedded-app-url.d.ts","sourceRoot":"","sources":["get-embedded-app-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAC,uBAAuB,EAAC,MAAM,SAAS,CAAC;AAEhD,
|
|
1
|
+
{"version":3,"file":"get-embedded-app-url.d.ts","sourceRoot":"","sources":["get-embedded-app-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAC,uBAAuB,EAAC,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,iBAAiB,GAAG,CAC9B,MAAM,EAAE,uBAAuB,KAC5B,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAE3D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,CA2B5E;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,GACtB,mBAAmB,CAOrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-embedded-app-url.js","sourceRoot":"","sources":["get-embedded-app-url.ts"],"names":[],"mappings":";;;;AAAA,gEAA0C;AAE1C,6CAA0D;AAC1D,4DAAqD;AAErD,+CAAyC;
|
|
1
|
+
{"version":3,"file":"get-embedded-app-url.js","sourceRoot":"","sources":["get-embedded-app-url.ts"],"names":[],"mappings":";;;;AAAA,gEAA0C;AAE1C,6CAA0D;AAC1D,4DAAqD;AAErD,+CAAyC;AASzC,SAAgB,iBAAiB,CAAC,MAAuB;IACvD,OAAO,CAAO,EAAyC,EAAmB,EAAE;YAA1D,WAAW,sBAAf,EAAgB,CAAD;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAsB,EAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,aAAa,CAAC,uBAAuB,CAC7C,sDAAsD,CACvD,CAAC;SACH;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,MAAM,IAAI,aAAa,CAAC,mBAAmB,CACzC,gCAAgC,CACjC,CAAC;SACH;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,IAAI,aAAa,CAAC,mBAAmB,CACzC,iDAAiD,CAClD,CAAC;SACH;QAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAA,CAAC;AACJ,CAAC;AA3BD,8CA2BC;AAED,SAAgB,mBAAmB,CACjC,MAAuB;IAEvB,OAAO,CAAC,IAAY,EAAU,EAAE;QAC9B,IAAA,6BAAY,GAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAA,wBAAU,EAAC,IAAI,CAAC,CAAC;QAErC,OAAO,WAAW,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC;AATD,kDASC"}
|
package/lib/auth/index.d.ts
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { ConfigInterface } from '../base-types';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
import { FeatureEnabled, FutureFlagOptions } from '../../future/flags';
|
|
3
|
+
import { OAuthBegin, OAuthCallback } from './oauth/oauth';
|
|
4
|
+
import { Nonce } from './oauth/nonce';
|
|
5
|
+
import { SafeCompare } from './oauth/safe-compare';
|
|
6
|
+
import { GetEmbeddedAppUrl, BuildEmbeddedAppUrl } from './get-embedded-app-url';
|
|
7
|
+
import { TokenExchange } from './oauth/token-exchange';
|
|
8
|
+
export declare function shopifyAuth<Config extends ConfigInterface>(config: Config): ShopifyAuth<Config['future']>;
|
|
9
|
+
export type ShopifyAuth<Future extends FutureFlagOptions> = {
|
|
10
|
+
begin: OAuthBegin;
|
|
11
|
+
callback: OAuthCallback;
|
|
12
|
+
nonce: Nonce;
|
|
13
|
+
safeCompare: SafeCompare;
|
|
14
|
+
getEmbeddedAppUrl: GetEmbeddedAppUrl;
|
|
15
|
+
buildEmbeddedAppUrl: BuildEmbeddedAppUrl;
|
|
16
|
+
} & (FeatureEnabled<Future, 'unstable_tokenExchange'> extends true ? {
|
|
17
|
+
tokenExchange: TokenExchange;
|
|
18
|
+
} : {
|
|
19
|
+
[key: string]: never;
|
|
20
|
+
});
|
|
13
21
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAC,UAAU,EAAE,aAAa,EAAkB,MAAM,eAAe,CAAC;AACzE,OAAO,EAAC,KAAK,EAAQ,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAGL,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,aAAa,EAAgB,MAAM,wBAAwB,CAAC;AAEpE,wBAAgB,WAAW,CAAC,MAAM,SAAS,eAAe,EACxD,MAAM,EAAE,MAAM,GACb,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAe/B;AAED,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,iBAAiB,IAAI;IAC1D,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,wBAAwB,CAAC,SAAS,IAAI,GAC9D;IAAC,aAAa,EAAE,aAAa,CAAA;CAAC,GAC9B;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CAAC,CAAC,CAAC"}
|
package/lib/auth/index.js
CHANGED
|
@@ -5,8 +5,10 @@ const oauth_1 = require("./oauth/oauth");
|
|
|
5
5
|
const nonce_1 = require("./oauth/nonce");
|
|
6
6
|
const safe_compare_1 = require("./oauth/safe-compare");
|
|
7
7
|
const get_embedded_app_url_1 = require("./get-embedded-app-url");
|
|
8
|
+
const token_exchange_1 = require("./oauth/token-exchange");
|
|
8
9
|
function shopifyAuth(config) {
|
|
9
|
-
|
|
10
|
+
var _a;
|
|
11
|
+
const shopify = {
|
|
10
12
|
begin: (0, oauth_1.begin)(config),
|
|
11
13
|
callback: (0, oauth_1.callback)(config),
|
|
12
14
|
nonce: nonce_1.nonce,
|
|
@@ -14,6 +16,10 @@ function shopifyAuth(config) {
|
|
|
14
16
|
getEmbeddedAppUrl: (0, get_embedded_app_url_1.getEmbeddedAppUrl)(config),
|
|
15
17
|
buildEmbeddedAppUrl: (0, get_embedded_app_url_1.buildEmbeddedAppUrl)(config),
|
|
16
18
|
};
|
|
19
|
+
if ((_a = config.future) === null || _a === void 0 ? void 0 : _a.unstable_tokenExchange) {
|
|
20
|
+
shopify.tokenExchange = (0, token_exchange_1.tokenExchange)(config);
|
|
21
|
+
}
|
|
22
|
+
return shopify;
|
|
17
23
|
}
|
|
18
24
|
exports.shopifyAuth = shopifyAuth;
|
|
19
25
|
//# sourceMappingURL=index.js.map
|
package/lib/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAGA,yCAAyE;AACzE,yCAA2C;AAC3C,uDAA8D;AAC9D,iEAKgC;AAChC,2DAAoE;AAEpE,SAAgB,WAAW,CACzB,MAAc;;IAEd,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,IAAA,aAAK,EAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,IAAA,gBAAQ,EAAC,MAAM,CAAC;QAC1B,KAAK,EAAL,aAAK;QACL,WAAW,EAAX,0BAAW;QACX,iBAAiB,EAAE,IAAA,wCAAiB,EAAC,MAAM,CAAC;QAC5C,mBAAmB,EAAE,IAAA,0CAAmB,EAAC,MAAM,CAAC;KAChB,CAAC;IAEnC,IAAI,MAAA,MAAM,CAAC,MAAM,0CAAE,sBAAsB,EAAE;QACzC,OAAO,CAAC,aAAa,GAAG,IAAA,8BAAa,EAAC,MAAM,CAAC,CAAC;KAC/C;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAjBD,kCAiBC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Session } from '../../session/session';
|
|
2
|
+
import { ConfigInterface } from '../../base-types';
|
|
3
|
+
import { RequestReturn } from '../../clients/http_client/types';
|
|
4
|
+
import { AccessTokenResponse } from './types';
|
|
5
|
+
export declare function createSession({ config, accessTokenResponse, shop, state, }: {
|
|
6
|
+
config: ConfigInterface;
|
|
7
|
+
accessTokenResponse: AccessTokenResponse;
|
|
8
|
+
shop: string;
|
|
9
|
+
state: string;
|
|
10
|
+
}): Session;
|
|
11
|
+
export declare function accessTokenResponse(postResponse: RequestReturn): AccessTokenResponse;
|
|
12
|
+
//# sourceMappingURL=create-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-session.d.ts","sourceRoot":"","sources":["create-session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAI9D,OAAO,EACL,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,mBAAmB,EACnB,IAAI,EACJ,KAAK,GACN,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CA4CV;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,aAAa,GAC1B,mBAAmB,CAUrB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.accessTokenResponse = exports.createSession = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const uuid_1 = require("uuid");
|
|
6
|
+
const session_1 = require("../../session/session");
|
|
7
|
+
const logger_1 = require("../../logger");
|
|
8
|
+
const session_utils_1 = require("../../session/session-utils");
|
|
9
|
+
function createSession({ config, accessTokenResponse, shop, state, }) {
|
|
10
|
+
const associatedUser = accessTokenResponse
|
|
11
|
+
.associated_user;
|
|
12
|
+
const isOnline = Boolean(associatedUser);
|
|
13
|
+
(0, logger_1.logger)(config).info('Creating new session', { shop, isOnline });
|
|
14
|
+
if (isOnline) {
|
|
15
|
+
let sessionId;
|
|
16
|
+
const responseBody = accessTokenResponse;
|
|
17
|
+
const { access_token, scope } = responseBody, rest = tslib_1.__rest(responseBody, ["access_token", "scope"]);
|
|
18
|
+
const sessionExpiration = new Date(Date.now() + responseBody.expires_in * 1000);
|
|
19
|
+
if (config.isEmbeddedApp) {
|
|
20
|
+
sessionId = (0, session_utils_1.getJwtSessionId)(config)(shop, `${rest.associated_user.id}`);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
sessionId = (0, uuid_1.v4)();
|
|
24
|
+
}
|
|
25
|
+
return new session_1.Session({
|
|
26
|
+
id: sessionId,
|
|
27
|
+
shop,
|
|
28
|
+
state,
|
|
29
|
+
isOnline,
|
|
30
|
+
accessToken: access_token,
|
|
31
|
+
scope,
|
|
32
|
+
expires: sessionExpiration,
|
|
33
|
+
onlineAccessInfo: rest,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return new session_1.Session({
|
|
38
|
+
id: (0, session_utils_1.getOfflineId)(config)(shop),
|
|
39
|
+
shop,
|
|
40
|
+
state,
|
|
41
|
+
isOnline,
|
|
42
|
+
accessToken: accessTokenResponse.access_token,
|
|
43
|
+
scope: accessTokenResponse.scope,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.createSession = createSession;
|
|
48
|
+
function accessTokenResponse(postResponse) {
|
|
49
|
+
const associatedUser = postResponse.body
|
|
50
|
+
.associated_user;
|
|
51
|
+
const isOnline = Boolean(associatedUser);
|
|
52
|
+
if (isOnline) {
|
|
53
|
+
return postResponse.body;
|
|
54
|
+
}
|
|
55
|
+
return postResponse.body;
|
|
56
|
+
}
|
|
57
|
+
exports.accessTokenResponse = accessTokenResponse;
|
|
58
|
+
//# sourceMappingURL=create-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-session.js","sourceRoot":"","sources":["create-session.ts"],"names":[],"mappings":";;;;AAAA,+BAAkC;AAElC,mDAA8C;AAG9C,yCAAoC;AACpC,+DAA0E;AAQ1E,SAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,mBAAmB,EACnB,IAAI,EACJ,KAAK,GAMN;IACC,MAAM,cAAc,GAAI,mBAA4C;SACjE,eAAe,CAAC;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEzC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;IAE9D,IAAI,QAAQ,EAAE;QACZ,IAAI,SAAiB,CAAC;QACtB,MAAM,YAAY,GAAG,mBAA2C,CAAC;QACjE,MAAM,EAAC,YAAY,EAAE,KAAK,KAAa,YAAY,EAApB,IAAI,kBAAI,YAAY,EAA7C,yBAA8B,CAAe,CAAC;QACpD,MAAM,iBAAiB,GAAG,IAAI,IAAI,CAChC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,UAAU,GAAG,IAAI,CAC5C,CAAC;QAEF,IAAI,MAAM,CAAC,aAAa,EAAE;YACxB,SAAS,GAAG,IAAA,+BAAe,EAAC,MAAM,CAAC,CACjC,IAAI,EACJ,GAAI,IAAyB,CAAC,eAAe,CAAC,EAAE,EAAE,CACnD,CAAC;SACH;aAAM;YACL,SAAS,GAAG,IAAA,SAAM,GAAE,CAAC;SACtB;QAED,OAAO,IAAI,iBAAO,CAAC;YACjB,EAAE,EAAE,SAAS;YACb,IAAI;YACJ,KAAK;YACL,QAAQ;YACR,WAAW,EAAE,YAAY;YACzB,KAAK;YACL,OAAO,EAAE,iBAAiB;YAC1B,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,IAAI,iBAAO,CAAC;YACjB,EAAE,EAAE,IAAA,4BAAY,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC9B,IAAI;YACJ,KAAK;YACL,QAAQ;YACR,WAAW,EAAE,mBAAmB,CAAC,YAAY;YAC7C,KAAK,EAAE,mBAAmB,CAAC,KAAK;SACjC,CAAC,CAAC;KACJ;AACH,CAAC;AAtDD,sCAsDC;AAED,SAAgB,mBAAmB,CACjC,YAA2B;IAE3B,MAAM,cAAc,GAAI,YAAY,CAAC,IAA6B;SAC/D,eAAe,CAAC;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEzC,IAAI,QAAQ,EAAE;QACZ,OAAO,YAAY,CAAC,IAA4B,CAAC;KAClD;IAED,OAAO,YAAY,CAAC,IAA2B,CAAC;AAClD,CAAC;AAZD,kDAYC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nonce.d.ts","sourceRoot":"","sources":["nonce.ts"],"names":[],"mappings":"AAEA,wBAAgB,KAAK,IAAI,MAAM,CAgB9B"}
|
|
1
|
+
{"version":3,"file":"nonce.d.ts","sourceRoot":"","sources":["nonce.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;AAEjC,wBAAgB,KAAK,IAAI,MAAM,CAgB9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nonce.js","sourceRoot":"","sources":["nonce.ts"],"names":[],"mappings":";;;AAAA,oDAA+C;
|
|
1
|
+
{"version":3,"file":"nonce.js","sourceRoot":"","sources":["nonce.ts"],"names":[],"mappings":";;;AAAA,oDAA+C;AAI/C,SAAgB,KAAK;IACnB,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,+CAA+C;IAC/C,iEAAiE;IACjE,MAAM,KAAK,GAAG,eAAM,CAAC,eAAe;QAClC,CAAC,CAAC,eAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAE,eAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,KAAK;SAChB,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;QACpB,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,KAAK,CAAC;AACf,CAAC;AAhBD,sBAgBC"}
|
|
@@ -2,10 +2,12 @@ import { ConfigInterface } from '../../base-types';
|
|
|
2
2
|
import { Session } from '../../session/session';
|
|
3
3
|
import { AdapterResponse, AdapterHeaders } from '../../../runtime/http';
|
|
4
4
|
import { BeginParams, CallbackParams } from './types';
|
|
5
|
+
export type OAuthBegin = (beginParams: BeginParams) => Promise<AdapterResponse>;
|
|
5
6
|
export interface CallbackResponse<T = AdapterHeaders> {
|
|
6
7
|
headers: T;
|
|
7
8
|
session: Session;
|
|
8
9
|
}
|
|
9
|
-
export
|
|
10
|
-
export declare function
|
|
10
|
+
export type OAuthCallback = <T = AdapterHeaders>(callbackParams: CallbackParams) => Promise<CallbackResponse<T>>;
|
|
11
|
+
export declare function begin(config: ConfigInterface): OAuthBegin;
|
|
12
|
+
export declare function callback(config: ConfigInterface): OAuthCallback;
|
|
11
13
|
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["oauth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["oauth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAG9C,OAAO,EAKL,eAAe,EACf,cAAc,EAIf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAGL,WAAW,EACX,cAAc,EAEf,MAAM,SAAS,CAAC;AAKjB,MAAM,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AAEhF,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,cAAc;IAClD,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,cAAc,EAC7C,cAAc,EAAE,cAAc,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAclC,wBAAgB,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU,CA8DzD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa,CA8F/D"}
|
package/lib/auth/oauth/oauth.js
CHANGED
|
@@ -2,14 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.callback = exports.begin = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const uuid_1 = require("uuid");
|
|
6
5
|
const isbot_1 = tslib_1.__importDefault(require("isbot"));
|
|
7
6
|
const processed_query_1 = tslib_1.__importDefault(require("../../utils/processed-query"));
|
|
8
7
|
const ShopifyErrors = tslib_1.__importStar(require("../../error"));
|
|
9
8
|
const hmac_validator_1 = require("../../utils/hmac-validator");
|
|
10
9
|
const shop_validator_1 = require("../../utils/shop-validator");
|
|
11
|
-
const session_1 = require("../../session/session");
|
|
12
|
-
const session_utils_1 = require("../../session/session-utils");
|
|
13
10
|
const http_client_1 = require("../../clients/http_client/http_client");
|
|
14
11
|
const types_1 = require("../../clients/http_client/types");
|
|
15
12
|
const http_1 = require("../../../runtime/http");
|
|
@@ -17,6 +14,7 @@ const logger_1 = require("../../logger");
|
|
|
17
14
|
const types_2 = require("./types");
|
|
18
15
|
const nonce_1 = require("./nonce");
|
|
19
16
|
const safe_compare_1 = require("./safe-compare");
|
|
17
|
+
const create_session_1 = require("./create-session");
|
|
20
18
|
const logForBot = ({ request, log, func }) => {
|
|
21
19
|
log.debug(`Possible bot request to auth ${func}: `, {
|
|
22
20
|
userAgent: request.headers['User-Agent'],
|
|
@@ -110,10 +108,10 @@ function callback(config) {
|
|
|
110
108
|
const HttpClient = (0, http_client_1.httpClientClass)(config);
|
|
111
109
|
const client = new HttpClient({ domain: cleanShop });
|
|
112
110
|
const postResponse = yield client.post(postParams);
|
|
113
|
-
const session = createSession({
|
|
114
|
-
postResponse,
|
|
111
|
+
const session = (0, create_session_1.createSession)({
|
|
112
|
+
accessTokenResponse: (0, create_session_1.accessTokenResponse)(postResponse),
|
|
115
113
|
shop: cleanShop,
|
|
116
|
-
stateFromCookie,
|
|
114
|
+
state: stateFromCookie,
|
|
117
115
|
config,
|
|
118
116
|
});
|
|
119
117
|
if (!config.isEmbeddedApp) {
|
|
@@ -138,45 +136,6 @@ function validQuery({ config, query, stateFromCookie, }) {
|
|
|
138
136
|
(0, safe_compare_1.safeCompare)(query.state, stateFromCookie));
|
|
139
137
|
});
|
|
140
138
|
}
|
|
141
|
-
function createSession({ config, postResponse, shop, stateFromCookie, }) {
|
|
142
|
-
const associatedUser = postResponse.body
|
|
143
|
-
.associated_user;
|
|
144
|
-
const isOnline = Boolean(associatedUser);
|
|
145
|
-
(0, logger_1.logger)(config).info('Creating new session', { shop, isOnline });
|
|
146
|
-
if (isOnline) {
|
|
147
|
-
let sessionId;
|
|
148
|
-
const responseBody = postResponse.body;
|
|
149
|
-
const { access_token, scope } = responseBody, rest = tslib_1.__rest(responseBody, ["access_token", "scope"]);
|
|
150
|
-
const sessionExpiration = new Date(Date.now() + responseBody.expires_in * 1000);
|
|
151
|
-
if (config.isEmbeddedApp) {
|
|
152
|
-
sessionId = (0, session_utils_1.getJwtSessionId)(config)(shop, `${rest.associated_user.id}`);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
sessionId = (0, uuid_1.v4)();
|
|
156
|
-
}
|
|
157
|
-
return new session_1.Session({
|
|
158
|
-
id: sessionId,
|
|
159
|
-
shop,
|
|
160
|
-
state: stateFromCookie,
|
|
161
|
-
isOnline,
|
|
162
|
-
accessToken: access_token,
|
|
163
|
-
scope,
|
|
164
|
-
expires: sessionExpiration,
|
|
165
|
-
onlineAccessInfo: rest,
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
const responseBody = postResponse.body;
|
|
170
|
-
return new session_1.Session({
|
|
171
|
-
id: (0, session_utils_1.getOfflineId)(config)(shop),
|
|
172
|
-
shop,
|
|
173
|
-
state: stateFromCookie,
|
|
174
|
-
isOnline,
|
|
175
|
-
accessToken: responseBody.access_token,
|
|
176
|
-
scope: responseBody.scope,
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
139
|
function throwIfCustomStoreApp(isCustomStoreApp, message) {
|
|
181
140
|
if (isCustomStoreApp) {
|
|
182
141
|
throw new ShopifyErrors.PrivateAppError(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["oauth.ts"],"names":[],"mappings":";;;;AAAA
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["oauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type SafeCompare = (strA: string | {
|
|
2
2
|
[key: string]: string;
|
|
3
3
|
} | string[] | number[], strB: string | {
|
|
4
4
|
[key: string]: string;
|
|
5
|
-
} | string[] | number[])
|
|
5
|
+
} | string[] | number[]) => boolean;
|
|
6
|
+
export declare const safeCompare: SafeCompare;
|
|
6
7
|
//# sourceMappingURL=safe-compare.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-compare.d.ts","sourceRoot":"","sources":["safe-compare.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"safe-compare.d.ts","sourceRoot":"","sources":["safe-compare.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,MAAM,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,EAC5D,IAAI,EAAE,MAAM,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,KACzD,OAAO,CAAC;AAEb,eAAO,MAAM,WAAW,EAAE,WAezB,CAAC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.safeCompare = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const ShopifyErrors = tslib_1.__importStar(require("../../error"));
|
|
6
|
-
|
|
6
|
+
const safeCompare = (strA, strB) => {
|
|
7
7
|
if (typeof strA === typeof strB) {
|
|
8
8
|
const enc = new TextEncoder();
|
|
9
9
|
const buffA = enc.encode(JSON.stringify(strA));
|
|
@@ -16,7 +16,7 @@ function safeCompare(strA, strB) {
|
|
|
16
16
|
throw new ShopifyErrors.SafeCompareError(`Mismatched data types provided: ${typeof strA} and ${typeof strB}`);
|
|
17
17
|
}
|
|
18
18
|
return false;
|
|
19
|
-
}
|
|
19
|
+
};
|
|
20
20
|
exports.safeCompare = safeCompare;
|
|
21
21
|
// Buffer must be same length for this function to be secure.
|
|
22
22
|
function timingSafeEqual(bufA, bufB) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-compare.js","sourceRoot":"","sources":["safe-compare.ts"],"names":[],"mappings":";;;;AAAA,mEAA6C;
|
|
1
|
+
{"version":3,"file":"safe-compare.js","sourceRoot":"","sources":["safe-compare.ts"],"names":[],"mappings":";;;;AAAA,mEAA6C;AAOtC,MAAM,WAAW,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACrD,IAAI,OAAO,IAAI,KAAK,OAAO,IAAI,EAAE;QAC/B,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;YACjC,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACtC;KACF;SAAM;QACL,MAAM,IAAI,aAAa,CAAC,gBAAgB,CACtC,mCAAmC,OAAO,IAAI,QAAQ,OAAO,IAAI,EAAE,CACpE,CAAC;KACH;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAfW,QAAA,WAAW,eAetB;AAEF,6DAA6D;AAC7D,SAAS,eAAe,CAAC,IAAiB,EAAE,IAAiB;IAC3D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5B;IACD,OAAO,GAAG,KAAK,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ConfigInterface } from '../../base-types';
|
|
2
|
+
import { Session } from '../../session/session';
|
|
3
|
+
export declare enum RequestedTokenType {
|
|
4
|
+
OnlineAccessToken = "urn:shopify:params:oauth:token-type:online-access-token",
|
|
5
|
+
OfflineAccessToken = "urn:shopify:params:oauth:token-type:offline-access-token"
|
|
6
|
+
}
|
|
7
|
+
export interface TokenExchangeParams {
|
|
8
|
+
shop: string;
|
|
9
|
+
sessionToken: string;
|
|
10
|
+
requestedTokenType: RequestedTokenType;
|
|
11
|
+
}
|
|
12
|
+
export type TokenExchange = (params: TokenExchangeParams) => Promise<{
|
|
13
|
+
session: Session;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function tokenExchange(config: ConfigInterface): TokenExchange;
|
|
16
|
+
//# sourceMappingURL=token-exchange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-exchange.d.ts","sourceRoot":"","sources":["token-exchange.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAI9C,oBAAY,kBAAkB;IAC5B,iBAAiB,4DAA4D;IAC7E,kBAAkB,6DAA6D;CAChF;AAMD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAEjC,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa,CAyCpE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tokenExchange = exports.RequestedTokenType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const decode_session_token_1 = require("../../session/decode-session-token");
|
|
6
|
+
const shop_validator_1 = require("../../utils/shop-validator");
|
|
7
|
+
const types_1 = require("../../clients/http_client/types");
|
|
8
|
+
const http_client_1 = require("../../clients/http_client/http_client");
|
|
9
|
+
const create_session_1 = require("./create-session");
|
|
10
|
+
var RequestedTokenType;
|
|
11
|
+
(function (RequestedTokenType) {
|
|
12
|
+
RequestedTokenType["OnlineAccessToken"] = "urn:shopify:params:oauth:token-type:online-access-token";
|
|
13
|
+
RequestedTokenType["OfflineAccessToken"] = "urn:shopify:params:oauth:token-type:offline-access-token";
|
|
14
|
+
})(RequestedTokenType = exports.RequestedTokenType || (exports.RequestedTokenType = {}));
|
|
15
|
+
const TokenExchangeGrantType = 'urn:ietf:params:oauth:grant-type:token-exchange';
|
|
16
|
+
const IdTokenType = 'urn:ietf:params:oauth:token-type:id_token';
|
|
17
|
+
function tokenExchange(config) {
|
|
18
|
+
return ({ shop, sessionToken, requestedTokenType, }) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
yield (0, decode_session_token_1.decodeSessionToken)(config)(sessionToken);
|
|
20
|
+
const body = {
|
|
21
|
+
client_id: config.apiKey,
|
|
22
|
+
client_secret: config.apiSecretKey,
|
|
23
|
+
grant_type: TokenExchangeGrantType,
|
|
24
|
+
subject_token: sessionToken,
|
|
25
|
+
subject_token_type: IdTokenType,
|
|
26
|
+
requested_token_type: requestedTokenType,
|
|
27
|
+
};
|
|
28
|
+
const postParams = {
|
|
29
|
+
path: '/admin/oauth/access_token',
|
|
30
|
+
type: types_1.DataType.JSON,
|
|
31
|
+
data: body,
|
|
32
|
+
extraHeaders: {
|
|
33
|
+
Accept: types_1.DataType.JSON,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
const cleanShop = (0, shop_validator_1.sanitizeShop)(config)(shop, true);
|
|
37
|
+
const HttpClient = (0, http_client_1.httpClientClass)(config);
|
|
38
|
+
const client = new HttpClient({ domain: cleanShop });
|
|
39
|
+
const postResponse = yield client.post(postParams);
|
|
40
|
+
return {
|
|
41
|
+
session: (0, create_session_1.createSession)({
|
|
42
|
+
accessTokenResponse: (0, create_session_1.accessTokenResponse)(postResponse),
|
|
43
|
+
shop: cleanShop,
|
|
44
|
+
// We need to keep this as an empty string as our template DB schemas have this required
|
|
45
|
+
state: '',
|
|
46
|
+
config,
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
exports.tokenExchange = tokenExchange;
|
|
52
|
+
//# sourceMappingURL=token-exchange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-exchange.js","sourceRoot":"","sources":["token-exchange.ts"],"names":[],"mappings":";;;;AAAA,6EAAsE;AACtE,+DAAwD;AAExD,2DAAyD;AACzD,uEAAsE;AAGtE,qDAAoE;AAEpE,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mGAA6E,CAAA;IAC7E,qGAA+E,CAAA;AACjF,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B;AAED,MAAM,sBAAsB,GAC1B,iDAAiD,CAAC;AACpD,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAYhE,SAAgB,aAAa,CAAC,MAAuB;IACnD,OAAO,CAAO,EACZ,IAAI,EACJ,YAAY,EACZ,kBAAkB,GACE,EAAE,EAAE;QACxB,MAAM,IAAA,yCAAkB,EAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,MAAM,CAAC,MAAM;YACxB,aAAa,EAAE,MAAM,CAAC,YAAY;YAClC,UAAU,EAAE,sBAAsB;YAClC,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,WAAW;YAC/B,oBAAoB,EAAE,kBAAkB;SACzC,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,gBAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,IAAI;YACV,YAAY,EAAE;gBACZ,MAAM,EAAE,gBAAQ,CAAC,IAAI;aACtB;SACF,CAAC;QAEF,MAAM,SAAS,GAAG,IAAA,6BAAY,EAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEnD,OAAO;YACL,OAAO,EAAE,IAAA,8BAAa,EAAC;gBACrB,mBAAmB,EAAE,IAAA,oCAAmB,EAAC,YAAY,CAAC;gBACtD,IAAI,EAAE,SAAS;gBACf,wFAAwF;gBACxF,KAAK,EAAE,EAAE;gBACT,MAAM;aACP,CAAC;SACH,CAAC;IACJ,CAAC,CAAA,CAAC;AACJ,CAAC;AAzCD,sCAyCC"}
|
package/lib/auth/types.d.ts
CHANGED
package/lib/auth/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE/C,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE/C,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,uBAAwB,SAAQ,WAAW;CAAG"}
|
package/lib/auth/types.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestedTokenType = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
tslib_1.__exportStar(require("./oauth/types"), exports);
|
|
6
|
+
var token_exchange_1 = require("./oauth/token-exchange");
|
|
7
|
+
Object.defineProperty(exports, "RequestedTokenType", { enumerable: true, get: function () { return token_exchange_1.RequestedTokenType; } });
|
|
5
8
|
//# sourceMappingURL=types.js.map
|
package/lib/auth/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;;AAEA,wDAA8B;AAC9B,yDAA0D;AAAlD,oHAAA,kBAAkB,OAAA"}
|
package/lib/base-types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { AuthScopes } from './auth/scopes';
|
|
|
4
4
|
import { BillingConfig } from './billing/types';
|
|
5
5
|
import { ApiVersion, LogSeverity } from './types';
|
|
6
6
|
export type LogFunction = (severity: LogSeverity, msg: string) => void;
|
|
7
|
-
export interface ConfigParams<Resources extends ShopifyRestResources = ShopifyRestResources> {
|
|
7
|
+
export interface ConfigParams<Resources extends ShopifyRestResources = ShopifyRestResources, Future extends FutureFlagOptions = FutureFlagOptions> {
|
|
8
8
|
apiKey?: string;
|
|
9
9
|
apiSecretKey: string;
|
|
10
10
|
scopes?: string[] | AuthScopes;
|
|
@@ -17,7 +17,7 @@ export interface ConfigParams<Resources extends ShopifyRestResources = ShopifyRe
|
|
|
17
17
|
userAgentPrefix?: string;
|
|
18
18
|
privateAppStorefrontAccessToken?: string;
|
|
19
19
|
customShopDomains?: (RegExp | string)[];
|
|
20
|
-
billing?: BillingConfig
|
|
20
|
+
billing?: BillingConfig<Future>;
|
|
21
21
|
restResources?: Resources;
|
|
22
22
|
logger?: {
|
|
23
23
|
log?: LogFunction;
|
|
@@ -25,13 +25,14 @@ export interface ConfigParams<Resources extends ShopifyRestResources = ShopifyRe
|
|
|
25
25
|
httpRequests?: boolean;
|
|
26
26
|
timestamps?: boolean;
|
|
27
27
|
};
|
|
28
|
-
future?:
|
|
28
|
+
future?: Future;
|
|
29
29
|
}
|
|
30
30
|
export type ConfigInterface<Params extends ConfigParams = ConfigParams> = Omit<Params, 'restResources'> & {
|
|
31
31
|
apiKey: string;
|
|
32
32
|
hostScheme: 'http' | 'https';
|
|
33
33
|
scopes: AuthScopes;
|
|
34
34
|
isCustomStoreApp: boolean;
|
|
35
|
+
billing?: BillingConfig<Params['future']>;
|
|
35
36
|
logger: {
|
|
36
37
|
log: LogFunction;
|
|
37
38
|
level: LogSeverity;
|
package/lib/base-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["base-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvE,MAAM,WAAW,YAAY,CAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB;
|
|
1
|
+
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["base-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvE,MAAM,WAAW,YAAY,CAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAC7D,MAAM,SAAS,iBAAiB,GAAG,iBAAiB;IAEpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,iBAAiB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,WAAW,CAAC;QAClB,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY,IAAI,IAAI,CAC5E,MAAM,EACN,eAAe,CAChB,GAAG;IACF,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE;QACN,GAAG,EAAE,WAAW,CAAC;QACjB,KAAK,EAAE,WAAW,CAAC;QACnB,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC"}
|
package/lib/billing/request.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ConfigInterface } from '../base-types';
|
|
1
|
+
import { ConfigInterface, ConfigParams } from '../base-types';
|
|
2
|
+
import { FutureFlagOptions } from '../../future/flags';
|
|
2
3
|
import { BillingRequestParams, BillingRequestResponse } from './types';
|
|
3
|
-
export declare function request(config:
|
|
4
|
+
export declare function request<Config extends ConfigInterface<Params>, Params extends ConfigParams<any, Future>, Future extends FutureFlagOptions>(config: Config): <Params_1 extends BillingRequestParams>({ session, plan, isTest, returnUrl: returnUrlParam, returnObject, ...overrides }: Params_1) => Promise<BillingRequestResponse<Params_1>>;
|
|
4
5
|
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAU5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAIL,oBAAoB,EACpB,sBAAsB,EAMvB,MAAM,SAAS,CAAC;AAyBjB,wBAAgB,OAAO,CACrB,MAAM,SAAS,eAAe,CAAC,MAAM,CAAC,EACtC,MAAM,SAAS,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,EACxC,MAAM,SAAS,iBAAiB,EAChC,MAAM,EAAE,MAAM,oLAmHf"}
|
package/lib/billing/request.js
CHANGED
|
@@ -28,39 +28,57 @@ function request(config) {
|
|
|
28
28
|
const returnUrl = returnUrlParam || (config.isEmbeddedApp ? embeddedAppUrl : appUrl);
|
|
29
29
|
const GraphqlClient = (0, graphql_client_1.graphqlClientClass)({ config });
|
|
30
30
|
const client = new GraphqlClient({ session });
|
|
31
|
+
function isLineItemPlan(billingConfig) {
|
|
32
|
+
return 'lineItems' in billingConfig;
|
|
33
|
+
}
|
|
34
|
+
function isOneTimePlan(billingConfig) {
|
|
35
|
+
return billingConfig.interval === types_1.BillingInterval.OneTime;
|
|
36
|
+
}
|
|
31
37
|
let data;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
38
|
+
if (isLineItemPlan(billingConfig)) {
|
|
39
|
+
const mergedBillingConfigs = mergeBillingConfigs(billingConfig, filteredOverrides);
|
|
40
|
+
const mutationRecurringResponse = yield requestSubscriptionPayment({
|
|
41
|
+
billingConfig: mergedBillingConfigs,
|
|
42
|
+
plan,
|
|
43
|
+
client,
|
|
44
|
+
returnUrl,
|
|
45
|
+
isTest,
|
|
46
|
+
});
|
|
47
|
+
data = mutationRecurringResponse.data.appSubscriptionCreate;
|
|
48
|
+
}
|
|
49
|
+
else if (isOneTimePlan(billingConfig)) {
|
|
50
|
+
const mutationOneTimeResponse = yield requestSinglePayment({
|
|
51
|
+
billingConfig: Object.assign(Object.assign({}, billingConfig), filteredOverrides),
|
|
52
|
+
plan,
|
|
53
|
+
client,
|
|
54
|
+
returnUrl,
|
|
55
|
+
isTest,
|
|
56
|
+
});
|
|
57
|
+
data = mutationOneTimeResponse.data.appPurchaseOneTimeCreate;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
switch (billingConfig.interval) {
|
|
61
|
+
case types_1.BillingInterval.Usage: {
|
|
62
|
+
const mutationUsageResponse = yield requestUsagePayment({
|
|
63
|
+
billingConfig: Object.assign(Object.assign({}, billingConfig), filteredOverrides),
|
|
64
|
+
plan,
|
|
65
|
+
client,
|
|
66
|
+
returnUrl,
|
|
67
|
+
isTest,
|
|
68
|
+
});
|
|
69
|
+
data = mutationUsageResponse.data.appSubscriptionCreate;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
default: {
|
|
73
|
+
const mutationRecurringResponse = yield requestRecurringPayment({
|
|
74
|
+
billingConfig: Object.assign(Object.assign({}, billingConfig), filteredOverrides),
|
|
75
|
+
plan,
|
|
76
|
+
client,
|
|
77
|
+
returnUrl,
|
|
78
|
+
isTest,
|
|
79
|
+
});
|
|
80
|
+
data = mutationRecurringResponse.data.appSubscriptionCreate;
|
|
81
|
+
}
|
|
64
82
|
}
|
|
65
83
|
}
|
|
66
84
|
if ((_b = data.userErrors) === null || _b === void 0 ? void 0 : _b.length) {
|
|
@@ -79,6 +97,77 @@ function request(config) {
|
|
|
79
97
|
};
|
|
80
98
|
}
|
|
81
99
|
exports.request = request;
|
|
100
|
+
function requestSubscriptionPayment({ billingConfig, plan, client, returnUrl, isTest, }) {
|
|
101
|
+
var _a;
|
|
102
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
const lineItems = billingConfig.lineItems.map((item) => {
|
|
104
|
+
if (item.interval === types_1.BillingInterval.Every30Days ||
|
|
105
|
+
item.interval === types_1.BillingInterval.Annual) {
|
|
106
|
+
const appRecurringPricingDetails = {
|
|
107
|
+
interval: item.interval,
|
|
108
|
+
price: {
|
|
109
|
+
amount: item.amount,
|
|
110
|
+
currencyCode: item.currencyCode,
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
if (item.discount) {
|
|
114
|
+
appRecurringPricingDetails.discount = {
|
|
115
|
+
durationLimitInIntervals: item.discount.durationLimitInIntervals,
|
|
116
|
+
value: {
|
|
117
|
+
amount: item.discount.value.amount,
|
|
118
|
+
percentage: item.discount.value.percentage,
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
plan: {
|
|
124
|
+
appRecurringPricingDetails,
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
else if (item.interval === types_1.BillingInterval.Usage) {
|
|
129
|
+
const appUsagePricingDetails = {
|
|
130
|
+
terms: item.terms,
|
|
131
|
+
cappedAmount: {
|
|
132
|
+
amount: item.amount,
|
|
133
|
+
currencyCode: item.currencyCode,
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
return {
|
|
137
|
+
plan: {
|
|
138
|
+
appUsagePricingDetails,
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
throw new error_1.BillingError({
|
|
144
|
+
message: 'Invalid interval provided',
|
|
145
|
+
errorData: [item],
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
const mutationResponse = yield client.query({
|
|
150
|
+
data: {
|
|
151
|
+
query: RECURRING_PURCHASE_MUTATION,
|
|
152
|
+
variables: {
|
|
153
|
+
name: plan,
|
|
154
|
+
trialDays: billingConfig.trialDays,
|
|
155
|
+
replacementBehavior: billingConfig.replacementBehavior,
|
|
156
|
+
returnUrl,
|
|
157
|
+
test: isTest,
|
|
158
|
+
lineItems,
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
});
|
|
162
|
+
if ((_a = mutationResponse.body.errors) === null || _a === void 0 ? void 0 : _a.length) {
|
|
163
|
+
throw new error_1.BillingError({
|
|
164
|
+
message: 'Error while billing the store',
|
|
165
|
+
errorData: mutationResponse.body.errors,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
return mutationResponse.body;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
82
171
|
function requestRecurringPayment({ billingConfig, plan, client, returnUrl, isTest, }) {
|
|
83
172
|
var _a, _b, _c, _d, _e, _f;
|
|
84
173
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -186,6 +275,27 @@ function requestSinglePayment({ billingConfig, plan, client, returnUrl, isTest,
|
|
|
186
275
|
return mutationResponse.body;
|
|
187
276
|
});
|
|
188
277
|
}
|
|
278
|
+
function mergeBillingConfigs(billingConfig, overrides) {
|
|
279
|
+
const mergedConfig = Object.assign(Object.assign({}, billingConfig), overrides);
|
|
280
|
+
const mergedLineItems = [];
|
|
281
|
+
if (billingConfig.lineItems && overrides.lineItems) {
|
|
282
|
+
for (const i of billingConfig.lineItems) {
|
|
283
|
+
let found = false;
|
|
284
|
+
for (const j of overrides.lineItems) {
|
|
285
|
+
if (i.interval === j.interval) {
|
|
286
|
+
mergedLineItems.push(Object.assign(Object.assign({}, i), j));
|
|
287
|
+
found = true;
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
if (!found) {
|
|
292
|
+
mergedLineItems.push(i);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
mergedConfig.lineItems = mergedLineItems;
|
|
296
|
+
}
|
|
297
|
+
return mergedConfig;
|
|
298
|
+
}
|
|
189
299
|
const RECURRING_PURCHASE_MUTATION = `
|
|
190
300
|
mutation test(
|
|
191
301
|
$name: String!
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["request.ts"],"names":[],"mappings":";;;;AACA,oCAAyC;AACzC,oCAAsC;AACtC,uEAAiE;AACjE,sEAG2C;AAC3C,iDAAgD;AAChD,sDAAsD;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["request.ts"],"names":[],"mappings":"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"}
|
package/lib/billing/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BillingInterval, BillingReplacementBehavior, RecurringBillingIntervals } from '../types';
|
|
2
2
|
import { Session } from '../session/session';
|
|
3
|
+
import { FeatureEnabled, FutureFlagOptions } from '../../future/flags';
|
|
3
4
|
export interface BillingConfigPlan {
|
|
4
5
|
amount: number;
|
|
5
6
|
currencyCode: string;
|
|
@@ -31,11 +32,30 @@ export interface BillingConfigUsagePlan extends BillingConfigPlan {
|
|
|
31
32
|
trialDays?: number;
|
|
32
33
|
replacementBehavior?: BillingReplacementBehavior;
|
|
33
34
|
}
|
|
34
|
-
export type
|
|
35
|
-
export
|
|
36
|
-
|
|
35
|
+
export type BillingConfigLegacyItem = BillingConfigOneTimePlan | BillingConfigSubscriptionPlan | BillingConfigUsagePlan;
|
|
36
|
+
export type BillingConfigItem<Future extends FutureFlagOptions = FutureFlagOptions> = FeatureEnabled<Future, 'unstable_lineItemBilling'> extends true ? BillingConfigOneTimePlan | BillingConfigSubscriptionLineItemPlan : BillingConfigLegacyItem;
|
|
37
|
+
export interface BillingConfig<Future extends FutureFlagOptions = FutureFlagOptions> {
|
|
38
|
+
[plan: string]: BillingConfigItem<Future>;
|
|
37
39
|
}
|
|
38
40
|
export type RequestConfigOverrides = Partial<BillingConfigOneTimePlan> | Partial<BillingConfigSubscriptionPlan> | Partial<BillingConfigUsagePlan>;
|
|
41
|
+
export interface BillingConfigLineItem {
|
|
42
|
+
amount: number;
|
|
43
|
+
currencyCode: string;
|
|
44
|
+
}
|
|
45
|
+
export interface BillingConfigRecurringLineItem extends BillingConfigLineItem {
|
|
46
|
+
interval: BillingInterval.Every30Days | BillingInterval.Annual;
|
|
47
|
+
discount?: BillingConfigSubscriptionPlanDiscount;
|
|
48
|
+
}
|
|
49
|
+
export interface BillingConfigUsageLineItem extends BillingConfigLineItem {
|
|
50
|
+
interval: BillingInterval.Usage;
|
|
51
|
+
terms: string;
|
|
52
|
+
}
|
|
53
|
+
export interface BillingConfigSubscriptionLineItemPlan {
|
|
54
|
+
replacementBehavior?: BillingReplacementBehavior;
|
|
55
|
+
trialDays?: number;
|
|
56
|
+
lineItems: (BillingConfigRecurringLineItem | BillingConfigUsageLineItem)[];
|
|
57
|
+
}
|
|
58
|
+
export type RequestConfigLineItemOverrides = Partial<BillingConfigSubscriptionLineItemPlan>;
|
|
39
59
|
export interface BillingCheckParams {
|
|
40
60
|
session: Session;
|
|
41
61
|
plans: string[] | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ShopifyRestResources } from '../rest/types';
|
|
2
|
+
import { FutureFlagOptions } from '../future/flags';
|
|
2
3
|
import { ConfigParams, ConfigInterface } from './base-types';
|
|
3
4
|
import { ShopifyClients } from './clients';
|
|
4
5
|
import { ShopifyAuth } from './auth';
|
|
@@ -21,7 +22,7 @@ type DefaultedResources<Resources extends ShopifyRestResources | undefined> = Re
|
|
|
21
22
|
export interface Shopify<Params extends ConfigParams = ConfigParams, Resources extends DefaultedResources<Params['restResources']> = DefaultedResources<Params['restResources']>, Config extends ConfigInterface<Params> = ConfigInterface<Params>> {
|
|
22
23
|
config: Config;
|
|
23
24
|
clients: ShopifyClients;
|
|
24
|
-
auth: ShopifyAuth
|
|
25
|
+
auth: ShopifyAuth<Params['future']>;
|
|
25
26
|
session: ShopifySession;
|
|
26
27
|
utils: ShopifyUtils;
|
|
27
28
|
webhooks: ShopifyWebhooks;
|
|
@@ -29,5 +30,7 @@ export interface Shopify<Params extends ConfigParams = ConfigParams, Resources e
|
|
|
29
30
|
logger: ShopifyLogger;
|
|
30
31
|
rest: Resources;
|
|
31
32
|
}
|
|
32
|
-
export declare function shopifyApi<Params extends ConfigParams, Resources extends DefaultedResources<Params['restResources']
|
|
33
|
+
export declare function shopifyApi<Params extends ConfigParams<any, Future>, Resources extends DefaultedResources<Params['restResources']>, Future extends FutureFlagOptions>({ future, ...config }: {
|
|
34
|
+
future?: Future;
|
|
35
|
+
} & Params): Shopify<Params, Resources, ConfigInterface<Params>>;
|
|
33
36
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,YAAY,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAgB,cAAc,EAAC,MAAM,WAAW,CAAC;AACxD,OAAO,EAAc,WAAW,EAAC,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAiB,cAAc,EAAC,MAAM,WAAW,CAAC;AACzD,OAAO,EAAe,YAAY,EAAC,MAAM,SAAS,CAAC;AACnD,OAAO,EAAkB,eAAe,EAAC,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAiB,cAAc,EAAC,MAAM,WAAW,CAAC;AACzD,OAAO,EAAS,aAAa,EAAC,MAAM,UAAU,CAAC;AAG/C,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAElC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAEjC,KAAK,kBAAkB,CAAC,SAAS,SAAS,oBAAoB,GAAG,SAAS,IACxE,SAAS,SAAS,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAEjE,MAAM,WAAW,OAAO,CACtB,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,SAAS,SAAS,kBAAkB,CAClC,MAAM,CAAC,eAAe,CAAC,CACxB,GAAG,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAC/C,MAAM,SAAS,eAAe,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;IAEhE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,UAAU,CACxB,MAAM,SAAS,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,EACxC,SAAS,SAAS,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAC7D,MAAM,SAAS,iBAAiB,EAChC,EACA,MAAM,EACN,GAAG,MAAM,EACV,EAAE;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,GAAG,OAAO,CACrC,MAAM,EACN,SAAS,EACT,eAAe,CAAC,MAAM,CAAC,CACxB,CAkCA"}
|
package/lib/index.js
CHANGED
|
@@ -23,8 +23,10 @@ tslib_1.__exportStar(require("./billing/types"), exports);
|
|
|
23
23
|
tslib_1.__exportStar(require("./clients/types"), exports);
|
|
24
24
|
tslib_1.__exportStar(require("./session/types"), exports);
|
|
25
25
|
tslib_1.__exportStar(require("./webhooks/types"), exports);
|
|
26
|
-
function shopifyApi(
|
|
27
|
-
|
|
26
|
+
function shopifyApi(_a) {
|
|
27
|
+
var { future } = _a, config = tslib_1.__rest(_a, ["future"]);
|
|
28
|
+
const { restResources } = config, otherConfigs = tslib_1.__rest(config, ["restResources"]);
|
|
29
|
+
const libConfig = Object.assign(Object.assign({}, otherConfigs), { future });
|
|
28
30
|
const validatedConfig = (0, config_1.validateConfig)(libConfig);
|
|
29
31
|
const shopify = {
|
|
30
32
|
config: validatedConfig,
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;AAAA,qEAA8D;AAE9D,kDAA0D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;AAAA,qEAA8D;AAE9D,kDAA0D;AAI1D,qCAAwC;AACxC,uCAAwD;AACxD,iCAAgD;AAChD,uCAAyD;AACzD,mCAAmD;AACnD,yCAA4D;AAC5D,uCAAyD;AACzD,qCAA+C;AAC/C,uCAAsD;AAEtD,kDAAwB;AACxB,4DAAkC;AAElC,wDAA8B;AAC9B,kDAAwB;AACxB,uDAA6B;AAC7B,uDAA6B;AAC7B,0DAAgC;AAChC,0DAAgC;AAChC,0DAAgC;AAChC,2DAAiC;AAuBjC,SAAgB,UAAU,CAIxB,EAG2B;QAH3B,EACA,MAAM,OAEqB,EADxB,MAAM,sBAFT,UAGD,CADU;IAMT,MAAM,EAAC,aAAa,KAAqB,MAAM,EAAtB,YAAY,kBAAI,MAAM,EAAzC,iBAAgC,CAAS,CAAC;IAChD,MAAM,SAAS,mCAAO,YAAY,KAAE,MAAM,GAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAA,uBAAc,EACpC,SAAS,CACV,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,IAAA,uBAAa,EAAC,eAAe,CAAC;QACvC,IAAI,EAAE,IAAA,kBAAW,EAAC,eAAe,CAAC;QAClC,OAAO,EAAE,IAAA,wBAAc,EAAC,eAAe,CAAC;QACxC,KAAK,EAAE,IAAA,oBAAY,EAAC,eAAe,CAAC;QACpC,QAAQ,EAAE,IAAA,0BAAe,EAAC,eAAe,CAAC;QAC1C,OAAO,EAAE,IAAA,wBAAc,EAAC,eAAe,CAAC;QACxC,MAAM,EAAE,IAAA,eAAM,EAAC,eAAe,CAAC;QAC/B,IAAI,EAAE,EAAe;KACtB,CAAC;IAEF,IAAI,aAAa,EAAE;QACjB,OAAO,CAAC,IAAI,GAAG,IAAA,uCAAiB,EAAY;YAC1C,SAAS,EAAE,aAA0B;YACrC,MAAM,EAAE,eAAe;YACvB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;SACjC,CAAC,CAAC;KACJ;IAED,OAAO,CAAC,MAAM;SACX,IAAI,CACH,WAAW,qCAA2B,iBAAiB,IAAA,gCAAqB,GAAE,EAAE,CACjF;SACA,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpC,OAAO,OAA8D,CAAC;AACxE,CAAC;AA7CD,gCA6CC"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SHOPIFY_API_LIBRARY_VERSION = "8.0
|
|
1
|
+
export declare const SHOPIFY_API_LIBRARY_VERSION = "8.1.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/lib/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["validate.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAI9C,OAAO,EAEL,qBAAqB,EACrB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAWjB,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,iCAIlD,qBAAqB,KAAG,QAAQ,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["validate.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAI9C,OAAO,EAEL,qBAAqB,EACrB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAWjB,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,iCAIlD,qBAAqB,KAAG,QAAQ,iBAAiB,CAAC,CA6BtD"}
|
package/lib/webhooks/validate.js
CHANGED
|
@@ -35,7 +35,7 @@ function validateFactory(config) {
|
|
|
35
35
|
return webhookCheck;
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
|
-
yield log.debug(
|
|
38
|
+
yield log.debug("Webhook HMAC validation failed. Please note that events manually triggered from a store's Notifications settings will fail this validation. To test this, please use the CLI or trigger the actual event in a development store.");
|
|
39
39
|
return {
|
|
40
40
|
valid: false,
|
|
41
41
|
reason: types_3.WebhookValidationErrorReason.InvalidHmac,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["validate.ts"],"names":[],"mappings":";;;;AAAA,6CAK4B;AAC5B,iDAAsD;AACtD,sDAAsD;AACtD,oCAAuC;AAEvC,6DAAuD;AACvD,sCAAiC;AAEjC,mCAKiB;AACjB,yCAA2C;AAE3C,MAAM,kBAAkB,GAAG;IACzB,UAAU,EAAE,qBAAa,CAAC,UAAU;IACpC,MAAM,EAAE,qBAAa,CAAC,MAAM;IAC5B,IAAI,EAAE,qBAAa,CAAC,IAAI;IACxB,KAAK,EAAE,qBAAa,CAAC,KAAK;IAC1B,SAAS,EAAE,qBAAa,CAAC,SAAS;CACnC,CAAC;AAEF,SAAgB,eAAe,CAAC,MAAuB;IACrD,OAAO,SAAe,QAAQ,CAAC,EAGP;YAHO,EAC7B,OAAO,OAEe,EADnB,WAAW,sBAFe,WAG9B,CADe;;YAEd,MAAM,OAAO,GAAsB,MAAM,IAAA,6BAAsB,EAC7D,WAAW,CACZ,CAAC;YAEF,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC;YAE3B,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gBACvB,MAAM,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,YAAY,CAAC,CAAC;gBACpE,OAAO,YAAY,CAAC;aACrB;YAED,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,KAAuB,YAAY,EAA9B,cAAc,kBAAI,YAAY,EAAvD,iBAAwC,CAAe,CAAC;YAC9D,MAAM,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAAC;YAElE,IAAI,MAAM,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;gBAC9D,MAAM,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;gBAC5D,OAAO,YAAY,CAAC;aACrB;iBAAM;gBACL,MAAM,GAAG,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shopify/shopify-api",
|
|
3
|
-
"version": "8.0
|
|
3
|
+
"version": "8.1.0",
|
|
4
4
|
"description": "Shopify API Library for Node - accelerate development with support for authentication, graphql proxy, webhooks",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ShopifyClients } from 'lib';
|
|
1
|
+
import type { ShopifyClients } from '../lib';
|
|
2
2
|
import { ConfigInterface } from '../lib/base-types';
|
|
3
3
|
import { ShopifyRestResources } from './types';
|
|
4
4
|
export interface LoadRestResourcesParams<Resources extends ShopifyRestResources> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-rest-resources.d.ts","sourceRoot":"","sources":["load-rest-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"load-rest-resources.d.ts","sourceRoot":"","sources":["load-rest-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAIlD,OAAO,EAAC,oBAAoB,EAAC,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,uBAAuB,CACtC,SAAS,SAAS,oBAAoB;IAEtC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,wBAAgB,iBAAiB,CAAC,SAAS,SAAS,oBAAoB,EAAE,EACxE,SAAS,EACT,MAAM,EACN,UAAU,GACX,EAAE,uBAAuB,CAAC,SAAS,CAAC,GAAG,SAAS,CAsChD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-rest-resources.js","sourceRoot":"","sources":["load-rest-resources.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"load-rest-resources.js","sourceRoot":"","sources":["load-rest-resources.ts"],"names":[],"mappings":";;;AAEA,0CAAqC;AAarC,SAAgB,iBAAiB,CAAyC,EACxE,SAAS,EACT,MAAM,EACN,UAAU,GACyB;IACnC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE;QAC7D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CACpB,0CAA0C,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,qCAAqC,MAAM,CAAC,UAAU,EAAE,CACtI,CAAC;KACH;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE;QACjD,MAAM,WAAY,SAAQ,QAAQ;SAAG;QAErC,WAAW,CAAC,kBAAkB,CAAC;YAC7B,MAAM,EAAE,UAAU;YAClB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;YAC5D,KAAqB,CAAC,kBAAkB,CAAC;gBACxC,MAAM,EAAE,UAAU;gBAClB,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7D,KAAqB,CAAC,kBAAkB,CAAC;gBACxC,MAAM,EAAE,UAAU;gBAClB,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE;YAC1C,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7B,CAAC,CAAC,CACU,CAAC;AACjB,CAAC;AA1CD,8CA0CC"}
|