summaryrefslogtreecommitdiff
path: root/models/User.js
diff options
context:
space:
mode:
Diffstat (limited to 'models/User.js')
-rwxr-xr-xmodels/User.js43
1 files changed, 0 insertions, 43 deletions
diff --git a/models/User.js b/models/User.js
deleted file mode 100755
index 9391c35..0000000
--- a/models/User.js
+++ /dev/null
@@ -1,43 +0,0 @@
-const mongoose = require('mongoose');
-const crypto = require('crypto');
-const jwt = require('jsonwebtoken');
-
-const { Schema } = mongoose;
-
-const UserSchema = new Schema({
- email: String,
- hash: String,
- salt: String,
-});
-
-UserSchema.methods.setPassword = function(password) {
- this.salt = crypto.randomBytes(16).toString('hex');
- this.hash = crypto.pbkdf2Sync(password, this.salt, 10000, 512, 'sha512').toString('hex');
-};
-
-UserSchema.methods.validatePassword = function(password) {
- const hash = crypto.pbkdf2Sync(password, this.salt, 10000, 512, 'sha512').toString('hex');
- return this.hash === hash;
-};
-
-UserSchema.methods.generateJWT = function() {
- const today = new Date();
- const expirationDate = new Date(today);
- expirationDate.setDate(today.getDate() + 60);
-
- return jwt.sign({
- email: this.email,
- id: this._id,
- exp: parseInt(expirationDate.getTime() / 1000, 10),
- }, 'secret');
-}
-
-UserSchema.methods.toAuthJSON = function() {
- return {
- _id: this._id,
- email: this.email,
- token: this.generateJWT(),
- };
-};
-
-mongoose.model('User', UserSchema); \ No newline at end of file