@spinajs/session-provider-db 2.0.382 → 2.0.383
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/cjs/index.d.ts +3 -2
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +14 -16
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.d.ts.map +1 -1
- package/lib/cjs/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.js +2 -0
- package/lib/cjs/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.js.map +1 -1
- package/lib/cjs/models/DbSession.d.ts +1 -0
- package/lib/cjs/models/DbSession.d.ts.map +1 -1
- package/lib/cjs/models/DbSession.js.map +1 -1
- package/lib/mjs/index.d.ts +3 -2
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +14 -16
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.d.ts.map +1 -1
- package/lib/mjs/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.js +3 -1
- package/lib/mjs/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.js.map +1 -1
- package/lib/mjs/models/DbSession.d.ts +1 -0
- package/lib/mjs/models/DbSession.d.ts.map +1 -1
- package/lib/mjs/models/DbSession.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +10 -10
package/lib/cjs/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SessionProvider, ISession } from '@spinajs/rbac';
|
|
1
|
+
import { SessionProvider, ISession, User } from '@spinajs/rbac';
|
|
2
2
|
import { Log } from '@spinajs/log';
|
|
3
3
|
export * from './models/DbSession.js';
|
|
4
4
|
export * from './migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.js';
|
|
@@ -9,8 +9,9 @@ export declare class DbSessionStore extends SessionProvider {
|
|
|
9
9
|
resolve(): Promise<void>;
|
|
10
10
|
restore(sessionId: string): Promise<ISession>;
|
|
11
11
|
delete(sessionId: string): Promise<void>;
|
|
12
|
-
save(sessionOrId: string | ISession, data?:
|
|
12
|
+
save(sessionOrId: string | ISession, data?: Map<string, unknown>): Promise<void>;
|
|
13
13
|
touch(session: ISession): Promise<void>;
|
|
14
|
+
logsOut(user: User): Promise<void>;
|
|
14
15
|
truncate(): Promise<void>;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAe,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAe,IAAI,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAQ3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+DAA+D,CAAC;AAE9E,qBACa,cAAe,SAAQ,eAAe;IAEjD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAKnB,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC;IAG/B,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAE3B,OAAO;IAQP,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuB7C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhF,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvC"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -67,33 +67,31 @@ let DbSessionStore = class DbSessionStore extends rbac_1.SessionProvider {
|
|
|
67
67
|
await DbSession_js_1.DbSession.destroy(sessionId);
|
|
68
68
|
}
|
|
69
69
|
async save(sessionOrId, data) {
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
const sessionId = lodash_1.default.isString(sessionOrId) ? sessionOrId : sessionOrId.SessionId;
|
|
71
|
+
const userId = lodash_1.default.isString(sessionOrId) ? null : sessionOrId.UserId;
|
|
72
|
+
const sData = lodash_1.default.isString(sessionOrId) ? data : sessionOrId.Data;
|
|
72
73
|
let sCreationTime = luxon_1.DateTime.now();
|
|
73
74
|
let sExpirationTime = luxon_1.DateTime.now().plus({ minutes: this.DefaultExpirationTime });
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
sData = data;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
sId = sessionOrId.SessionId;
|
|
80
|
-
sData = Object.fromEntries(sessionOrId.Data);
|
|
81
|
-
sCreationTime = sessionOrId.Creation;
|
|
82
|
-
sExpirationTime = sessionOrId.Expiration;
|
|
83
|
-
}
|
|
84
|
-
const session = new DbSession_js_1.DbSession({
|
|
85
|
-
SessionId: sId,
|
|
75
|
+
const s = await DbSession_js_1.DbSession.getOrNew({
|
|
76
|
+
SessionId: sessionId,
|
|
86
77
|
CreatedAt: sCreationTime,
|
|
87
78
|
Expiration: sExpirationTime,
|
|
88
|
-
|
|
79
|
+
UserId: userId
|
|
89
80
|
});
|
|
90
|
-
|
|
81
|
+
s.Data = JSON.stringify(Object.fromEntries(sData), util_1.replacer);
|
|
82
|
+
await s.insert(orm_1.InsertBehaviour.InsertOrUpdate);
|
|
91
83
|
}
|
|
92
84
|
async touch(session) {
|
|
93
85
|
await DbSession_js_1.DbSession.update({
|
|
94
86
|
Expiration: session.Expiration,
|
|
95
87
|
}).where('SessionId', session.SessionId);
|
|
96
88
|
}
|
|
89
|
+
async logsOut(user) {
|
|
90
|
+
const sessionsToDelete = await DbSession_js_1.DbSession.where('UserId', user.Id);
|
|
91
|
+
if (sessionsToDelete.length > 0) {
|
|
92
|
+
await DbSession_js_1.DbSession.destroy(sessionsToDelete.map((x) => x.SessionId));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
97
95
|
async truncate() {
|
|
98
96
|
await DbSession_js_1.DbSession.truncate();
|
|
99
97
|
}
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSessionDBSqlMigration_2022_06_28_01_01_01.d.ts","sourceRoot":"","sources":["../../../src/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"UserSessionDBSqlMigration_2022_06_28_01_01_01.d.ts","sourceRoot":"","sources":["../../../src/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAC;AAErF,qBACa,6CAA8C,SAAQ,YAAY;IAChE,EAAE,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAC/C"}
|
|
@@ -15,6 +15,8 @@ let UserSessionDBSqlMigration_2022_06_28_01_01_01 = class UserSessionDBSqlMigrat
|
|
|
15
15
|
table.dateTime('CreatedAt').notNull();
|
|
16
16
|
table.dateTime('Expiration');
|
|
17
17
|
table.json('Data').notNull();
|
|
18
|
+
table.int('UserId').notNull();
|
|
19
|
+
table.foreignKey("UserId").references('users', 'Id').onDelete(orm_1.ReferentialAction.Cascade);
|
|
18
20
|
});
|
|
19
21
|
// create index explicit, otherwise sqlite driver cannot extract unique index from sqlite_master
|
|
20
22
|
await connection.index().table('user_sessions').name('session_id_user_session_idx').columns(['SessionId']).unique();
|
|
@@ -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,
|
|
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,sCAAqF;AAG9E,IAAM,6CAA6C,GAAnD,MAAM,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,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;YACrD,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YACtC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAE9B,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,uBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3F,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,IAAmB,CAAC;CACnD,CAAA;AAlBY,sGAA6C;wDAA7C,6CAA6C;IADzD,IAAA,eAAS,EAAC,6BAA6B,CAAC;GAC5B,6CAA6C,CAkBzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSession.d.ts","sourceRoot":"","sources":["../../../src/models/DbSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyD,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,qBAEa,SAAU,SAAQ,SAAS;IAE/B,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,QAAQ,CAAC;IAGpB,UAAU,EAAE,QAAQ,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"DbSession.d.ts","sourceRoot":"","sources":["../../../src/models/DbSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyD,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,qBAEa,SAAU,SAAQ,SAAS;IAE/B,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,QAAQ,CAAC;IAGpB,UAAU,EAAE,QAAQ,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSession.js","sourceRoot":"","sources":["../../../src/models/DbSession.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAgG;AAChG,iCAAiC;AAG1B,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,eAAS;
|
|
1
|
+
{"version":3,"file":"DbSession.js","sourceRoot":"","sources":["../../../src/models/DbSession.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAgG;AAChG,iCAAiC;AAG1B,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,eAAS;CAavC,CAAA;AAbY,8BAAS;AAEb;IADN,IAAA,aAAO,GAAE;;4CACe;AAGlB;IADN,IAAA,eAAS,GAAE;8BACM,gBAAQ;4CAAC;AAGpB;IADN,IAAA,cAAE,GAAE;8BACc,gBAAQ;6CAAC;oBARjB,SAAS;IAFrB,IAAA,gBAAU,EAAC,6BAA6B,CAAC;IACzC,IAAA,WAAK,EAAC,eAAe,CAAC;GACV,SAAS,CAarB"}
|
package/lib/mjs/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SessionProvider, ISession } from '@spinajs/rbac';
|
|
1
|
+
import { SessionProvider, ISession, User } from '@spinajs/rbac';
|
|
2
2
|
import { Log } from '@spinajs/log';
|
|
3
3
|
export * from './models/DbSession.js';
|
|
4
4
|
export * from './migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.js';
|
|
@@ -9,8 +9,9 @@ export declare class DbSessionStore extends SessionProvider {
|
|
|
9
9
|
resolve(): Promise<void>;
|
|
10
10
|
restore(sessionId: string): Promise<ISession>;
|
|
11
11
|
delete(sessionId: string): Promise<void>;
|
|
12
|
-
save(sessionOrId: string | ISession, data?:
|
|
12
|
+
save(sessionOrId: string | ISession, data?: Map<string, unknown>): Promise<void>;
|
|
13
13
|
touch(session: ISession): Promise<void>;
|
|
14
|
+
logsOut(user: User): Promise<void>;
|
|
14
15
|
truncate(): Promise<void>;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/mjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAe,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAe,IAAI,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAQ3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+DAA+D,CAAC;AAE9E,qBACa,cAAe,SAAQ,eAAe;IAEjD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAKnB,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC;IAG/B,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAE3B,OAAO;IAQP,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuB7C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhF,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvC"}
|
package/lib/mjs/index.js
CHANGED
|
@@ -47,33 +47,31 @@ let DbSessionStore = class DbSessionStore extends SessionProvider {
|
|
|
47
47
|
await DbSession.destroy(sessionId);
|
|
48
48
|
}
|
|
49
49
|
async save(sessionOrId, data) {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
const sessionId = _.isString(sessionOrId) ? sessionOrId : sessionOrId.SessionId;
|
|
51
|
+
const userId = _.isString(sessionOrId) ? null : sessionOrId.UserId;
|
|
52
|
+
const sData = _.isString(sessionOrId) ? data : sessionOrId.Data;
|
|
52
53
|
let sCreationTime = DateTime.now();
|
|
53
54
|
let sExpirationTime = DateTime.now().plus({ minutes: this.DefaultExpirationTime });
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
sData = data;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
sId = sessionOrId.SessionId;
|
|
60
|
-
sData = Object.fromEntries(sessionOrId.Data);
|
|
61
|
-
sCreationTime = sessionOrId.Creation;
|
|
62
|
-
sExpirationTime = sessionOrId.Expiration;
|
|
63
|
-
}
|
|
64
|
-
const session = new DbSession({
|
|
65
|
-
SessionId: sId,
|
|
55
|
+
const s = await DbSession.getOrNew({
|
|
56
|
+
SessionId: sessionId,
|
|
66
57
|
CreatedAt: sCreationTime,
|
|
67
58
|
Expiration: sExpirationTime,
|
|
68
|
-
|
|
59
|
+
UserId: userId
|
|
69
60
|
});
|
|
70
|
-
|
|
61
|
+
s.Data = JSON.stringify(Object.fromEntries(sData), replacer);
|
|
62
|
+
await s.insert(InsertBehaviour.InsertOrUpdate);
|
|
71
63
|
}
|
|
72
64
|
async touch(session) {
|
|
73
65
|
await DbSession.update({
|
|
74
66
|
Expiration: session.Expiration,
|
|
75
67
|
}).where('SessionId', session.SessionId);
|
|
76
68
|
}
|
|
69
|
+
async logsOut(user) {
|
|
70
|
+
const sessionsToDelete = await DbSession.where('UserId', user.Id);
|
|
71
|
+
if (sessionsToDelete.length > 0) {
|
|
72
|
+
await DbSession.destroy(sessionsToDelete.map((x) => x.SessionId));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
77
75
|
async truncate() {
|
|
78
76
|
await DbSession.truncate();
|
|
79
77
|
}
|
package/lib/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,eAAe,EAAY,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSessionDBSqlMigration_2022_06_28_01_01_01.d.ts","sourceRoot":"","sources":["../../../src/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"UserSessionDBSqlMigration_2022_06_28_01_01_01.d.ts","sourceRoot":"","sources":["../../../src/migrations/UserSessionDBSqlMigration_2022_06_28_01_01_01.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAC;AAErF,qBACa,6CAA8C,SAAQ,YAAY;IAChE,EAAE,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAC/C"}
|
|
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { Migration, OrmMigration } from '@spinajs/orm';
|
|
7
|
+
import { Migration, OrmMigration, ReferentialAction } from '@spinajs/orm';
|
|
8
8
|
let UserSessionDBSqlMigration_2022_06_28_01_01_01 = class UserSessionDBSqlMigration_2022_06_28_01_01_01 extends OrmMigration {
|
|
9
9
|
async up(connection) {
|
|
10
10
|
await connection.schema().createTable('user_sessions', (table) => {
|
|
@@ -12,6 +12,8 @@ let UserSessionDBSqlMigration_2022_06_28_01_01_01 = class UserSessionDBSqlMigrat
|
|
|
12
12
|
table.dateTime('CreatedAt').notNull();
|
|
13
13
|
table.dateTime('Expiration');
|
|
14
14
|
table.json('Data').notNull();
|
|
15
|
+
table.int('UserId').notNull();
|
|
16
|
+
table.foreignKey("UserId").references('users', 'Id').onDelete(ReferentialAction.Cascade);
|
|
15
17
|
});
|
|
16
18
|
// create index explicit, otherwise sqlite driver cannot extract unique index from sqlite_master
|
|
17
19
|
await connection.index().table('user_sessions').name('session_id_user_session_idx').columns(['SessionId']).unique();
|
|
@@ -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,OAAO,EAAE,SAAS,EAAE,YAAY,EAAa,MAAM,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,OAAO,EAAE,SAAS,EAAE,YAAY,EAAa,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAG9E,IAAM,6CAA6C,GAAnD,MAAM,6CAA8C,SAAQ,YAAY;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,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;YACrD,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YACtC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAE9B,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3F,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,IAAmB,CAAC;CACnD,CAAA;AAlBY,6CAA6C;IADzD,SAAS,CAAC,6BAA6B,CAAC;GAC5B,6CAA6C,CAkBzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSession.d.ts","sourceRoot":"","sources":["../../../src/models/DbSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyD,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,qBAEa,SAAU,SAAQ,SAAS;IAE/B,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,QAAQ,CAAC;IAGpB,UAAU,EAAE,QAAQ,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"DbSession.d.ts","sourceRoot":"","sources":["../../../src/models/DbSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyD,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,qBAEa,SAAU,SAAQ,SAAS;IAE/B,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,QAAQ,CAAC;IAGpB,UAAU,EAAE,QAAQ,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSession.js","sourceRoot":"","sources":["../../../src/models/DbSession.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG1B,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"DbSession.js","sourceRoot":"","sources":["../../../src/models/DbSession.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG1B,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,SAAS;CAavC,CAAA;AAXQ;IADN,OAAO,EAAE;;4CACe;AAGlB;IADN,SAAS,EAAE;8BACM,QAAQ;4CAAC;AAGpB;IADN,EAAE,EAAE;8BACc,QAAQ;6CAAC;AARjB,SAAS;IAFrB,UAAU,CAAC,6BAA6B,CAAC;IACzC,KAAK,CAAC,eAAe,CAAC;GACV,SAAS,CAarB"}
|