@spinajs/session-provider-db 2.0.21 → 2.0.29
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/lib/index.js +23 -4
- package/lib/index.js.map +1 -1
- package/lib/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.js +1 -1
- package/lib/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.js.map +1 -1
- package/lib/models/DbSession.d.ts +1 -1
- package/lib/models/DbSession.js +1 -1
- package/lib/models/DbSession.js.map +1 -1
- package/package.json +4 -4
package/lib/index.js
CHANGED
|
@@ -16,20 +16,39 @@ const configuration_1 = require("@spinajs/configuration");
|
|
|
16
16
|
const log_1 = require("@spinajs/log");
|
|
17
17
|
const DbSession_1 = require("./models/DbSession");
|
|
18
18
|
const orm_1 = require("@spinajs/orm");
|
|
19
|
+
function replacer(_, value) {
|
|
20
|
+
if (value instanceof Map) {
|
|
21
|
+
return {
|
|
22
|
+
dataType: 'Map',
|
|
23
|
+
value: Array.from(value.entries()), // or with spread: value: [...value]
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function reviver(_, value) {
|
|
31
|
+
if (typeof value === 'object' && value !== null) {
|
|
32
|
+
if (value.dataType === 'Map') {
|
|
33
|
+
return new Map(value.value);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
19
38
|
let DbSessionStore = class DbSessionStore extends rbac_1.SessionProvider {
|
|
20
39
|
// tslint:disable-next-line: no-empty
|
|
21
40
|
async resolveAsync() { }
|
|
22
41
|
async restore(sessionId) {
|
|
23
42
|
const session = await DbSession_1.DbSession.where({
|
|
24
|
-
|
|
43
|
+
SessionId: sessionId,
|
|
25
44
|
}).first();
|
|
26
45
|
if (!session) {
|
|
27
46
|
return null;
|
|
28
47
|
}
|
|
29
48
|
return new rbac_1.Session({
|
|
30
|
-
SessionId: session.
|
|
49
|
+
SessionId: session.SessionId,
|
|
31
50
|
Creation: session.CreatedAt,
|
|
32
|
-
Data: JSON.parse(session.Data),
|
|
51
|
+
Data: JSON.parse(session.Data, replacer),
|
|
33
52
|
Expiration: session.Expiration,
|
|
34
53
|
});
|
|
35
54
|
}
|
|
@@ -37,7 +56,7 @@ let DbSessionStore = class DbSessionStore extends rbac_1.SessionProvider {
|
|
|
37
56
|
await DbSession_1.DbSession.destroy(sessionId);
|
|
38
57
|
}
|
|
39
58
|
async save(s) {
|
|
40
|
-
const session = new DbSession_1.DbSession(Object.assign(Object.assign({}, s), { Data: JSON.stringify(s.Data) }));
|
|
59
|
+
const session = new DbSession_1.DbSession(Object.assign(Object.assign({}, s), { Data: JSON.stringify(s.Data, reviver) }));
|
|
41
60
|
await session.insert(orm_1.InsertBehaviour.InsertOrUpdate);
|
|
42
61
|
}
|
|
43
62
|
};
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAmE;AACnE,oCAAqD;AACrD,0DAAuD;AACvD,sCAA2C;AAC3C,kDAA+C;AAC/C,sCAA+C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAmE;AACnE,oCAAqD;AACrD,0DAAuD;AACvD,sCAA2C;AAC3C,kDAA+C;AAC/C,sCAA+C;AAO/C,SAAS,QAAQ,CAAC,CAAS,EAAE,KAAc;IACzC,IAAI,KAAK,YAAY,GAAG,EAAE;QACxB,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,oCAAoC;SACzE,CAAC;KACH;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,SAAS,OAAO,CAAC,CAAS,EAAE,KAAsB;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;QAC/C,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC5B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC7B;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,sBAAe;IAOjD,qCAAqC;IAC9B,KAAK,CAAC,YAAY,KAAI,CAAC;IAEvB,KAAK,CAAC,OAAO,CAAC,SAAiB;QACpC,MAAM,OAAO,GAAG,MAAM,qBAAS,CAAC,KAAK,CAAC;YACpC,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,cAAO,CAAC;YACjB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,SAAS;YAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;YACxC,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,SAAiB;QACnC,MAAM,qBAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,CAAW;QAC3B,MAAM,OAAO,GAAG,IAAI,qBAAS,iCACxB,CAAC,KACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,IACrC,CAAC;QAEH,MAAM,OAAO,CAAC,MAAM,CAAC,qBAAe,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;CACF,CAAA;AArCC;IADC,IAAA,YAAM,EAAC,kBAAkB,CAAC;8BACZ,SAAG;2CAAC;AAGnB;IADC,IAAA,eAAU,GAAE;8BACY,6BAAa;qDAAC;AAL5B,cAAc;IAD1B,IAAA,eAAU,EAAC,sBAAe,CAAC;GACf,cAAc,CAuC1B;AAvCY,wCAAc"}
|
|
@@ -13,7 +13,7 @@ let UserSessionDBSqlMigration_2022_06_28_01_01_01 = class UserSessionDBSqlMigrat
|
|
|
13
13
|
await connection.schema().createTable('user_sessions', (table) => {
|
|
14
14
|
table.string('SessionId', 255).primaryKey().notNull();
|
|
15
15
|
table.date('CreatedAt').notNull();
|
|
16
|
-
table.date('Expiration')
|
|
16
|
+
table.date('Expiration');
|
|
17
17
|
table.text('Data').notNull();
|
|
18
18
|
});
|
|
19
19
|
// create index explicit, otherwise sqlite driver cannot extract unique index from sqlite_master
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSessionDBSqlMigration_2022_06_28_01_01_01.js","sourceRoot":"","sources":["../../src/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.ts"],"names":[],"mappings":";;;;;;;;;AAAA,sCAAkE;AAGlE,IAAa,6CAA6C,GAA1D,MAAa,6CAA8C,SAAQ,kBAAY;IACtE,KAAK,CAAC,EAAE,CAAC,UAAqB;QACnC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/D,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"UserSessionDBSqlMigration_2022_06_28_01_01_01.js","sourceRoot":"","sources":["../../src/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.ts"],"names":[],"mappings":";;;;;;;;;AAAA,sCAAkE;AAGlE,IAAa,6CAA6C,GAA1D,MAAa,6CAA8C,SAAQ,kBAAY;IACtE,KAAK,CAAC,EAAE,CAAC,UAAqB;QACnC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/D,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,gGAAgG;QAChG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACtH,CAAC;IAED,qCAAqC;IAC9B,KAAK,CAAC,IAAI,CAAC,CAAY,IAAkB,CAAC;CAClD,CAAA;AAfY,6CAA6C;IADzD,IAAA,eAAS,EAAC,SAAS,CAAC;GACR,6CAA6C,CAezD;AAfY,sGAA6C"}
|
package/lib/models/DbSession.js
CHANGED
|
@@ -17,7 +17,7 @@ let DbSession = class DbSession extends orm_1.ModelBase {
|
|
|
17
17
|
__decorate([
|
|
18
18
|
(0, orm_1.Primary)(),
|
|
19
19
|
__metadata("design:type", String)
|
|
20
|
-
], DbSession.prototype, "
|
|
20
|
+
], DbSession.prototype, "SessionId", void 0);
|
|
21
21
|
__decorate([
|
|
22
22
|
(0, orm_1.CreatedAt)(),
|
|
23
23
|
__metadata("design:type", luxon_1.DateTime)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSession.js","sourceRoot":"","sources":["../../src/models/DbSession.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAgF;AAChF,iCAAiC;AAIjC,IAAa,SAAS,GAAtB,MAAa,SAAU,SAAQ,eAAS;CAUvC,CAAA;AARC;IADC,IAAA,aAAO,GAAE;;
|
|
1
|
+
{"version":3,"file":"DbSession.js","sourceRoot":"","sources":["../../src/models/DbSession.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAgF;AAChF,iCAAiC;AAIjC,IAAa,SAAS,GAAtB,MAAa,SAAU,SAAQ,eAAS;CAUvC,CAAA;AARC;IADC,IAAA,aAAO,GAAE;;4CACe;AAGzB;IADC,IAAA,eAAS,GAAE;8BACM,gBAAQ;4CAAC;AALhB,SAAS;IAFrB,IAAA,gBAAU,EAAC,SAAS,CAAC;IACrB,IAAA,WAAK,EAAC,eAAe,CAAC;GACV,SAAS,CAUrB;AAVY,8BAAS"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spinajs/session-provider-db",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.29",
|
|
4
4
|
"description": "Simple session provider based on relational db. Usefull for testing or small projects",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"private": false,
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
"@spinajs/exceptions": "^2.0.12",
|
|
44
44
|
"@spinajs/log": "^2.0.19",
|
|
45
45
|
"@spinajs/orm": "^2.0.19",
|
|
46
|
-
"@spinajs/rbac": "^2.0.
|
|
46
|
+
"@spinajs/rbac": "^2.0.28",
|
|
47
47
|
"@spinajs/reflection": "^2.0.19",
|
|
48
48
|
"luxon": "^2.4.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@spinajs/orm-sqlite": "^2.0.
|
|
51
|
+
"@spinajs/orm-sqlite": "^2.0.28"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "c6d54365865c3bcffe8f69380cdccda659e5ac6a"
|
|
54
54
|
}
|