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({ ...@@ -15,11 +15,15 @@ let VerificationToken = new Schema({
type: String, type: String,
required: true required: true
}, },
verified: {
type: Boolean,
required: true,
default: false
},
createdAt: { createdAt: {
type: Date, type: Date,
required: true, required: true,
default: Date.now, default: Date.now
expires: '4h'
} }
}); });
...@@ -27,6 +31,7 @@ VerificationToken.methods.createVerificationToken = function(done) { ...@@ -27,6 +31,7 @@ VerificationToken.methods.createVerificationToken = function(done) {
let verificationToken = this; let verificationToken = this;
let token = uuid.v4(); let token = uuid.v4();
verificationToken.set('token', token); verificationToken.set('token', token);
verificationToken.verified = false;
verificationToken.save(function(err) { verificationToken.save(function(err) {
if (err) return done(err); if (err) return done(err);
return done(null, token); return done(null, token);
......
...@@ -12,13 +12,17 @@ const User = require(`${libs}/models/user`); ...@@ -12,13 +12,17 @@ const User = require(`${libs}/models/user`);
verifyTokenApp.get('/:token', (req, res, next) => { verifyTokenApp.get('/:token', (req, res, next) => {
let token = req.params.token; let token = req.params.token;
console.log('verificando token');
VerificationToken.findOne({token: token}, (err, vToken) => { VerificationToken.findOne({token: token}, (err, vToken) => {
if(err) { if(err) {
log.error(err); log.error(err);
next(err); return next(err);
} }
if(!token) { if(!vToken) {
// TODO: generate new verification token // 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) => { User.findById(vToken.userId, (err, user) => {
if(err) { if(err) {
...@@ -32,15 +36,19 @@ verifyTokenApp.get('/:token', (req, res, next) => { ...@@ -32,15 +36,19 @@ verifyTokenApp.get('/:token', (req, res, next) => {
next(err); 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) { if(err) {
log.error(err); log.error(err);
next(err); next(err);
} }
}); });
res.json({msg: 'User verified'}); res.json({msg: 'User verified', user: u});
}); });
}); });
}); });
module.exports = verifyTokenApp; module.exports = verifyTokenApp;
\ No newline at end of file
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