Guest User

Untitled

a guest
Sep 5th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const mongoose = require('mongoose');
  2. const validator = require('validator');
  3. const jwt = require('jsonwebtoken');
  4.  
  5. let UserSchema = new mongoose.Schema({
  6.     email: {
  7.         type: String,
  8.         required: true,
  9.         minlength: 1,
  10.         trim: true,
  11.         unique: true,
  12.         validate: {
  13.             validator: validator.isEmail,
  14.             message: '{VALUE} is not a valid email'
  15.         }
  16.     },
  17.     password: {
  18.         type: String,
  19.         required: true,
  20.         minlength: 6
  21.     },
  22.     tokens: [{
  23.         access: {
  24.             type: String,
  25.             required: true
  26.         },
  27.         token: {
  28.             type: String,
  29.             required: true
  30.         }
  31.     }]
  32. });
  33.  
  34. UserSchema.method('generateAuthToken', function() {
  35.  
  36.     let user = this;
  37.     let access = 'auth';
  38.     let token = jwt.sign({_id: this._id.toHexString(), access}, 'secret').toString();
  39.  
  40.     console.log(token);
  41.     console.log(jwt.verify(token, 'secret'));
  42.     console.log(user.tokens);
  43.  
  44.     // user.tokens[] = {access, token};
  45.     // this.tokens.push({acces, token});
  46.     // user.tokens = user.tokens.concat([{access, token}]);
  47.  
  48.  
  49.     return this.save().then(() => {
  50.         return token;
  51.     });
  52.  
  53. });
  54.  
  55. let User = mongoose.model('User', UserSchema);
  56.  
  57. module.exports = {User};
Add Comment
Please, Sign In to add comment