@spinajs/session-provider-db 2.0.28 → 2.0.38
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 +21 -2
- package/lib/index.js.map +1 -1
- package/package.json +9 -9
package/lib/index.js
CHANGED
|
@@ -16,6 +16,25 @@ 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() { }
|
|
@@ -29,7 +48,7 @@ let DbSessionStore = class DbSessionStore extends rbac_1.SessionProvider {
|
|
|
29
48
|
return new rbac_1.Session({
|
|
30
49
|
SessionId: session.SessionId,
|
|
31
50
|
Creation: session.CreatedAt,
|
|
32
|
-
Data: JSON.parse(session.Data),
|
|
51
|
+
Data: JSON.parse(session.Data, reviver),
|
|
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, replacer) }));
|
|
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,OAAO,CAAC;YACvC,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,QAAQ,CAAC,IACtC,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"}
|
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.38",
|
|
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,
|
|
@@ -38,17 +38,17 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://github.com/spinajs/main#readme",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@spinajs/configuration": "^2.0.
|
|
42
|
-
"@spinajs/di": "^2.0.
|
|
41
|
+
"@spinajs/configuration": "^2.0.38",
|
|
42
|
+
"@spinajs/di": "^2.0.38",
|
|
43
43
|
"@spinajs/exceptions": "^2.0.12",
|
|
44
|
-
"@spinajs/log": "^2.0.
|
|
45
|
-
"@spinajs/orm": "^2.0.
|
|
46
|
-
"@spinajs/rbac": "^2.0.
|
|
47
|
-
"@spinajs/reflection": "^2.0.
|
|
44
|
+
"@spinajs/log": "^2.0.38",
|
|
45
|
+
"@spinajs/orm": "^2.0.38",
|
|
46
|
+
"@spinajs/rbac": "^2.0.38",
|
|
47
|
+
"@spinajs/reflection": "^2.0.38",
|
|
48
48
|
"luxon": "^2.4.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@spinajs/orm-sqlite": "^2.0.
|
|
51
|
+
"@spinajs/orm-sqlite": "^2.0.38"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "5ea5440ee9db49595f531592ebdbc6d69f457082"
|
|
54
54
|
}
|