1-
21import mongoose from 'mongoose' ;
32import validator from 'validator' ;
43import jwt from 'jsonwebtoken' ;
54import bcrypt from 'bcryptjs' ;
65
7- let UserSchema = new mongoose . Schema ( {
6+ const UserSchema = new mongoose . Schema ( {
87 email : {
98 type : String ,
109 required : true ,
@@ -14,7 +13,7 @@ let UserSchema = new mongoose.Schema({
1413 validate : {
1514 validator : validator . isEmail ,
1615 message : '{VALUE} is not a valid email'
17- }
16+ } ,
1817 } ,
1918 password : {
2019 type : String ,
@@ -29,40 +28,37 @@ let UserSchema = new mongoose.Schema({
2928 token : {
3029 type : String ,
3130 required : true ,
32- }
33- } ]
31+ } ,
32+ } ] ,
3433} ) ;
3534
3635UserSchema . methods . generateAuthToken = function ( ) {
3736 const user = this ;
3837 const access = 'auth' ;
3938 const { _id} = user ;
40- let token = jwt . sign ( {
41- _id : _id . toHexString ( ) ,
42- access
43- } , '123ABC' ) . toString ( ) ;
39+ const token = jwt . sign ( { _id : _id . toHexString ( ) , access } , process . env . JWT_SECRET ) . toString ( ) ;
4440 user . tokens = user . tokens . concat ( [ { access, token} ] ) ;
4541 return user . save ( )
46- . then ( ( ) => token )
42+ . then ( ( ) => token ) ;
4743} ;
4844
4945UserSchema . methods . toJSON = function ( ) {
5046 const user = this ;
5147 const userObject = user . toObject ( ) ;
52- const { _id, email} = userObject ;
53- return { _id, email} ;
48+ const { _id, email } = userObject ;
49+ return { _id, email } ;
5450} ;
5551
5652UserSchema . methods . removeToken = function ( token ) {
57- let user = this ;
58- return user . update ( { $pull : { tokens : { token} } } ) ;
53+ const user = this ;
54+ return user . update ( { $pull : { tokens : { token } } } ) ;
5955} ;
6056
6157UserSchema . statics . findByToken = function ( token ) {
62- let User = this ;
58+ const User = this ;
6359 let decoded ;
6460 try {
65- decoded = jwt . verify ( token , '123ABC' ) ;
61+ decoded = jwt . verify ( token , process . env . JWT_SECRET ) ;
6662 } catch ( err ) {
6763 return Promise . reject ( ) ;
6864 }
@@ -74,17 +70,17 @@ UserSchema.statics.findByToken = function (token) {
7470} ;
7571
7672UserSchema . statics . findByCredentials = function ( email , password ) {
77- let User = this ;
73+ const User = this ;
7874 return User . findOne ( { email} )
79- . then ( ( user ) => {
80- if ( ! user ) return Promise . reject ( ) ;
81- return new Promise ( ( resolve , reject ) => {
82- bcrypt . compare ( password , user . password , ( err , res ) => {
83- if ( res ) resolve ( user ) ;
84- reject ( ) ;
85- } )
86- } )
87- } )
75+ . then ( ( user ) => {
76+ if ( ! user ) return Promise . reject ( ) ;
77+ return new Promise ( ( resolve , reject ) => {
78+ bcrypt . compare ( password , user . password , ( err , res ) => {
79+ if ( res ) resolve ( user ) ;
80+ reject ( ) ;
81+ } ) ;
82+ } ) ;
83+ } ) ;
8884} ;
8985
9086UserSchema . pre ( 'save' , function ( next ) {
0 commit comments