| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- const DatabaseModel = require("./DatabaseModel.js").DatabaseModel;
- function SessionModel(sessionInfos) {
- DatabaseModel.call(this);
- this.userAgent = sessionInfos?.userAgent || "";
- this.ipAddress = sessionInfos?.ipAddress || "";
- this.loginDateTime = new Date(sessionInfos?.loginDateTime || 0);
- this.username = sessionInfos?.username || "";
- this.sessionId = sessionInfos?.sessionId || "";
- this.instance = sessionInfos?.instance || "";
- }
- SessionModel.prototype = Object.create(DatabaseModel.prototype);
- SessionModel.prototype.getTableName = function() {
- return "session";
- }
- SessionModel.prototype.createOrUpdateBase = async function(dbHelper) {
- await dbHelper.runSql(`CREATE TABLE IF NOT EXISTS 'session' (
- sessionId STRING NOT NULL,
- instance string NOT NULL,
- useragent STRING NOT NULL,
- remoteAddress STRING NOT NULL,
- loginDateTime TIMESTAMP NOT NULL,
- username STRING NOT NULL,
- PRIMARY KEY (sessionId, instance))`);
- }
- SessionModel.prototype.describe = function() {
- return {
- "sessionId": this.sessionId,
- "useragent": this.userAgent,
- "remoteAddress": this.ipAddress,
- "loginDateTime": this.loginDateTime.getTime(),
- "username": this.username,
- "instance": this.instance
- };
- }
- SessionModel.prototype.versionColumn = function() { return "loginDateTime"; }
- SessionModel.prototype.fromDb = function(dbObj) {
- this.sessionId = dbObj["sessionId"];
- this.userAgent = dbObj["useragent"];
- this.ipAddress = dbObj["remoteAddress"];
- this.loginDateTime.setTime(dbObj["loginDateTime"]);
- this.username = dbObj["username"];
- this.instance = dbObj["instance"];
- }
- module.exports.SessionModel = SessionModel;
|