nodecommons-esm-security 2.4.0 → 2.4.1
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.
|
@@ -10,6 +10,7 @@ export declare abstract class CommonsSessionService<T extends TPropertyObject> {
|
|
|
10
10
|
protected abstract isEqual(a: T, b: T): boolean;
|
|
11
11
|
protected abstract isStillValid(data: T): Promise<boolean>;
|
|
12
12
|
create(data: T): ICommonsSession<T>;
|
|
13
|
+
private internalDestroy;
|
|
13
14
|
destroy(session: ICommonsSession<T>): boolean;
|
|
14
15
|
abort(data: T): boolean;
|
|
15
16
|
private cleanup;
|
|
@@ -34,8 +34,7 @@ export class CommonsSessionService {
|
|
|
34
34
|
this.sessions.push(session);
|
|
35
35
|
return session;
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
this.cleanup();
|
|
37
|
+
internalDestroy(session) {
|
|
39
38
|
const match = this.sessions
|
|
40
39
|
.find((s) => s.sid === session.sid);
|
|
41
40
|
if (!match)
|
|
@@ -44,13 +43,17 @@ export class CommonsSessionService {
|
|
|
44
43
|
.filter((s) => s.sid !== session.sid);
|
|
45
44
|
return true;
|
|
46
45
|
}
|
|
46
|
+
destroy(session) {
|
|
47
|
+
this.cleanup();
|
|
48
|
+
return this.internalDestroy(session); // prevents infinite loops of cleanup calling destroy calling cleanup etc.
|
|
49
|
+
}
|
|
47
50
|
abort(data) {
|
|
48
51
|
this.cleanup();
|
|
49
52
|
const existing = this.sessions
|
|
50
53
|
.find((s) => this.isEqual(data, s.data));
|
|
51
54
|
if (!existing)
|
|
52
55
|
return false;
|
|
53
|
-
this.
|
|
56
|
+
this.internalDestroy(existing);
|
|
54
57
|
return true;
|
|
55
58
|
}
|
|
56
59
|
cleanup() {
|
|
@@ -60,7 +63,7 @@ export class CommonsSessionService {
|
|
|
60
63
|
expirationThreshold.subtract(this.maximumLast);
|
|
61
64
|
for (const session of [...this.sessions]) {
|
|
62
65
|
if (session.last.isLessThan(expirationThreshold))
|
|
63
|
-
this.
|
|
66
|
+
this.internalDestroy(session);
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
69
|
touch(sid) {
|
|
@@ -78,7 +81,7 @@ export class CommonsSessionService {
|
|
|
78
81
|
if (!session)
|
|
79
82
|
return undefined;
|
|
80
83
|
if (!(await this.isStillValid(session.data))) {
|
|
81
|
-
this.
|
|
84
|
+
this.internalDestroy(session);
|
|
82
85
|
return undefined;
|
|
83
86
|
}
|
|
84
87
|
session.last = new CommonsFixedDate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commons-session.service.mjs","sourceRoot":"","sources":["../../src/services/commons-session.service.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyC,MAAM,oBAAoB,CAAC;AAG7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,OAAgB,qBAAqB;IAIhC;IACA;IAJF,QAAQ,GAAyB,EAAE,CAAC;IAE5C,YACU,mCAA4C,KAAK,EACjD,WAAkC;QADlC,qCAAgC,GAAhC,gCAAgC,CAAiB;QACjD,gBAAW,GAAX,WAAW,CAAuB;IACzC,CAAC;IAEJ,IAAW,cAAc;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAc,IAAI;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,OAAO,IAAI,CAAC,QAAQ;aACjB,GAAG,CAAC,CAAC,OAA2B,EAAsB,EAAE,CAAC,CAAC;YACzD,GAAG,OAAO;YACV,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACxB,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE;SAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAKM,MAAM,CAAC,IAAO;QACpB,IAAI,CAAC,IAAI,CAAC,gCAAgC;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,oDAAoD;QAElH,MAAM,OAAO,GAAuB;YAClC,GAAG,EAAE,uBAAuB,EAAE;YAC9B,KAAK,EAAE,IAAI,gBAAgB,EAAE;YAC7B,IAAI,EAAE,IAAI,gBAAgB,EAAE;YAC5B,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5B,OAAO,OAAO,CAAC;IAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"commons-session.service.mjs","sourceRoot":"","sources":["../../src/services/commons-session.service.mts"],"names":[],"mappings":"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"}
|