@shopify/shopify-api 4.2.0 → 5.0.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/CHANGELOG.md +11 -4
- package/dist/auth/oauth/oauth.d.ts.map +1 -1
- package/dist/auth/oauth/oauth.js +7 -5
- package/dist/auth/session/storage/custom.d.ts.map +1 -1
- package/dist/auth/session/storage/custom.js +5 -2
- package/dist/auth/session/storage/memory.d.ts.map +1 -1
- package/dist/auth/session/storage/memory.js +4 -2
- package/dist/auth/session/storage/mongodb.d.ts.map +1 -1
- package/dist/auth/session/storage/mongodb.js +4 -2
- package/dist/auth/session/storage/mysql.d.ts.map +1 -1
- package/dist/auth/session/storage/mysql.js +4 -2
- package/dist/auth/session/storage/postgresql.d.ts.map +1 -1
- package/dist/auth/session/storage/postgresql.js +4 -2
- package/dist/auth/session/storage/redis.d.ts +2 -1
- package/dist/auth/session/storage/redis.d.ts.map +1 -1
- package/dist/auth/session/storage/redis.js +5 -5
- package/dist/auth/session/storage/sqlite.d.ts.map +1 -1
- package/dist/auth/session/storage/sqlite.js +6 -3
- package/dist/base-types.d.ts +1 -0
- package/dist/base-types.d.ts.map +1 -1
- package/dist/clients/graphql/graphql_client.d.ts.map +1 -1
- package/dist/clients/graphql/graphql_client.js +25 -14
- package/dist/clients/http_client/http_client.js +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +3 -0
- package/dist/error.d.ts +13 -0
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +20 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/utils/delete-offline-session.d.ts.map +1 -1
- package/dist/utils/delete-offline-session.js +4 -2
- package/dist/utils/get-embedded-app-url.d.ts.map +1 -1
- package/dist/utils/get-embedded-app-url.js +2 -1
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -2
- package/dist/utils/load-offline-session.d.ts.map +1 -1
- package/dist/utils/load-offline-session.js +4 -2
- package/dist/utils/setup-jest.d.ts.map +1 -1
- package/dist/utils/setup-jest.js +1 -0
- package/dist/utils/shop-validator.d.ts +12 -3
- package/dist/utils/shop-validator.d.ts.map +1 -1
- package/dist/utils/shop-validator.js +39 -7
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/webhooks/registry.d.ts.map +1 -1
- package/dist/webhooks/registry.js +21 -18
- package/package.json +1 -1
- package/dist/__tests__/fake-resource-with-custom-prefix.d.ts +0 -21
- package/dist/__tests__/fake-resource-with-custom-prefix.d.ts.map +0 -1
- package/dist/__tests__/fake-resource-with-custom-prefix.js +0 -46
- package/dist/__tests__/fake-resource.d.ts +0 -41
- package/dist/__tests__/fake-resource.d.ts.map +0 -1
- package/dist/__tests__/fake-resource.js +0 -122
- package/dist/auth/session/storage/__tests__/battery-of-tests.d.ts +0 -3
- package/dist/auth/session/storage/__tests__/battery-of-tests.d.ts.map +0 -1
- package/dist/auth/session/storage/__tests__/battery-of-tests.js +0 -315
- package/dist/auth/session/storage/__tests__/session-test-utils.d.ts +0 -3
- package/dist/auth/session/storage/__tests__/session-test-utils.d.ts.map +0 -1
- package/dist/auth/session/storage/__tests__/session-test-utils.js +0 -46
- package/dist/auth/session/storage/__tests__/utils.d.ts +0 -10
- package/dist/auth/session/storage/__tests__/utils.d.ts.map +0 -1
- package/dist/auth/session/storage/__tests__/utils.js +0 -87
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,13 @@ and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
## Unreleased
|
|
9
9
|
|
|
10
|
+
## [5.0.0] - 2022-07-28
|
|
11
|
+
|
|
12
|
+
- ⚠️ [Breaking] If a response from a GraphQL query contains an `errors` attribute, `GraphqlClient` will now throw a `GraphqlQueryError`. The caller can check the `error.response` attribute to see what was returned from the GraphQL API. [#431](https://github.com/Shopify/shopify-api-node/pull/431)
|
|
13
|
+
- ⚠️ [Breaking] Add utils functions to sanitize shops and hosts, and remove the `validateShop` utils function [#434](https://github.com/Shopify/shopify-api-node/pull/434)
|
|
14
|
+
- Allow passing in options for the Redis client used by the session storage strategy [#430](https://github.com/Shopify/shopify-api-node/pull/430)
|
|
15
|
+
- Fix User-Agent header sent in PUT / POST requests [#435](https://github.com/Shopify/shopify-api-node/pull/435)
|
|
16
|
+
|
|
10
17
|
## [4.2.0] - 2022-07-20
|
|
11
18
|
|
|
12
19
|
- Return a 401 instead of 403 when webhooks fail validation [#425](https://github.com/Shopify/shopify-api-node/pull/425)
|
|
@@ -107,12 +114,12 @@ and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
|
107
114
|
### Added
|
|
108
115
|
|
|
109
116
|
- Add a 5 second `clockTolerance` to fix `jwt not active` error [#227](https://github.com/Shopify/shopify-api-node/pull/227)
|
|
110
|
-
- [Breaking] Change default for OAuth.beginAuth to online sessions [#203](https://github.com/Shopify/shopify-api-node/pull/203)
|
|
117
|
+
- ⚠️ [Breaking] Change default for OAuth.beginAuth to online sessions [#203](https://github.com/Shopify/shopify-api-node/pull/203)
|
|
111
118
|
- see [oauth.md](https://github.com/Shopify/shopify-api-node/blob/main/docs/usage/oauth.md) for updated docs
|
|
112
|
-
- [Breaking] Return and delete session in `validateAuthCallback` [#217](https://github.com/Shopify/shopify-api-node/pull/217)
|
|
119
|
+
- ⚠️ [Breaking] Return and delete session in `validateAuthCallback` [#217](https://github.com/Shopify/shopify-api-node/pull/217)
|
|
113
120
|
- see [oauth.md](https://github.com/Shopify/shopify-api-node/blob/main/docs/usage/oauth.md) for updated usage
|
|
114
|
-
- [Breaking] Extract `addHandler` and `getHandler` methods for webhooks out of `register` [#205](https://github.com/Shopify/shopify-api-node/pull/205)
|
|
115
|
-
- [Breaking] Sessions no longer default to `false` for `isOnline` [#169](https://github.com/Shopify/shopify-api-node/pull/169)
|
|
121
|
+
- ⚠️ [Breaking] Extract `addHandler` and `getHandler` methods for webhooks out of `register` [#205](https://github.com/Shopify/shopify-api-node/pull/205)
|
|
122
|
+
- ⚠️ [Breaking] Sessions no longer default to `false` for `isOnline` [#169](https://github.com/Shopify/shopify-api-node/pull/169)
|
|
116
123
|
- Required `Session` arguments must be passed to the constructor [#169](https://github.com/Shopify/shopify-api-node/pull/169)
|
|
117
124
|
- Allow `undefined` in `AuthScopes` [#169](https://github.com/Shopify/shopify-api-node/pull/169)
|
|
118
125
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/auth/oauth/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAexB,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/auth/oauth/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAexB,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EACL,SAAS,EAIV,MAAM,SAAS,CAAC;AAEjB,QAAA,MAAM,YAAY;;IAGhB;;;;;;;;;;OAUG;uBAEQ,KAAK,eAAe,YACnB,KAAK,cAAc,QACvB,MAAM,gBACE,MAAM,uBAEnB,QAAQ,MAAM,CAAC;IAiDlB;;;;;;;;;;OAUG;kCAEQ,KAAK,eAAe,YACnB,KAAK,cAAc,SACtB,SAAS,GACf,QAAQ,gBAAgB,CAAC;IAuG5B;;;;;OAKG;gCAEQ,KAAK,eAAe,YACnB,KAAK,cAAc,GAC5B,MAAM,GAAG,SAAS;IAQrB;;;;;OAKG;0BACmB,MAAM,UAAU,MAAM,GAAG,MAAM;IAIrD;;;;OAIG;8BACuB,MAAM,GAAG,MAAM;IAIzC;;;;;;OAMG;iCAEQ,KAAK,eAAe,YACnB,KAAK,cAAc,uBAE5B,MAAM,GAAG,SAAS;CAiCtB,CAAC;AAcF,OAAO,EAAC,YAAY,EAAC,CAAC"}
|
package/dist/auth/oauth/oauth.js
CHANGED
|
@@ -14,6 +14,7 @@ var session_1 = require("../session");
|
|
|
14
14
|
var http_client_1 = require("../../clients/http_client/http_client");
|
|
15
15
|
var types_1 = require("../../clients/http_client/types");
|
|
16
16
|
var ShopifyErrors = tslib_1.__importStar(require("../../error"));
|
|
17
|
+
var shop_validator_1 = require("../../utils/shop-validator");
|
|
17
18
|
var ShopifyOAuth = {
|
|
18
19
|
SESSION_COOKIE_NAME: 'shopify_app_session',
|
|
19
20
|
/**
|
|
@@ -30,18 +31,19 @@ var ShopifyOAuth = {
|
|
|
30
31
|
beginAuth: function (request, response, shop, redirectPath, isOnline) {
|
|
31
32
|
if (isOnline === void 0) { isOnline = true; }
|
|
32
33
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
33
|
-
var cookies, state, session, sessionStored, query, queryString;
|
|
34
|
+
var cleanShop, cookies, state, session, sessionStored, query, queryString;
|
|
34
35
|
return tslib_1.__generator(this, function (_a) {
|
|
35
36
|
switch (_a.label) {
|
|
36
37
|
case 0:
|
|
37
38
|
context_1.Context.throwIfUninitialized();
|
|
38
39
|
context_1.Context.throwIfPrivateApp('Cannot perform OAuth for private apps');
|
|
40
|
+
cleanShop = (0, shop_validator_1.sanitizeShop)(shop, true);
|
|
39
41
|
cookies = new cookies_1.default(request, response, {
|
|
40
42
|
keys: [context_1.Context.API_SECRET_KEY],
|
|
41
43
|
secure: true,
|
|
42
44
|
});
|
|
43
45
|
state = (0, nonce_1.default)();
|
|
44
|
-
session = new session_1.Session(isOnline ? (0, uuid_1.v4)() : this.getOfflineSessionId(
|
|
46
|
+
session = new session_1.Session(isOnline ? (0, uuid_1.v4)() : this.getOfflineSessionId(cleanShop), cleanShop, state, isOnline);
|
|
45
47
|
return [4 /*yield*/, context_1.Context.SESSION_STORAGE.storeSession(session)];
|
|
46
48
|
case 1:
|
|
47
49
|
sessionStored = _a.sent();
|
|
@@ -62,7 +64,7 @@ var ShopifyOAuth = {
|
|
|
62
64
|
'grant_options[]': isOnline ? 'per-user' : '',
|
|
63
65
|
};
|
|
64
66
|
queryString = querystring_1.default.stringify(query);
|
|
65
|
-
return [2 /*return*/, "https://".concat(
|
|
67
|
+
return [2 /*return*/, "https://".concat(cleanShop, "/admin/oauth/authorize?").concat(queryString)];
|
|
66
68
|
}
|
|
67
69
|
});
|
|
68
70
|
});
|
|
@@ -181,7 +183,7 @@ var ShopifyOAuth = {
|
|
|
181
183
|
* @param userId Current actor id
|
|
182
184
|
*/
|
|
183
185
|
getJwtSessionId: function (shop, userId) {
|
|
184
|
-
return "".concat(shop, "_").concat(userId);
|
|
186
|
+
return "".concat((0, shop_validator_1.sanitizeShop)(shop, true), "_").concat(userId);
|
|
185
187
|
},
|
|
186
188
|
/**
|
|
187
189
|
* Builds an offline session id for the given shop.
|
|
@@ -189,7 +191,7 @@ var ShopifyOAuth = {
|
|
|
189
191
|
* @param shop Shopify shop domain
|
|
190
192
|
*/
|
|
191
193
|
getOfflineSessionId: function (shop) {
|
|
192
|
-
return "offline_".concat(shop);
|
|
194
|
+
return "offline_".concat((0, shop_validator_1.sanitizeShop)(shop, true));
|
|
193
195
|
},
|
|
194
196
|
/**
|
|
195
197
|
* Extracts the current session id from the request / response pair.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/custom.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/custom.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAIlD,qBAAa,oBAAqB,YAAW,cAAc;IAEvD,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC;IACvE,QAAQ,CAAC,YAAY,EAAE,CACrB,EAAE,EAAE,MAAM,KACP,OAAO,CAAC,gBAAgB,GAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC;IACzD,QAAQ,CAAC,sBAAsB,CAAC,SAAQ,MAAM,EAAE,KAAK,QAAQ,OAAO,CAAC;IACrE,QAAQ,CAAC,0BAA0B,CAAC,UAC5B,MAAM,KACT,QAAQ,gBAAgB,EAAE,CAAC;gBARvB,aAAa,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,EAC9D,YAAY,EAAE,CACrB,EAAE,EAAE,MAAM,KACP,OAAO,CAAC,gBAAgB,GAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,GAAG,SAAS,CAAC,EAC5D,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAChD,sBAAsB,CAAC,SAAQ,MAAM,EAAE,KAAK,QAAQ,OAAO,CAAC,aAAA,EAC5D,0BAA0B,CAAC,UAC5B,MAAM,KACT,QAAQ,gBAAgB,EAAE,CAAC,aAAA;IASrB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IA2C9D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAoB3E"}
|
|
@@ -4,6 +4,7 @@ exports.CustomSessionStorage = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var session_1 = require("../session");
|
|
6
6
|
var ShopifyErrors = tslib_1.__importStar(require("../../../error"));
|
|
7
|
+
var shop_validator_1 = require("../../../utils/shop-validator");
|
|
7
8
|
var CustomSessionStorage = /** @class */ (function () {
|
|
8
9
|
function CustomSessionStorage(storeCallback, loadCallback, deleteCallback, deleteSessionsCallback, findSessionsByShopCallback) {
|
|
9
10
|
this.storeCallback = storeCallback;
|
|
@@ -62,6 +63,7 @@ var CustomSessionStorage = /** @class */ (function () {
|
|
|
62
63
|
if (session.expires && typeof session.expires === 'string') {
|
|
63
64
|
session.expires = new Date(session.expires);
|
|
64
65
|
}
|
|
66
|
+
Object.setPrototypeOf(session, session_1.Session.prototype);
|
|
65
67
|
return [2 /*return*/, session];
|
|
66
68
|
}
|
|
67
69
|
else {
|
|
@@ -119,16 +121,17 @@ var CustomSessionStorage = /** @class */ (function () {
|
|
|
119
121
|
};
|
|
120
122
|
CustomSessionStorage.prototype.findSessionsByShop = function (shop) {
|
|
121
123
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
122
|
-
var sessions, error_5;
|
|
124
|
+
var cleanShop, sessions, error_5;
|
|
123
125
|
return tslib_1.__generator(this, function (_a) {
|
|
124
126
|
switch (_a.label) {
|
|
125
127
|
case 0:
|
|
128
|
+
cleanShop = (0, shop_validator_1.sanitizeShop)(shop, true);
|
|
126
129
|
sessions = [];
|
|
127
130
|
if (!this.findSessionsByShopCallback) return [3 /*break*/, 5];
|
|
128
131
|
_a.label = 1;
|
|
129
132
|
case 1:
|
|
130
133
|
_a.trys.push([1, 3, , 4]);
|
|
131
|
-
return [4 /*yield*/, this.findSessionsByShopCallback(
|
|
134
|
+
return [4 /*yield*/, this.findSessionsByShopCallback(cleanShop)];
|
|
132
135
|
case 2:
|
|
133
136
|
sessions = _a.sent();
|
|
134
137
|
return [3 /*break*/, 4];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAGlD,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,QAAQ,CAAwC;IAE3C,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKzD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAI9D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAQ3E"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MemorySessionStorage = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var shop_validator_1 = require("../../../utils/shop-validator");
|
|
5
6
|
var MemorySessionStorage = /** @class */ (function () {
|
|
6
7
|
function MemorySessionStorage() {
|
|
7
8
|
this.sessions = {};
|
|
@@ -42,9 +43,10 @@ var MemorySessionStorage = /** @class */ (function () {
|
|
|
42
43
|
};
|
|
43
44
|
MemorySessionStorage.prototype.findSessionsByShop = function (shop) {
|
|
44
45
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
45
|
-
var results;
|
|
46
|
+
var cleanShop, results;
|
|
46
47
|
return tslib_1.__generator(this, function (_a) {
|
|
47
|
-
|
|
48
|
+
cleanShop = (0, shop_validator_1.sanitizeShop)(shop, true);
|
|
49
|
+
results = Object.values(this.sessions).filter(function (session) { return session.shop === cleanShop; });
|
|
48
50
|
return [2 /*return*/, results];
|
|
49
51
|
});
|
|
50
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/mongodb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"mongodb.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/mongodb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,4BAA4B;IAC3C,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAKD,qBAAa,qBAAsB,YAAW,cAAc;IAyBxD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IAzBhB,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,4BAA4B,CAAC;IAa7C,SAAgB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,CAA+B;IAE9C,OAAO,CAAC,MAAM,CAAM;gBAGV,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,MAAM,EACtB,IAAI,GAAE,OAAO,CAAC,4BAA4B,CAAM;IASrC,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAazD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAQ9D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAY7D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,KAAK,UAAU,GAIrB;YAEa,IAAI;YAOJ,oBAAoB;YAOpB,gBAAgB;CAM/B"}
|
|
@@ -4,6 +4,7 @@ exports.MongoDBSessionStorage = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var mongodb = tslib_1.__importStar(require("mongodb"));
|
|
6
6
|
var session_utils_1 = require("../session-utils");
|
|
7
|
+
var shop_validator_1 = require("../../../utils/shop-validator");
|
|
7
8
|
var defaultMongoDBSessionStorageOptions = {
|
|
8
9
|
sessionCollectionName: 'shopify_sessions',
|
|
9
10
|
};
|
|
@@ -86,13 +87,14 @@ var MongoDBSessionStorage = /** @class */ (function () {
|
|
|
86
87
|
};
|
|
87
88
|
MongoDBSessionStorage.prototype.findSessionsByShop = function (shop) {
|
|
88
89
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
89
|
-
var rawResults;
|
|
90
|
+
var cleanShop, rawResults;
|
|
90
91
|
return tslib_1.__generator(this, function (_a) {
|
|
91
92
|
switch (_a.label) {
|
|
92
93
|
case 0: return [4 /*yield*/, this.ready];
|
|
93
94
|
case 1:
|
|
94
95
|
_a.sent();
|
|
95
|
-
|
|
96
|
+
cleanShop = (0, shop_validator_1.sanitizeShop)(shop, true);
|
|
97
|
+
return [4 /*yield*/, this.collection.find({ shop: cleanShop }).toArray()];
|
|
96
98
|
case 2:
|
|
97
99
|
rawResults = _a.sent();
|
|
98
100
|
if (!rawResults || (rawResults === null || rawResults === void 0 ? void 0 : rawResults.length) === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/mysql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/mysql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAKD,qBAAa,mBAAoB,YAAW,cAAc;IAuBtD,OAAO,CAAC,KAAK;IAtBf,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAC;IAY3C,SAAgB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,UAAU,CAAmB;gBAG3B,KAAK,EAAE,GAAG,EAClB,IAAI,GAAE,OAAO,CAAC,0BAA0B,CAAM;IASnC,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBzD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAY9D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiB7D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAI1B,IAAI;YAKJ,eAAe;YAQf,WAAW;IAmBzB,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -4,6 +4,7 @@ exports.MySQLSessionStorage = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var promise_1 = tslib_1.__importDefault(require("mysql2/promise"));
|
|
6
6
|
var session_utils_1 = require("../session-utils");
|
|
7
|
+
var shop_validator_1 = require("../../../utils/shop-validator");
|
|
7
8
|
var defaultMySQLSessionStorageOptions = {
|
|
8
9
|
sessionTableName: 'shopify_sessions',
|
|
9
10
|
};
|
|
@@ -100,14 +101,15 @@ var MySQLSessionStorage = /** @class */ (function () {
|
|
|
100
101
|
};
|
|
101
102
|
MySQLSessionStorage.prototype.findSessionsByShop = function (shop) {
|
|
102
103
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
103
|
-
var query, _a, rows, results;
|
|
104
|
+
var cleanShop, query, _a, rows, results;
|
|
104
105
|
return tslib_1.__generator(this, function (_b) {
|
|
105
106
|
switch (_b.label) {
|
|
106
107
|
case 0: return [4 /*yield*/, this.ready];
|
|
107
108
|
case 1:
|
|
108
109
|
_b.sent();
|
|
110
|
+
cleanShop = (0, shop_validator_1.sanitizeShop)(shop, true);
|
|
109
111
|
query = "\n SELECT * FROM ".concat(this.options.sessionTableName, "\n WHERE shop = ?;\n ");
|
|
110
|
-
return [4 /*yield*/, this.query(query, [
|
|
112
|
+
return [4 /*yield*/, this.query(query, [cleanShop])];
|
|
111
113
|
case 2:
|
|
112
114
|
_a = tslib_1.__read.apply(void 0, [_b.sent(), 1]), rows = _a[0];
|
|
113
115
|
if (!Array.isArray(rows) || (rows === null || rows === void 0 ? void 0 : rows.length) === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresql.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/postgresql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"postgresql.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/postgresql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,+BAA+B;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,qBAAa,wBAAyB,YAAW,cAAc;IAuB3D,OAAO,CAAC,KAAK;IAtBf,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,+BAA+B,CAAC;IAYhD,SAAgB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,MAAM,CAAY;gBAGhB,KAAK,EAAE,GAAG,EAClB,IAAI,GAAE,OAAO,CAAC,+BAA+B,CAAM;IASxC,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBzD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAY9D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiBnE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAIpB,IAAI;YAMJ,aAAa;YAIb,eAAe;YAQf,WAAW;YAmBX,KAAK;CAIpB"}
|
|
@@ -4,6 +4,7 @@ exports.PostgreSQLSessionStorage = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var pg_1 = tslib_1.__importDefault(require("pg"));
|
|
6
6
|
var session_utils_1 = require("../session-utils");
|
|
7
|
+
var shop_validator_1 = require("../../../utils/shop-validator");
|
|
7
8
|
var defaultPostgreSQLSessionStorageOptions = {
|
|
8
9
|
sessionTableName: 'shopify_sessions',
|
|
9
10
|
port: 3211,
|
|
@@ -106,14 +107,15 @@ var PostgreSQLSessionStorage = /** @class */ (function () {
|
|
|
106
107
|
};
|
|
107
108
|
PostgreSQLSessionStorage.prototype.findSessionsByShop = function (shop) {
|
|
108
109
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
109
|
-
var query, rows, results;
|
|
110
|
+
var cleanShop, query, rows, results;
|
|
110
111
|
return tslib_1.__generator(this, function (_a) {
|
|
111
112
|
switch (_a.label) {
|
|
112
113
|
case 0: return [4 /*yield*/, this.ready];
|
|
113
114
|
case 1:
|
|
114
115
|
_a.sent();
|
|
116
|
+
cleanShop = (0, shop_validator_1.sanitizeShop)(shop, true);
|
|
115
117
|
query = "\n SELECT * FROM ".concat(this.options.sessionTableName, "\n WHERE shop = $1;\n ");
|
|
116
|
-
return [4 /*yield*/, this.query(query, [
|
|
118
|
+
return [4 /*yield*/, this.query(query, [cleanShop])];
|
|
117
119
|
case 2:
|
|
118
120
|
rows = _a.sent();
|
|
119
121
|
if (!Array.isArray(rows) || (rows === null || rows === void 0 ? void 0 : rows.length) === 0)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { RedisClientOptions } from 'redis';
|
|
1
2
|
import { SessionInterface } from '../types';
|
|
2
3
|
import { SessionStorage } from '../session_storage';
|
|
3
|
-
export interface RedisSessionStorageOptions {
|
|
4
|
+
export interface RedisSessionStorageOptions extends RedisClientOptions {
|
|
4
5
|
sessionKeyPrefix: string;
|
|
5
6
|
}
|
|
6
7
|
export declare class RedisSessionStorage implements SessionStorage {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/redis.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,kBAAkB,EAAC,MAAM,OAAO,CAAC;AAExE,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAKD,qBAAa,mBAAoB,YAAW,cAAc;IAuBtD,OAAO,CAAC,KAAK;IAtBf,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAC;IAY3C,SAAgB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAkB;gBAGtB,KAAK,EAAE,GAAG,EAClB,IAAI,GAAE,OAAO,CAAC,0BAA0B,CAAM;IASnC,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAW9D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiB7D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,CAAC,OAAO;YAID,IAAI;CAOnB"}
|
|
@@ -4,6 +4,7 @@ exports.RedisSessionStorage = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var redis_1 = require("redis");
|
|
6
6
|
var session_utils_1 = require("../session-utils");
|
|
7
|
+
var shop_validator_1 = require("../../../utils/shop-validator");
|
|
7
8
|
var defaultRedisSessionStorageOptions = {
|
|
8
9
|
sessionKeyPrefix: 'shopify_sessions',
|
|
9
10
|
};
|
|
@@ -87,13 +88,14 @@ var RedisSessionStorage = /** @class */ (function () {
|
|
|
87
88
|
};
|
|
88
89
|
RedisSessionStorage.prototype.findSessionsByShop = function (shop) {
|
|
89
90
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
90
|
-
var keys, results, keys_1, keys_1_1, key, rawResult, session, e_1_1;
|
|
91
|
+
var cleanShop, keys, results, keys_1, keys_1_1, key, rawResult, session, e_1_1;
|
|
91
92
|
var e_1, _a;
|
|
92
93
|
return tslib_1.__generator(this, function (_b) {
|
|
93
94
|
switch (_b.label) {
|
|
94
95
|
case 0: return [4 /*yield*/, this.ready];
|
|
95
96
|
case 1:
|
|
96
97
|
_b.sent();
|
|
98
|
+
cleanShop = (0, shop_validator_1.sanitizeShop)(shop, true);
|
|
97
99
|
return [4 /*yield*/, this.client.keys('*')];
|
|
98
100
|
case 2:
|
|
99
101
|
keys = _b.sent();
|
|
@@ -112,7 +114,7 @@ var RedisSessionStorage = /** @class */ (function () {
|
|
|
112
114
|
if (!rawResult)
|
|
113
115
|
return [3 /*break*/, 6];
|
|
114
116
|
session = (0, session_utils_1.sessionFromEntries)(JSON.parse(rawResult));
|
|
115
|
-
if (session.shop ===
|
|
117
|
+
if (session.shop === cleanShop)
|
|
116
118
|
results.push(session);
|
|
117
119
|
_b.label = 6;
|
|
118
120
|
case 6:
|
|
@@ -154,9 +156,7 @@ var RedisSessionStorage = /** @class */ (function () {
|
|
|
154
156
|
return tslib_1.__generator(this, function (_a) {
|
|
155
157
|
switch (_a.label) {
|
|
156
158
|
case 0:
|
|
157
|
-
this.client = (0, redis_1.createClient)({
|
|
158
|
-
url: this.dbUrl.toString(),
|
|
159
|
-
});
|
|
159
|
+
this.client = (0, redis_1.createClient)(tslib_1.__assign(tslib_1.__assign({}, this.options), { url: this.dbUrl.toString() }));
|
|
160
160
|
return [4 /*yield*/, this.client.connect()];
|
|
161
161
|
case 1:
|
|
162
162
|
_a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../src/auth/session/storage/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAKD,qBAAa,oBAAqB,YAAW,cAAc;IAMvD,OAAO,CAAC,QAAQ;IALlB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,EAAE,CAAmB;IAC7B,OAAO,CAAC,KAAK,CAAgB;gBAGnB,QAAQ,EAAE,MAAM,EACxB,IAAI,GAAE,OAAO,CAAC,2BAA2B,CAAM;IAOpC,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBzD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAa9D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAiB5D,eAAe;YAWf,IAAI;IAmBlB,OAAO,CAAC,KAAK;CAWd"}
|
|
@@ -4,6 +4,7 @@ exports.SQLiteSessionStorage = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var sqlite3_1 = tslib_1.__importDefault(require("sqlite3"));
|
|
6
6
|
var session_utils_1 = require("../session-utils");
|
|
7
|
+
var shop_validator_1 = require("../../../utils/shop-validator");
|
|
7
8
|
var defaultSQLiteSessionStorageOptions = {
|
|
8
9
|
sessionTableName: 'shopify_sessions',
|
|
9
10
|
};
|
|
@@ -95,14 +96,16 @@ var SQLiteSessionStorage = /** @class */ (function () {
|
|
|
95
96
|
};
|
|
96
97
|
SQLiteSessionStorage.prototype.findSessionsByShop = function (shop) {
|
|
97
98
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
98
|
-
var query, rows, results;
|
|
99
|
+
var cleanShop, query, rows, results;
|
|
99
100
|
return tslib_1.__generator(this, function (_a) {
|
|
100
101
|
switch (_a.label) {
|
|
101
|
-
case 0:
|
|
102
|
+
case 0:
|
|
103
|
+
cleanShop = (0, shop_validator_1.sanitizeShop)(shop, true);
|
|
104
|
+
return [4 /*yield*/, this.ready];
|
|
102
105
|
case 1:
|
|
103
106
|
_a.sent();
|
|
104
107
|
query = "\n SELECT * FROM ".concat(this.options.sessionTableName, "\n WHERE shop = ?;\n ");
|
|
105
|
-
return [4 /*yield*/, this.query(query, [
|
|
108
|
+
return [4 /*yield*/, this.query(query, [cleanShop])];
|
|
106
109
|
case 2:
|
|
107
110
|
rows = _a.sent();
|
|
108
111
|
if (!Array.isArray(rows) || (rows === null || rows === void 0 ? void 0 : rows.length) === 0)
|
package/dist/base-types.d.ts
CHANGED
package/dist/base-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../src/base-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,UAAU,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../src/base-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,UAAU,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,mBAAmB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC3C;AAED,oBAAY,UAAU;IACpB,SAAS,YAAY;IACrB,SAAS,YAAY;IACrB,OAAO,YAAY;IACnB,MAAM,YAAY;IAClB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD,oBAAY,aAAa;IACvB,WAAW,2BAA2B;IACtC,qBAAqB,sCAAsC;IAC3D,IAAI,0BAA0B;IAC9B,KAAK,oBAAoB;IACzB,MAAM,0BAA0B;CACjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql_client.d.ts","sourceRoot":"","sources":["../../../src/clients/graphql/graphql_client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graphql_client.d.ts","sourceRoot":"","sources":["../../../src/clients/graphql/graphql_client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,aAAa;IAKZ,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,WAAW,CAAC;IAJ1D,SAAS,CAAC,WAAW,SAAgB;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,MAAM,EAAW,WAAW,CAAC,oBAAQ;IAU5D,KAAK,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAgC1D,SAAS,CAAC,oBAAoB,IAAI,iBAAiB;CAQpD"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GraphqlClient = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var error_1 = require("../../error");
|
|
6
5
|
var context_1 = require("../../context");
|
|
7
6
|
var base_types_1 = require("../../base-types");
|
|
8
7
|
var http_client_1 = require("../http_client/http_client");
|
|
@@ -20,22 +19,34 @@ var GraphqlClient = /** @class */ (function () {
|
|
|
20
19
|
}
|
|
21
20
|
GraphqlClient.prototype.query = function (params) {
|
|
22
21
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
23
|
-
var accessTokenHeader, path, dataType;
|
|
22
|
+
var accessTokenHeader, path, dataType, result;
|
|
24
23
|
var _a;
|
|
25
24
|
return tslib_1.__generator(this, function (_b) {
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
switch (_b.label) {
|
|
26
|
+
case 0:
|
|
27
|
+
if (params.data.length === 0) {
|
|
28
|
+
throw new ShopifyErrors.MissingRequiredArgument('Query missing.');
|
|
29
|
+
}
|
|
30
|
+
accessTokenHeader = this.getAccessTokenHeader();
|
|
31
|
+
params.extraHeaders = tslib_1.__assign((_a = {}, _a[accessTokenHeader.header] = accessTokenHeader.value, _a), params.extraHeaders);
|
|
32
|
+
path = "".concat(this.baseApiPath, "/").concat(context_1.Context.API_VERSION, "/graphql.json");
|
|
33
|
+
if (typeof params.data === 'object') {
|
|
34
|
+
dataType = types_1.DataType.JSON;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
dataType = types_1.DataType.GraphQL;
|
|
38
|
+
}
|
|
39
|
+
return [4 /*yield*/, this.client.post(tslib_1.__assign({ path: path, type: dataType }, params))];
|
|
40
|
+
case 1:
|
|
41
|
+
result = _b.sent();
|
|
42
|
+
if (result.body.errors) {
|
|
43
|
+
throw new ShopifyErrors.GraphqlQueryError({
|
|
44
|
+
message: 'GraphQL query returned errors',
|
|
45
|
+
response: result.body,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return [2 /*return*/, result];
|
|
28
49
|
}
|
|
29
|
-
accessTokenHeader = this.getAccessTokenHeader();
|
|
30
|
-
params.extraHeaders = tslib_1.__assign((_a = {}, _a[accessTokenHeader.header] = accessTokenHeader.value, _a), params.extraHeaders);
|
|
31
|
-
path = "".concat(this.baseApiPath, "/").concat(context_1.Context.API_VERSION, "/graphql.json");
|
|
32
|
-
if (typeof params.data === 'object') {
|
|
33
|
-
dataType = types_1.DataType.JSON;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
dataType = types_1.DataType.GraphQL;
|
|
37
|
-
}
|
|
38
|
-
return [2 /*return*/, this.client.post(tslib_1.__assign({ path: path, type: dataType }, params))];
|
|
39
50
|
});
|
|
40
51
|
});
|
|
41
52
|
};
|
|
@@ -107,7 +107,7 @@ var HttpClient = /** @class */ (function () {
|
|
|
107
107
|
body = data;
|
|
108
108
|
break;
|
|
109
109
|
}
|
|
110
|
-
headers = tslib_1.__assign({ 'Content-Type': type, 'Content-Length': Buffer.byteLength(body) }
|
|
110
|
+
headers = tslib_1.__assign(tslib_1.__assign({}, headers), { 'Content-Type': type, 'Content-Length': Buffer.byteLength(body) });
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
url = "https://".concat(this.domain).concat(this.getRequestPath(params.path)).concat(processed_query_1.default.stringify(params.query));
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAa,aAAa,EAAC,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,UAAU,gBAAiB,SAAQ,aAAa;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,cAAc,CAAC;IAChC,MAAM,EAAE,UAAU,CAAC;IAEnB;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,oBAAoB,IAAI,IAAI,GAAG,KAAK,CAAC;IAErC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;CAClD;AAOD,QAAA,MAAM,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAa,aAAa,EAAC,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,UAAU,gBAAiB,SAAQ,aAAa;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,cAAc,CAAC;IAChC,MAAM,EAAE,UAAU,CAAC;IAEnB;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,oBAAoB,IAAI,IAAI,GAAG,KAAK,CAAC;IAErC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;CAClD;AAOD,QAAA,MAAM,OAAO,EAAE,gBAyFd,CAAC;AAEF,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAC,CAAC"}
|
package/dist/context.js
CHANGED
|
@@ -68,6 +68,9 @@ var Context = {
|
|
|
68
68
|
this.PRIVATE_APP_STOREFRONT_ACCESS_TOKEN =
|
|
69
69
|
params.PRIVATE_APP_STOREFRONT_ACCESS_TOKEN;
|
|
70
70
|
}
|
|
71
|
+
if (params.CUSTOM_SHOP_DOMAINS) {
|
|
72
|
+
this.CUSTOM_SHOP_DOMAINS = params.CUSTOM_SHOP_DOMAINS;
|
|
73
|
+
}
|
|
71
74
|
},
|
|
72
75
|
throwIfUninitialized: function () {
|
|
73
76
|
if (!this.API_KEY || this.API_KEY.length === 0) {
|
package/dist/error.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare class InvalidHmacError extends ShopifyError {
|
|
|
5
5
|
}
|
|
6
6
|
export declare class InvalidShopError extends ShopifyError {
|
|
7
7
|
}
|
|
8
|
+
export declare class InvalidHostError extends ShopifyError {
|
|
9
|
+
}
|
|
8
10
|
export declare class InvalidJwtError extends ShopifyError {
|
|
9
11
|
}
|
|
10
12
|
export declare class MissingJwtTokenError extends ShopifyError {
|
|
@@ -52,6 +54,17 @@ export declare class HttpThrottlingError extends HttpRetriableError {
|
|
|
52
54
|
}
|
|
53
55
|
export declare class RestResourceError extends ShopifyError {
|
|
54
56
|
}
|
|
57
|
+
export declare class GraphqlQueryError extends ShopifyError {
|
|
58
|
+
readonly response: {
|
|
59
|
+
[key: string]: unknown;
|
|
60
|
+
};
|
|
61
|
+
constructor({ message, response, }: {
|
|
62
|
+
message: string;
|
|
63
|
+
response: {
|
|
64
|
+
[key: string]: unknown;
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
55
68
|
export declare class InvalidOAuthError extends ShopifyError {
|
|
56
69
|
}
|
|
57
70
|
export declare class SessionNotFound extends ShopifyError {
|
package/dist/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;gBACzB,GAAG,IAAI,EAAE,GAAG;CAIzB;AAED,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,eAAgB,SAAQ,YAAY;CAAG;AACpD,qBAAa,oBAAqB,SAAQ,YAAY;CAAG;AAEzD,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,yBAA0B,SAAQ,YAAY;CAAG;AAC9D,qBAAa,eAAgB,SAAQ,YAAY;CAAG;AAEpD,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AAExD,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAChC,OAAO,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CACpC;AACD,UAAU,uBAAwB,SAAQ,gBAAgB;IACxD,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBAEjB,EACjB,OAAO,EACP,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,OAAO,GACR,EAAE,uBAAuB;CAS3B;AACD,qBAAa,kBAAmB,SAAQ,iBAAiB;CAAG;AAC5D,qBAAa,iBAAkB,SAAQ,kBAAkB;CAAG;AAE5D,UAAU,uBAAwB,SAAQ,gBAAgB;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,UAAU,yBAA0B,SAAQ,uBAAuB;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;gBAExB,EAAC,UAAU,EAAE,GAAG,MAAM,EAAC,EAAE,yBAAyB;CAItE;AAED,qBAAa,iBAAkB,SAAQ,YAAY;CAAG;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;gBACzB,GAAG,IAAI,EAAE,GAAG;CAIzB;AAED,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,eAAgB,SAAQ,YAAY;CAAG;AACpD,qBAAa,oBAAqB,SAAQ,YAAY;CAAG;AAEzD,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,yBAA0B,SAAQ,YAAY;CAAG;AAC9D,qBAAa,eAAgB,SAAQ,YAAY;CAAG;AAEpD,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AAExD,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAChC,OAAO,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CACpC;AACD,UAAU,uBAAwB,SAAQ,gBAAgB;IACxD,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBAEjB,EACjB,OAAO,EACP,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,OAAO,GACR,EAAE,uBAAuB;CAS3B;AACD,qBAAa,kBAAmB,SAAQ,iBAAiB;CAAG;AAC5D,qBAAa,iBAAkB,SAAQ,kBAAkB;CAAG;AAE5D,UAAU,uBAAwB,SAAQ,gBAAgB;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,UAAU,yBAA0B,SAAQ,uBAAuB;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;gBAExB,EAAC,UAAU,EAAE,GAAG,MAAM,EAAC,EAAE,yBAAyB;CAItE;AAED,qBAAa,iBAAkB,SAAQ,YAAY;CAAG;AACtD,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,QAAQ,CAAC,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;gBAEzB,EACjB,OAAO,EACP,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACpC;CAIF;AAED,qBAAa,iBAAkB,SAAQ,YAAY;CAAG;AACtD,qBAAa,eAAgB,SAAQ,YAAY;CAAG;AACpD,qBAAa,cAAe,SAAQ,YAAY;CAAG;AACnD,qBAAa,cAAe,SAAQ,YAAY;CAAG;AAEnD,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AACxD,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AAExD,qBAAa,uBAAwB,SAAQ,YAAY;CAAG;AAC5D,qBAAa,qBAAsB,SAAQ,YAAY;CAAG;AAE1D,qBAAa,mBAAoB,SAAQ,YAAY;CAAG"}
|
package/dist/error.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InvalidRequestError = exports.UnsupportedClientType = exports.MissingRequiredArgument = exports.SessionStorageError = exports.InvalidWebhookError = exports.InvalidSession = exports.CookieNotFound = exports.SessionNotFound = exports.InvalidOAuthError = exports.RestResourceError = exports.HttpThrottlingError = exports.HttpInternalError = exports.HttpRetriableError = exports.HttpResponseError = exports.HttpMaxRetriesError = exports.HttpRequestError = exports.PrivateAppError = exports.UninitializedContextError = exports.SafeCompareError = exports.MissingJwtTokenError = exports.InvalidJwtError = exports.InvalidShopError = exports.InvalidHmacError = exports.ShopifyError = void 0;
|
|
3
|
+
exports.InvalidRequestError = exports.UnsupportedClientType = exports.MissingRequiredArgument = exports.SessionStorageError = exports.InvalidWebhookError = exports.InvalidSession = exports.CookieNotFound = exports.SessionNotFound = exports.InvalidOAuthError = exports.GraphqlQueryError = exports.RestResourceError = exports.HttpThrottlingError = exports.HttpInternalError = exports.HttpRetriableError = exports.HttpResponseError = exports.HttpMaxRetriesError = exports.HttpRequestError = exports.PrivateAppError = exports.UninitializedContextError = exports.SafeCompareError = exports.MissingJwtTokenError = exports.InvalidJwtError = exports.InvalidHostError = exports.InvalidShopError = exports.InvalidHmacError = exports.ShopifyError = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var ShopifyError = /** @class */ (function (_super) {
|
|
6
6
|
tslib_1.__extends(ShopifyError, _super);
|
|
@@ -33,6 +33,14 @@ var InvalidShopError = /** @class */ (function (_super) {
|
|
|
33
33
|
return InvalidShopError;
|
|
34
34
|
}(ShopifyError));
|
|
35
35
|
exports.InvalidShopError = InvalidShopError;
|
|
36
|
+
var InvalidHostError = /** @class */ (function (_super) {
|
|
37
|
+
tslib_1.__extends(InvalidHostError, _super);
|
|
38
|
+
function InvalidHostError() {
|
|
39
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
40
|
+
}
|
|
41
|
+
return InvalidHostError;
|
|
42
|
+
}(ShopifyError));
|
|
43
|
+
exports.InvalidHostError = InvalidHostError;
|
|
36
44
|
var InvalidJwtError = /** @class */ (function (_super) {
|
|
37
45
|
tslib_1.__extends(InvalidJwtError, _super);
|
|
38
46
|
function InvalidJwtError() {
|
|
@@ -141,6 +149,17 @@ var RestResourceError = /** @class */ (function (_super) {
|
|
|
141
149
|
return RestResourceError;
|
|
142
150
|
}(ShopifyError));
|
|
143
151
|
exports.RestResourceError = RestResourceError;
|
|
152
|
+
var GraphqlQueryError = /** @class */ (function (_super) {
|
|
153
|
+
tslib_1.__extends(GraphqlQueryError, _super);
|
|
154
|
+
function GraphqlQueryError(_a) {
|
|
155
|
+
var message = _a.message, response = _a.response;
|
|
156
|
+
var _this = _super.call(this, message) || this;
|
|
157
|
+
_this.response = response;
|
|
158
|
+
return _this;
|
|
159
|
+
}
|
|
160
|
+
return GraphqlQueryError;
|
|
161
|
+
}(ShopifyError));
|
|
162
|
+
exports.GraphqlQueryError = GraphqlQueryError;
|
|
144
163
|
var InvalidOAuthError = /** @class */ (function (_super) {
|
|
145
164
|
tslib_1.__extends(InvalidOAuthError, _super);
|
|
146
165
|
function InvalidOAuthError() {
|
package/dist/index.d.ts
CHANGED
|
@@ -37,7 +37,8 @@ export declare const Shopify: {
|
|
|
37
37
|
safeCompare: typeof import("./utils/safe-compare").default;
|
|
38
38
|
storeSession: typeof import("./utils/store-session").default;
|
|
39
39
|
validateHmac: typeof import("./utils/hmac-validator").default;
|
|
40
|
-
|
|
40
|
+
sanitizeShop: typeof import("./utils/shop-validator").sanitizeShop;
|
|
41
|
+
sanitizeHost: typeof import("./utils/shop-validator").sanitizeHost;
|
|
41
42
|
versionCompatible: typeof import("./utils/version-compatible").default;
|
|
42
43
|
withSession: typeof import("./utils/with-session").default;
|
|
43
44
|
getEmbeddedAppUrl: typeof import("./utils/get-embedded-app-url").default;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,aAAa,MAAM,SAAS,CAAC;AAOzC,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,aAAa,MAAM,SAAS,CAAC;AAOzC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQnB,CAAC;AAEF,eAAe,OAAO,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-offline-session.d.ts","sourceRoot":"","sources":["../../src/utils/delete-offline-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete-offline-session.d.ts","sourceRoot":"","sources":["../../src/utils/delete-offline-session.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAA8B,oBAAoB,CAChD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAOlB"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var context_1 = require("../context");
|
|
5
5
|
var oauth_1 = tslib_1.__importDefault(require("../auth/oauth"));
|
|
6
|
+
var shop_validator_1 = require("./shop-validator");
|
|
6
7
|
/**
|
|
7
8
|
* Helper method to find and delete offline sessions by shop url.
|
|
8
9
|
*
|
|
@@ -10,10 +11,11 @@ var oauth_1 = tslib_1.__importDefault(require("../auth/oauth"));
|
|
|
10
11
|
*/
|
|
11
12
|
function deleteOfflineSession(shop) {
|
|
12
13
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
13
|
-
var sessionId;
|
|
14
|
+
var cleanShop, sessionId;
|
|
14
15
|
return tslib_1.__generator(this, function (_a) {
|
|
15
16
|
context_1.Context.throwIfUninitialized();
|
|
16
|
-
|
|
17
|
+
cleanShop = (0, shop_validator_1.sanitizeShop)(shop, true);
|
|
18
|
+
sessionId = oauth_1.default.getOfflineSessionId(cleanShop);
|
|
17
19
|
return [2 /*return*/, context_1.Context.SESSION_STORAGE.deleteSession(sessionId)];
|
|
18
20
|
});
|
|
19
21
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-embedded-app-url.d.ts","sourceRoot":"","sources":["../../src/utils/get-embedded-app-url.ts"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"get-embedded-app-url.d.ts","sourceRoot":"","sources":["../../src/utils/get-embedded-app-url.ts"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,OAAO,EAAE,IAAI,CAAC,eAAe,GAC5B,MAAM,CAyBR"}
|