@shopify/shopify-app-session-storage-redis 4.0.3 → 4.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/README.md +26 -2
- package/dist/cjs/redis-connection.js +16 -12
- package/dist/cjs/redis-connection.js.map +1 -1
- package/dist/cjs/redis.js +19 -4
- package/dist/cjs/redis.js.map +1 -1
- package/dist/esm/redis-connection.mjs +16 -12
- package/dist/esm/redis-connection.mjs.map +1 -1
- package/dist/esm/redis.mjs +19 -4
- package/dist/esm/redis.mjs.map +1 -1
- package/dist/ts/redis-connection.d.ts +4 -2
- package/dist/ts/redis-connection.d.ts.map +1 -1
- package/dist/ts/redis.d.ts +12 -5
- package/dist/ts/redis.d.ts.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +16 -15
package/README.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This package implements the `SessionStorage` interface that works with an instance of [Redis](https://redis.io/).
|
|
4
4
|
|
|
5
|
+
You can create an instance of `RedisSessionStorage` in several ways:
|
|
6
|
+
|
|
7
|
+
## Using a connection URL
|
|
8
|
+
|
|
5
9
|
```js
|
|
6
10
|
import {shopifyApp} from '@shopify/shopify-app-express';
|
|
7
11
|
import {RedisSessionStorage} from '@shopify/shopify-app-session-storage-redis';
|
|
@@ -12,18 +16,22 @@ const shopify = shopifyApp({
|
|
|
12
16
|
),
|
|
13
17
|
// ...
|
|
14
18
|
});
|
|
19
|
+
```
|
|
15
20
|
|
|
16
|
-
|
|
21
|
+
## Using a URL object
|
|
17
22
|
|
|
23
|
+
```js
|
|
18
24
|
const shopify = shopifyApp({
|
|
19
25
|
sessionStorage: new RedisSessionStorage(
|
|
20
26
|
new URL('redis://username:password@host/database'),
|
|
21
27
|
),
|
|
22
28
|
// ...
|
|
23
29
|
});
|
|
30
|
+
```
|
|
24
31
|
|
|
25
|
-
|
|
32
|
+
## Using credential components
|
|
26
33
|
|
|
34
|
+
```js
|
|
27
35
|
const shopify = shopifyApp({
|
|
28
36
|
sessionStorage: RedisSessionStorage.withCredentials(
|
|
29
37
|
'host.com',
|
|
@@ -35,4 +43,20 @@ const shopify = shopifyApp({
|
|
|
35
43
|
});
|
|
36
44
|
```
|
|
37
45
|
|
|
46
|
+
## Using a RedisClient instance
|
|
47
|
+
|
|
48
|
+
> [!NOTE]
|
|
49
|
+
> Remember that `RedisSessionStorage` will connect to the database, but won't disconnect from it.
|
|
50
|
+
> If you need to restart the connection, you'll need to manually connect again for the storage to continue working.
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
import {RedisClientOptions, createClient} from 'redis';
|
|
54
|
+
const client = createClient({url: 'redis://username:password@host/database'});
|
|
55
|
+
|
|
56
|
+
const shopify = shopifyApp({
|
|
57
|
+
sessionStorage: new RedisSessionStorage(client),
|
|
58
|
+
// ...
|
|
59
|
+
});
|
|
60
|
+
```
|
|
61
|
+
|
|
38
62
|
If you prefer to use your own implementation of a session storage mechanism that is compatible with the `@shopify/shopify-app-express` package, see the [implementing session storage guide](../shopify-app-session-storage/implementing-session-storage.md).
|
|
@@ -5,15 +5,17 @@ var redis = require('redis');
|
|
|
5
5
|
class RedisConnection {
|
|
6
6
|
sessionStorageIdentifier;
|
|
7
7
|
client;
|
|
8
|
-
constructor(
|
|
9
|
-
this.init(
|
|
8
|
+
constructor(urlOrClient, options, keyPrefix) {
|
|
9
|
+
this.init(urlOrClient, options);
|
|
10
10
|
this.sessionStorageIdentifier = keyPrefix;
|
|
11
11
|
}
|
|
12
12
|
query(_query, _params) {
|
|
13
13
|
throw new Error('Method not implemented. Use get(string, boolean) instead');
|
|
14
14
|
}
|
|
15
15
|
async connect() {
|
|
16
|
-
|
|
16
|
+
if (!this.client.isReady) {
|
|
17
|
+
await this.client.connect();
|
|
18
|
+
}
|
|
17
19
|
}
|
|
18
20
|
async disconnect() {
|
|
19
21
|
await this.client.quit();
|
|
@@ -36,15 +38,17 @@ class RedisConnection {
|
|
|
36
38
|
buildKey(baseKey, addKeyPrefix) {
|
|
37
39
|
return addKeyPrefix ? this.generateFullKey(baseKey) : baseKey;
|
|
38
40
|
}
|
|
39
|
-
init(
|
|
40
|
-
|
|
41
|
-
...options,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
init(urlOrClient, options) {
|
|
42
|
+
if (typeof urlOrClient === 'string' || urlOrClient instanceof URL) {
|
|
43
|
+
this.client = redis.createClient({ ...options, url: urlOrClient.toString() });
|
|
44
|
+
this.client.on('error', this.eventHandler);
|
|
45
|
+
this.client.on('connect', this.eventHandler);
|
|
46
|
+
this.client.on('reconnecting', this.eventHandler);
|
|
47
|
+
this.client.on('ready', this.eventHandler);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.client = urlOrClient;
|
|
51
|
+
}
|
|
48
52
|
}
|
|
49
53
|
eventHandler = (..._args) => { };
|
|
50
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-connection.js","sources":["../../../src/redis-connection.ts"],"sourcesContent":[null],"names":["createClient"],"mappings":";;;;MAKa,eAAe,CAAA;AAC1B,IAAA,wBAAwB,CAAS;AACzB,IAAA,MAAM,CAAc;AAE5B,IAAA,WAAA,
|
|
1
|
+
{"version":3,"file":"redis-connection.js","sources":["../../../src/redis-connection.ts"],"sourcesContent":[null],"names":["createClient"],"mappings":";;;;MAKa,eAAe,CAAA;AAC1B,IAAA,wBAAwB,CAAS;AACzB,IAAA,MAAM,CAAc;AAE5B,IAAA,WAAA,CACE,WAAuC,EACvC,OAA2B,EAC3B,SAAiB,EAAA;AAEjB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;KAC3C;IAED,KAAK,CAAC,MAAc,EAAE,OAAc,EAAA;AAClC,QAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACxB,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SAC7B;KACF;AAED,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,MAAM,IAAI,CAAC,IAAY,EAAA;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,MAAM,GAAG,CAAC,OAAe,EAAE,KAAU,EAAE,YAAY,GAAG,IAAI,EAAA;AACxD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;KACpE;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,eAAe,CAAC,IAAY,EAAA;AAC1B,QAAA,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;KACnD;IAEO,QAAQ,CAAC,OAAe,EAAE,YAAqB,EAAA;AACrD,QAAA,OAAO,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;KAC/D;IAEO,IAAI,CACV,WAAuC,EACvC,OAA2B,EAAA;QAE3B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,YAAY,GAAG,EAAE;AACjE,YAAA,IAAI,CAAC,MAAM,GAAGA,kBAAY,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5C;aAAM;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;SAC3B;KACF;IAEO,YAAY,GAAG,CAAC,GAAG,KAAY,KAAI,GAAG,CAAC;AAChD;;;;"}
|
package/dist/cjs/redis.js
CHANGED
|
@@ -5,6 +5,13 @@ var migrations = require('./migrations.js');
|
|
|
5
5
|
var redisConnection = require('./redis-connection.js');
|
|
6
6
|
var redisMigrator = require('./redis-migrator.js');
|
|
7
7
|
|
|
8
|
+
/* eslint-disable @shopify/typescript/prefer-pascal-case-enums */
|
|
9
|
+
var ShopifyStorageOption;
|
|
10
|
+
(function (ShopifyStorageOption) {
|
|
11
|
+
ShopifyStorageOption["sessionKeyPrefix"] = "sessionKeyPrefix";
|
|
12
|
+
ShopifyStorageOption["migratorOptions"] = "migratorOptions";
|
|
13
|
+
ShopifyStorageOption["onError"] = "onError";
|
|
14
|
+
})(ShopifyStorageOption || (ShopifyStorageOption = {}));
|
|
8
15
|
const defaultRedisSessionStorageOptions = {
|
|
9
16
|
sessionKeyPrefix: 'shopify_sessions',
|
|
10
17
|
migratorOptions: {
|
|
@@ -20,9 +27,17 @@ class RedisSessionStorage {
|
|
|
20
27
|
options;
|
|
21
28
|
client;
|
|
22
29
|
migrator;
|
|
23
|
-
constructor(
|
|
30
|
+
constructor(urlOrClient, opts = {}) {
|
|
31
|
+
const allowedClientKeys = Object.keys(ShopifyStorageOption);
|
|
32
|
+
const disallowedClientKeys = Object.keys(opts).filter((key) => !allowedClientKeys.includes(key));
|
|
33
|
+
if (typeof urlOrClient !== 'string' &&
|
|
34
|
+
!(urlOrClient instanceof URL) &&
|
|
35
|
+
disallowedClientKeys.length > 0) {
|
|
36
|
+
throw new Error('Passing a RedisClient instance is not supported with options. Set the options when creating the client ' +
|
|
37
|
+
'instead.');
|
|
38
|
+
}
|
|
24
39
|
this.options = { ...defaultRedisSessionStorageOptions, ...opts };
|
|
25
|
-
this.internalInit = this.init(
|
|
40
|
+
this.internalInit = this.init(urlOrClient);
|
|
26
41
|
this.migrator = new redisMigrator.RedisSessionStorageMigrator(this.client, this.options.migratorOptions, migrations.migrationList);
|
|
27
42
|
this.ready = this.migrator.applyMigrations(this.internalInit);
|
|
28
43
|
}
|
|
@@ -101,8 +116,8 @@ class RedisSessionStorage {
|
|
|
101
116
|
}
|
|
102
117
|
}
|
|
103
118
|
}
|
|
104
|
-
async init(
|
|
105
|
-
this.client = new redisConnection.RedisConnection(
|
|
119
|
+
async init(urlOrClient) {
|
|
120
|
+
this.client = new redisConnection.RedisConnection(urlOrClient, this.options, this.options.sessionKeyPrefix);
|
|
106
121
|
await this.client.connect();
|
|
107
122
|
}
|
|
108
123
|
}
|
package/dist/cjs/redis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.js","sources":["../../../src/redis.ts"],"sourcesContent":[null],"names":["RedisSessionStorageMigrator","migrationList","Session","RedisConnection"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"redis.js","sources":["../../../src/redis.ts"],"sourcesContent":[null],"names":["RedisSessionStorageMigrator","migrationList","Session","RedisConnection"],"mappings":"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"}
|
|
@@ -3,15 +3,17 @@ import { createClient } from 'redis';
|
|
|
3
3
|
class RedisConnection {
|
|
4
4
|
sessionStorageIdentifier;
|
|
5
5
|
client;
|
|
6
|
-
constructor(
|
|
7
|
-
this.init(
|
|
6
|
+
constructor(urlOrClient, options, keyPrefix) {
|
|
7
|
+
this.init(urlOrClient, options);
|
|
8
8
|
this.sessionStorageIdentifier = keyPrefix;
|
|
9
9
|
}
|
|
10
10
|
query(_query, _params) {
|
|
11
11
|
throw new Error('Method not implemented. Use get(string, boolean) instead');
|
|
12
12
|
}
|
|
13
13
|
async connect() {
|
|
14
|
-
|
|
14
|
+
if (!this.client.isReady) {
|
|
15
|
+
await this.client.connect();
|
|
16
|
+
}
|
|
15
17
|
}
|
|
16
18
|
async disconnect() {
|
|
17
19
|
await this.client.quit();
|
|
@@ -34,15 +36,17 @@ class RedisConnection {
|
|
|
34
36
|
buildKey(baseKey, addKeyPrefix) {
|
|
35
37
|
return addKeyPrefix ? this.generateFullKey(baseKey) : baseKey;
|
|
36
38
|
}
|
|
37
|
-
init(
|
|
38
|
-
|
|
39
|
-
...options,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
init(urlOrClient, options) {
|
|
40
|
+
if (typeof urlOrClient === 'string' || urlOrClient instanceof URL) {
|
|
41
|
+
this.client = createClient({ ...options, url: urlOrClient.toString() });
|
|
42
|
+
this.client.on('error', this.eventHandler);
|
|
43
|
+
this.client.on('connect', this.eventHandler);
|
|
44
|
+
this.client.on('reconnecting', this.eventHandler);
|
|
45
|
+
this.client.on('ready', this.eventHandler);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.client = urlOrClient;
|
|
49
|
+
}
|
|
46
50
|
}
|
|
47
51
|
eventHandler = (..._args) => { };
|
|
48
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-connection.mjs","sources":["../../../src/redis-connection.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAKa,eAAe,CAAA;AAC1B,IAAA,wBAAwB,CAAS;AACzB,IAAA,MAAM,CAAc;AAE5B,IAAA,WAAA,
|
|
1
|
+
{"version":3,"file":"redis-connection.mjs","sources":["../../../src/redis-connection.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAKa,eAAe,CAAA;AAC1B,IAAA,wBAAwB,CAAS;AACzB,IAAA,MAAM,CAAc;AAE5B,IAAA,WAAA,CACE,WAAuC,EACvC,OAA2B,EAC3B,SAAiB,EAAA;AAEjB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;KAC3C;IAED,KAAK,CAAC,MAAc,EAAE,OAAc,EAAA;AAClC,QAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACxB,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SAC7B;KACF;AAED,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,MAAM,IAAI,CAAC,IAAY,EAAA;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,MAAM,GAAG,CAAC,OAAe,EAAE,KAAU,EAAE,YAAY,GAAG,IAAI,EAAA;AACxD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;KACpE;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,eAAe,CAAC,IAAY,EAAA;AAC1B,QAAA,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;KACnD;IAEO,QAAQ,CAAC,OAAe,EAAE,YAAqB,EAAA;AACrD,QAAA,OAAO,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;KAC/D;IAEO,IAAI,CACV,WAAuC,EACvC,OAA2B,EAAA;QAE3B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,YAAY,GAAG,EAAE;AACjE,YAAA,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5C;aAAM;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;SAC3B;KACF;IAEO,YAAY,GAAG,CAAC,GAAG,KAAY,KAAI,GAAG,CAAC;AAChD;;;;"}
|
package/dist/esm/redis.mjs
CHANGED
|
@@ -3,6 +3,13 @@ import { migrationList } from './migrations.mjs';
|
|
|
3
3
|
import { RedisConnection } from './redis-connection.mjs';
|
|
4
4
|
import { RedisSessionStorageMigrator } from './redis-migrator.mjs';
|
|
5
5
|
|
|
6
|
+
/* eslint-disable @shopify/typescript/prefer-pascal-case-enums */
|
|
7
|
+
var ShopifyStorageOption;
|
|
8
|
+
(function (ShopifyStorageOption) {
|
|
9
|
+
ShopifyStorageOption["sessionKeyPrefix"] = "sessionKeyPrefix";
|
|
10
|
+
ShopifyStorageOption["migratorOptions"] = "migratorOptions";
|
|
11
|
+
ShopifyStorageOption["onError"] = "onError";
|
|
12
|
+
})(ShopifyStorageOption || (ShopifyStorageOption = {}));
|
|
6
13
|
const defaultRedisSessionStorageOptions = {
|
|
7
14
|
sessionKeyPrefix: 'shopify_sessions',
|
|
8
15
|
migratorOptions: {
|
|
@@ -18,9 +25,17 @@ class RedisSessionStorage {
|
|
|
18
25
|
options;
|
|
19
26
|
client;
|
|
20
27
|
migrator;
|
|
21
|
-
constructor(
|
|
28
|
+
constructor(urlOrClient, opts = {}) {
|
|
29
|
+
const allowedClientKeys = Object.keys(ShopifyStorageOption);
|
|
30
|
+
const disallowedClientKeys = Object.keys(opts).filter((key) => !allowedClientKeys.includes(key));
|
|
31
|
+
if (typeof urlOrClient !== 'string' &&
|
|
32
|
+
!(urlOrClient instanceof URL) &&
|
|
33
|
+
disallowedClientKeys.length > 0) {
|
|
34
|
+
throw new Error('Passing a RedisClient instance is not supported with options. Set the options when creating the client ' +
|
|
35
|
+
'instead.');
|
|
36
|
+
}
|
|
22
37
|
this.options = { ...defaultRedisSessionStorageOptions, ...opts };
|
|
23
|
-
this.internalInit = this.init(
|
|
38
|
+
this.internalInit = this.init(urlOrClient);
|
|
24
39
|
this.migrator = new RedisSessionStorageMigrator(this.client, this.options.migratorOptions, migrationList);
|
|
25
40
|
this.ready = this.migrator.applyMigrations(this.internalInit);
|
|
26
41
|
}
|
|
@@ -99,8 +114,8 @@ class RedisSessionStorage {
|
|
|
99
114
|
}
|
|
100
115
|
}
|
|
101
116
|
}
|
|
102
|
-
async init(
|
|
103
|
-
this.client = new RedisConnection(
|
|
117
|
+
async init(urlOrClient) {
|
|
118
|
+
this.client = new RedisConnection(urlOrClient, this.options, this.options.sessionKeyPrefix);
|
|
104
119
|
await this.client.connect();
|
|
105
120
|
}
|
|
106
121
|
}
|
package/dist/esm/redis.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.mjs","sources":["../../../src/redis.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"redis.mjs","sources":["../../../src/redis.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { RedisClientOptions } from 'redis';
|
|
1
|
+
import { createClient, RedisClientOptions } from 'redis';
|
|
2
2
|
import { DBConnection } from '@shopify/shopify-app-session-storage';
|
|
3
|
+
type RedisClient = ReturnType<typeof createClient>;
|
|
3
4
|
export declare class RedisConnection implements DBConnection {
|
|
4
5
|
sessionStorageIdentifier: string;
|
|
5
6
|
private client;
|
|
6
|
-
constructor(
|
|
7
|
+
constructor(urlOrClient: string | URL | RedisClient, options: RedisClientOptions, keyPrefix: string);
|
|
7
8
|
query(_query: string, _params: any[]): Promise<any[]>;
|
|
8
9
|
connect(): Promise<void>;
|
|
9
10
|
disconnect(): Promise<void>;
|
|
@@ -16,4 +17,5 @@ export declare class RedisConnection implements DBConnection {
|
|
|
16
17
|
private init;
|
|
17
18
|
private eventHandler;
|
|
18
19
|
}
|
|
20
|
+
export {};
|
|
19
21
|
//# sourceMappingURL=redis-connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-connection.d.ts","sourceRoot":"","sources":["../../src/redis-connection.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"redis-connection.d.ts","sourceRoot":"","sources":["../../src/redis-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,kBAAkB,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAElE,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnD,qBAAa,eAAgB,YAAW,YAAY;IAClD,wBAAwB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,MAAM,CAAc;gBAG1B,WAAW,EAAE,MAAM,GAAG,GAAG,GAAG,WAAW,EACvC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM;IAMnB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAI/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,UAAO;IAIpD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7D,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,YAAY,CAA2B;CAChD"}
|
package/dist/ts/redis.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import { RedisClientOptions } from 'redis';
|
|
1
|
+
import { RedisClientOptions, createClient } from 'redis';
|
|
2
2
|
import { Session } from '@shopify/shopify-api';
|
|
3
3
|
import { SessionStorage, SessionStorageMigratorOptions } from '@shopify/shopify-app-session-storage';
|
|
4
|
+
type RedisClient = ReturnType<typeof createClient>;
|
|
5
|
+
declare enum ShopifyStorageOption {
|
|
6
|
+
sessionKeyPrefix = "sessionKeyPrefix",
|
|
7
|
+
migratorOptions = "migratorOptions",
|
|
8
|
+
onError = "onError"
|
|
9
|
+
}
|
|
4
10
|
export interface RedisSessionStorageOptions extends RedisClientOptions {
|
|
5
|
-
sessionKeyPrefix: string;
|
|
6
|
-
|
|
7
|
-
|
|
11
|
+
[ShopifyStorageOption.sessionKeyPrefix]: string;
|
|
12
|
+
[ShopifyStorageOption.migratorOptions]?: SessionStorageMigratorOptions;
|
|
13
|
+
[ShopifyStorageOption.onError]?: (...args: any[]) => void;
|
|
8
14
|
}
|
|
9
15
|
export declare class RedisSessionStorage implements SessionStorage {
|
|
10
16
|
static withCredentials(host: string, db: number, username: string, password: string, opts: Partial<RedisSessionStorageOptions>): RedisSessionStorage;
|
|
@@ -13,7 +19,7 @@ export declare class RedisSessionStorage implements SessionStorage {
|
|
|
13
19
|
private options;
|
|
14
20
|
private client;
|
|
15
21
|
private migrator;
|
|
16
|
-
constructor(
|
|
22
|
+
constructor(urlOrClient: URL | string | RedisClient, opts?: Partial<RedisSessionStorageOptions>);
|
|
17
23
|
storeSession(session: Session): Promise<boolean>;
|
|
18
24
|
loadSession(id: string): Promise<Session | undefined>;
|
|
19
25
|
deleteSession(id: string): Promise<boolean>;
|
|
@@ -24,4 +30,5 @@ export declare class RedisSessionStorage implements SessionStorage {
|
|
|
24
30
|
private removeKeyFromShopList;
|
|
25
31
|
private init;
|
|
26
32
|
}
|
|
33
|
+
export {};
|
|
27
34
|
//# sourceMappingURL=redis.d.ts.map
|
package/dist/ts/redis.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,6BAA6B,EAE9B,MAAM,sCAAsC,CAAC;AAM9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAGnD,aAAK,oBAAoB;IACvB,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,OAAO,YAAY;CACpB;AAGD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAChD,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,EAAE,6BAA6B,CAAC;IACvE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAC3D;AASD,qBAAa,mBAAoB,YAAW,cAAc;IACxD,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,YAAY,CAAgB;IACpC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAyB;gBAGvC,WAAW,EAAE,GAAG,GAAG,MAAM,GAAG,WAAW,EACvC,IAAI,GAAE,OAAO,CAAC,0BAA0B,CAAM;IA4BnC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAWrD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAmBpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAI1B,gBAAgB;YAiBhB,qBAAqB;YAgBrB,IAAI;CAQnB"}
|