summaryrefslogtreecommitdiffstats
path: root/server/models/User.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-26 22:20:54 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-26 22:20:54 +0100
commitf2fcc41cb17ece1fc5acf57809c5e3d61c236133 (patch)
treea103a0dd371c5f7fd5d7e3105fef0730c8594827 /server/models/User.js
parent627239499c7c9fb5e7af68b2e79e01d0523f5d8f (diff)
downloadwebsite_creator-f2fcc41cb17ece1fc5acf57809c5e3d61c236133.tar.gz
website_creator-f2fcc41cb17ece1fc5acf57809c5e3d61c236133.tar.bz2
website_creator-f2fcc41cb17ece1fc5acf57809c5e3d61c236133.zip
completed jwt token login with refresh token, reduced db calls
Diffstat (limited to 'server/models/User.js')
-rw-r--r--server/models/User.js33
1 files changed, 6 insertions, 27 deletions
diff --git a/server/models/User.js b/server/models/User.js
index ef3d94e..02cfe25 100644
--- a/server/models/User.js
+++ b/server/models/User.js
@@ -1,8 +1,5 @@
const mongoose = require("mongoose");
const bcrypt = require('bcryptjs');
-const randtoken = require('rand-token');
-const jwt = require('jsonwebtoken');
-const Session = require('./Session');
const userSchema = new mongoose.Schema({
email: {
@@ -25,31 +22,13 @@ const userSchema = new mongoose.Schema({
min: 4,
max: 1024,
},
-});
-
-userSchema.methods.generateJwtToken = async function (currentRefToken) {
- const refreshToken = currentRefToken ? currentRefToken : randtoken.uid(256);
-
- if (!currentRefToken) {
- const session = new Session({ user: this, refreshToken });
- await session.save();
+ language: {
+ type: String,
+ required: true,
+ min: 2,
+ max: 2,
}
-
- return jwt.sign(
- { _id: this._id.toString(), refreshToken },
- process.env.JWT_SECRET,
- { expiresIn: parseInt(process.env.JWT_TOKEN_MAX_AGE) }
- );
-}
-
-userSchema.methods.endSession = async function (ref) {
- this.sessions = this.sessions.filter((session) => {
- return session.ref !== ref;
- });
-
- await this.save();
- return null;
-}
+});
userSchema.statics.findByCredentials = async (email, password) => {
const user = await User.findOne({ email });