Skip to content
Snippets Groups Projects
Commit 9e9df75b authored by Vytor Calixto's avatar Vytor Calixto :space_invader:
Browse files

Change verificationToken model

parent f507bbbc
No related branches found
No related tags found
2 merge requests!116Release v1.0.0,!73Workerpool feature
Pipeline #
......@@ -15,11 +15,15 @@ let VerificationToken = new Schema({
type: String,
required: true
},
verified: {
type: Boolean,
required: true,
default: false
},
createdAt: {
type: Date,
required: true,
default: Date.now,
expires: '4h'
default: Date.now
}
});
......@@ -27,6 +31,7 @@ VerificationToken.methods.createVerificationToken = function(done) {
let verificationToken = this;
let token = uuid.v4();
verificationToken.set('token', token);
verificationToken.verified = false;
verificationToken.save(function(err) {
if (err) return done(err);
return done(null, token);
......
......@@ -12,13 +12,17 @@ const User = require(`${libs}/models/user`);
verifyTokenApp.get('/:token', (req, res, next) => {
let token = req.params.token;
console.log('verificando token');
VerificationToken.findOne({token: token}, (err, vToken) => {
if(err) {
log.error(err);
next(err);
return next(err);
}
if(!token) {
if(!vToken) {
// TODO: generate new verification token
console.log('Token não existe');
res.statusCode = 404;
return next({msg: 'Token not found', status:404});
}
User.findById(vToken.userId, (err, user) => {
if(err) {
......@@ -32,15 +36,19 @@ verifyTokenApp.get('/:token', (req, res, next) => {
next(err);
}
});
VerificationToken.remove({_id: vToken._id}, (err) => {
let u = user.toObject();
delete u.salt;
delete u.hashedPassword;
vToken.verified = true;
vToken.save((err) => {
if(err) {
log.error(err);
next(err);
}
});
res.json({msg: 'User verified'});
res.json({msg: 'User verified', user: u});
});
});
});
module.exports = verifyTokenApp;
\ No newline at end of file
module.exports = verifyTokenApp;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment