diff options
Diffstat (limited to 'server/models/Session.js')
-rw-r--r-- | server/models/Session.js | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/server/models/Session.js b/server/models/Session.js index c410bb9..06a4369 100644 --- a/server/models/Session.js +++ b/server/models/Session.js @@ -1,20 +1,31 @@ const mongoose = require("mongoose"); +const jwt = require('jsonwebtoken'); const sessionSchema = new mongoose.Schema({ - user: { + userId: { type : mongoose.Schema.Types.ObjectId, ref : 'User' }, - refreshToken: { - type: String, - required: true - }, lastAccess: { type: Date, default: Date.now(), - index: { expires: 90 } + index: { expires: parseInt(process.env.DB_SESSION_MAX_AGE) } } }); +sessionSchema.methods.setAccessDate = function (user) { + this.lastAccess = Date.now(); + console.log('refreshing time in db') + this.save(); +} + +sessionSchema.methods.generateJwtToken = function (user) { + return jwt.sign( + { sessionId: this._id.toString(), user: JSON.stringify(user) }, + process.env.JWT_SECRET, + { expiresIn: parseInt(process.env.JWT_TOKEN_MAX_AGE) } + ); +}; + module.exports = mongoose.model('Session', sessionSchema); |