summaryrefslogtreecommitdiffstats
path: root/server/models/Session.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/models/Session.js')
-rw-r--r--server/models/Session.js23
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);