1+ import jwt from 'jsonwebtoken' ;
2+ import configs from '../../../configs/project/server' ;
13import Errors from '../../common/constants/Errors' ;
24import { handleDbError } from '../decorators/handleError' ;
35import User from '../models/User' ;
@@ -22,7 +24,7 @@ export default {
2224 } ) ) ;
2325 } ,
2426
25- create ( req , res ) {
27+ create ( req , res , next ) {
2628 User . findOne ( {
2729 'email.value' : req . body . email ,
2830 } , handleDbError ( res ) ( ( user ) => {
@@ -37,14 +39,26 @@ export default {
3739 password : req . body . password ,
3840 } ) ;
3941 user . save ( handleDbError ( res ) ( ( user ) => {
40- res . json ( {
41- user : user ,
42- } ) ;
42+ req . user = user ;
43+ next ( ) ;
4344 } ) ) ;
4445 }
4546 } ) ) ;
4647 } ,
4748
49+ verify ( req , res ) {
50+ let token = req . body . verificationToken ;
51+ let { _id } = jwt . verify ( token , configs . jwt . verification . secret ) ;
52+
53+ User . findById ( _id , handleDbError ( res ) ( ( user ) => {
54+ user . email . isVerified = true ;
55+ user . verifiedAt = new Date ( ) ;
56+ user . save ( handleDbError ( res ) ( ( ) => {
57+ res . json ( { } ) ;
58+ } ) ) ;
59+ } ) ) ;
60+ } ,
61+
4862 login ( req , res ) {
4963 User . findOne ( {
5064 'email.value' : req . body . email ,
@@ -56,7 +70,7 @@ export default {
5670 } else {
5771 user . auth ( req . body . password , handleDbError ( res ) ( ( isAuth ) => {
5872 if ( isAuth ) {
59- const token = user . toJwtToken ( ) ;
73+ const token = user . toAuthenticationToken ( ) ;
6074 user . lastLoggedInAt = new Date ( ) ;
6175 user . save ( handleDbError ( res ) ( ( user ) => {
6276 res . json ( {
@@ -80,7 +94,7 @@ export default {
8094 if ( ! user ) {
8195 return next ( ) ;
8296 }
83- let token = user . toJwtToken ( ) ;
97+ let token = user . toAuthenticationToken ( ) ;
8498
8599 user . lastLoggedInAt = new Date ( ) ;
86100 user . save ( handleDbError ( res ) ( ( ) => {
0 commit comments