@shopify/shopify-api 3.1.2 → 3.1.3
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 +6 -1
- package/dist/auth/session/session-utils.d.ts.map +1 -1
- package/dist/auth/session/session-utils.js +17 -5
- package/dist/auth/session/storage/__tests__/battery-of-tests.d.ts.map +1 -1
- package/dist/auth/session/storage/__tests__/battery-of-tests.js +32 -21
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,12 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
6
6
|
and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [3.1.
|
|
8
|
+
## [3.1.3] - 2022-06-08
|
|
9
|
+
|
|
10
|
+
### Fixes
|
|
11
|
+
- Return instances of `Session` from session storages, not POJOs.
|
|
12
|
+
|
|
13
|
+
## [3.1.2] - 2022-06-07
|
|
9
14
|
|
|
10
15
|
### Added
|
|
11
16
|
- Store user id and expiration date of online tokens
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-utils.d.ts","sourceRoot":"","sources":["../../../src/auth/session/session-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-utils.d.ts","sourceRoot":"","sources":["../../../src/auth/session/session-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,GACnC,gBAAgB,CAkDlB;AAYD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,GACxB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAsB7B;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,gBAAgB,GAAG,SAAS,EACtC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GACrC,OAAO,CAQT"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.sessionEqual = exports.sessionEntries = exports.sessionFromEntries = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var session_1 = require("./session");
|
|
5
6
|
/**
|
|
6
7
|
* Like Object.fromEntries(), but normalizes the keys and filters out null values.
|
|
7
8
|
*/
|
|
@@ -9,7 +10,7 @@ function sessionFromEntries(entries) {
|
|
|
9
10
|
var obj = Object.fromEntries(entries
|
|
10
11
|
.filter(function (_a) {
|
|
11
12
|
var _b = tslib_1.__read(_a, 2), _key = _b[0], value = _b[1];
|
|
12
|
-
return value !== null;
|
|
13
|
+
return value !== null && value !== undefined;
|
|
13
14
|
})
|
|
14
15
|
// Sanitize keys
|
|
15
16
|
.map(function (_a) {
|
|
@@ -55,6 +56,7 @@ function sessionFromEntries(entries) {
|
|
|
55
56
|
return [key, value];
|
|
56
57
|
}
|
|
57
58
|
}));
|
|
59
|
+
Object.setPrototypeOf(obj, session_1.Session.prototype);
|
|
58
60
|
return obj;
|
|
59
61
|
}
|
|
60
62
|
exports.sessionFromEntries = sessionFromEntries;
|
|
@@ -71,8 +73,8 @@ var includedKeys = [
|
|
|
71
73
|
function sessionEntries(session) {
|
|
72
74
|
return (Object.entries(session)
|
|
73
75
|
.filter(function (_a) {
|
|
74
|
-
var _b = tslib_1.__read(_a,
|
|
75
|
-
return includedKeys.includes(key);
|
|
76
|
+
var _b = tslib_1.__read(_a, 2), key = _b[0], value = _b[1];
|
|
77
|
+
return includedKeys.includes(key) && value !== undefined && value !== null;
|
|
76
78
|
})
|
|
77
79
|
// Prepare values for db storage
|
|
78
80
|
.map(function (_a) {
|
|
@@ -97,8 +99,18 @@ function sessionEqual(sessionA, sessionB) {
|
|
|
97
99
|
return false;
|
|
98
100
|
if (!sessionB)
|
|
99
101
|
return false;
|
|
100
|
-
var copyA =
|
|
101
|
-
|
|
102
|
+
var copyA = sessionEntries(sessionA);
|
|
103
|
+
copyA.sort(function (_a, _b) {
|
|
104
|
+
var _c = tslib_1.__read(_a, 1), k1 = _c[0];
|
|
105
|
+
var _d = tslib_1.__read(_b, 1), k2 = _d[0];
|
|
106
|
+
return (k1 < k2 ? -1 : 1);
|
|
107
|
+
});
|
|
108
|
+
var copyB = sessionEntries(sessionB);
|
|
109
|
+
copyB.sort(function (_a, _b) {
|
|
110
|
+
var _c = tslib_1.__read(_a, 1), k1 = _c[0];
|
|
111
|
+
var _d = tslib_1.__read(_b, 1), k2 = _d[0];
|
|
112
|
+
return (k1 < k2 ? -1 : 1);
|
|
113
|
+
});
|
|
102
114
|
return JSON.stringify(copyA) === JSON.stringify(copyB);
|
|
103
115
|
}
|
|
104
116
|
exports.sessionEqual = sessionEqual;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"battery-of-tests.d.ts","sourceRoot":"","sources":["../../../../../src/auth/session/storage/__tests__/battery-of-tests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"battery-of-tests.d.ts","sourceRoot":"","sources":["../../../../../src/auth/session/storage/__tests__/battery-of-tests.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,QA+F3E"}
|
|
@@ -2,22 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.batteryOfTests = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var context_1 = require("../../../../context");
|
|
5
6
|
var session_1 = require("../../session");
|
|
6
7
|
var session_utils_1 = require("../../session-utils");
|
|
7
8
|
function batteryOfTests(storageFactory) {
|
|
8
9
|
var _this = this;
|
|
9
10
|
it('can store and delete all kinds of sessions', function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
10
|
-
var sessionFactories, sessionId, storage, sessionFactories_1, sessionFactories_1_1, factory, session, _a, _b,
|
|
11
|
-
var e_1,
|
|
11
|
+
var sessionFactories, sessionId, storage, sessionFactories_1, sessionFactories_1_1, factory, session, _a, _b, loadedSession, e_1_1;
|
|
12
|
+
var e_1, _c;
|
|
12
13
|
var _this = this;
|
|
13
|
-
return tslib_1.__generator(this, function (
|
|
14
|
-
switch (
|
|
14
|
+
return tslib_1.__generator(this, function (_d) {
|
|
15
|
+
switch (_d.label) {
|
|
15
16
|
case 0:
|
|
16
17
|
sessionFactories = [
|
|
17
18
|
function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
18
19
|
var session;
|
|
19
20
|
return tslib_1.__generator(this, function (_a) {
|
|
20
21
|
session = new session_1.Session(sessionId, 'shop', 'state', false);
|
|
22
|
+
session.scope = context_1.Context.SCOPES.toString();
|
|
23
|
+
session.accessToken = '123';
|
|
21
24
|
return [2 /*return*/, session];
|
|
22
25
|
});
|
|
23
26
|
}); },
|
|
@@ -28,6 +31,8 @@ function batteryOfTests(storageFactory) {
|
|
|
28
31
|
expiryDate = new Date();
|
|
29
32
|
expiryDate.setMinutes(expiryDate.getMinutes() + 60);
|
|
30
33
|
session.expires = expiryDate;
|
|
34
|
+
session.accessToken = '123';
|
|
35
|
+
session.scope = context_1.Context.SCOPES.toString();
|
|
31
36
|
return [2 /*return*/, session];
|
|
32
37
|
});
|
|
33
38
|
}); },
|
|
@@ -36,6 +41,8 @@ function batteryOfTests(storageFactory) {
|
|
|
36
41
|
return tslib_1.__generator(this, function (_a) {
|
|
37
42
|
session = new session_1.Session(sessionId, 'shop', 'state', false);
|
|
38
43
|
session.expires = null;
|
|
44
|
+
session.scope = context_1.Context.SCOPES.toString();
|
|
45
|
+
session.accessToken = '123';
|
|
39
46
|
return [2 /*return*/, session];
|
|
40
47
|
});
|
|
41
48
|
}); },
|
|
@@ -44,6 +51,8 @@ function batteryOfTests(storageFactory) {
|
|
|
44
51
|
return tslib_1.__generator(this, function (_a) {
|
|
45
52
|
session = new session_1.Session(sessionId, 'shop', 'state', false);
|
|
46
53
|
session.expires = undefined;
|
|
54
|
+
session.scope = context_1.Context.SCOPES.toString();
|
|
55
|
+
session.accessToken = '123';
|
|
47
56
|
return [2 /*return*/, session];
|
|
48
57
|
});
|
|
49
58
|
}); },
|
|
@@ -54,6 +63,8 @@ function batteryOfTests(storageFactory) {
|
|
|
54
63
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
55
64
|
session.onlineAccessInfo = { associated_user: {} };
|
|
56
65
|
session.onlineAccessInfo.associated_user.id = 123;
|
|
66
|
+
session.scope = context_1.Context.SCOPES.toString();
|
|
67
|
+
session.accessToken = '123';
|
|
57
68
|
return [2 /*return*/, session];
|
|
58
69
|
});
|
|
59
70
|
}); },
|
|
@@ -61,57 +72,57 @@ function batteryOfTests(storageFactory) {
|
|
|
61
72
|
sessionId = 'test_session';
|
|
62
73
|
return [4 /*yield*/, storageFactory()];
|
|
63
74
|
case 1:
|
|
64
|
-
storage =
|
|
65
|
-
|
|
75
|
+
storage = _d.sent();
|
|
76
|
+
_d.label = 2;
|
|
66
77
|
case 2:
|
|
67
|
-
|
|
78
|
+
_d.trys.push([2, 14, 15, 16]);
|
|
68
79
|
sessionFactories_1 = tslib_1.__values(sessionFactories), sessionFactories_1_1 = sessionFactories_1.next();
|
|
69
|
-
|
|
80
|
+
_d.label = 3;
|
|
70
81
|
case 3:
|
|
71
82
|
if (!!sessionFactories_1_1.done) return [3 /*break*/, 13];
|
|
72
83
|
factory = sessionFactories_1_1.value;
|
|
73
84
|
return [4 /*yield*/, factory()];
|
|
74
85
|
case 4:
|
|
75
|
-
session =
|
|
86
|
+
session = _d.sent();
|
|
76
87
|
return [4 /*yield*/, expect(storage.storeSession(session)).resolves.toBe(true)];
|
|
77
88
|
case 5:
|
|
78
|
-
|
|
89
|
+
_d.sent();
|
|
79
90
|
_a = expect;
|
|
80
91
|
_b = session_utils_1.sessionEqual;
|
|
81
92
|
return [4 /*yield*/, storage.loadSession(sessionId)];
|
|
82
93
|
case 6:
|
|
83
|
-
_a.apply(void 0, [_b.apply(void 0, [
|
|
94
|
+
_a.apply(void 0, [_b.apply(void 0, [_d.sent(), session])]).toBe(true);
|
|
84
95
|
return [4 /*yield*/, expect(storage.storeSession(session)).resolves.toBe(true)];
|
|
85
96
|
case 7:
|
|
86
|
-
|
|
87
|
-
_c = expect;
|
|
88
|
-
_d = session_utils_1.sessionEqual;
|
|
97
|
+
_d.sent();
|
|
89
98
|
return [4 /*yield*/, storage.loadSession(sessionId)];
|
|
90
99
|
case 8:
|
|
91
|
-
|
|
100
|
+
loadedSession = _d.sent();
|
|
101
|
+
expect((0, session_utils_1.sessionEqual)(loadedSession, session)).toBe(true);
|
|
102
|
+
expect(loadedSession === null || loadedSession === void 0 ? void 0 : loadedSession.isActive()).toBe(true);
|
|
92
103
|
return [4 /*yield*/, expect(storage.deleteSession(sessionId)).resolves.toBe(true)];
|
|
93
104
|
case 9:
|
|
94
|
-
|
|
105
|
+
_d.sent();
|
|
95
106
|
return [4 /*yield*/, expect(storage.loadSession(sessionId)).resolves.toBeUndefined()];
|
|
96
107
|
case 10:
|
|
97
|
-
|
|
108
|
+
_d.sent();
|
|
98
109
|
// Deleting a non-existing session should work
|
|
99
110
|
return [4 /*yield*/, expect(storage.deleteSession(sessionId)).resolves.toBe(true)];
|
|
100
111
|
case 11:
|
|
101
112
|
// Deleting a non-existing session should work
|
|
102
|
-
|
|
103
|
-
|
|
113
|
+
_d.sent();
|
|
114
|
+
_d.label = 12;
|
|
104
115
|
case 12:
|
|
105
116
|
sessionFactories_1_1 = sessionFactories_1.next();
|
|
106
117
|
return [3 /*break*/, 3];
|
|
107
118
|
case 13: return [3 /*break*/, 16];
|
|
108
119
|
case 14:
|
|
109
|
-
e_1_1 =
|
|
120
|
+
e_1_1 = _d.sent();
|
|
110
121
|
e_1 = { error: e_1_1 };
|
|
111
122
|
return [3 /*break*/, 16];
|
|
112
123
|
case 15:
|
|
113
124
|
try {
|
|
114
|
-
if (sessionFactories_1_1 && !sessionFactories_1_1.done && (
|
|
125
|
+
if (sessionFactories_1_1 && !sessionFactories_1_1.done && (_c = sessionFactories_1.return)) _c.call(sessionFactories_1);
|
|
115
126
|
}
|
|
116
127
|
finally { if (e_1) throw e_1.error; }
|
|
117
128
|
return [7 /*endfinally*/];
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SHOPIFY_API_LIBRARY_VERSION = "3.1.
|
|
1
|
+
export declare const SHOPIFY_API_LIBRARY_VERSION = "3.1.3";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED