Skip to content
Snippets Groups Projects
Commit 36999861 authored by Gabriel Ruschel's avatar Gabriel Ruschel
Browse files

Verification if the account already exists in the same (or another) plataform

parent 4977005a
No related branches found
No related tags found
1 merge request!129Account duplicate
Pipeline #
...@@ -141,54 +141,76 @@ userApp.post('/', (req, res, next) => { ...@@ -141,54 +141,76 @@ userApp.post('/', (req, res, next) => {
admin: false admin: false
}); });
if (typeof req.body.password === 'undefined' || !req.body.password) { let emailAddress = req.body.email;
res.statusCode = 400; let origin = req.body.origin;
return res.json({errors: ["O campo senha é obrigatório"]}); User.findOne({email: emailAddress}, (err, find)=> {
} else { if(err) {
user.save((err) => {
if(err) {
log.error(err); log.error(err);
let errors = []; let errors = [];
for(let errName in err.errors) { for(let errName in err.errors) {
errors.push(err.errors[errName].message); errors.push(err.errors[errName].message);
} }
log.error(errors);
res.statusCode = 400; res.statusCode = 400;
return res.json({err, errors}); return res.json({err, errors});
} } else if (find) {
if (find.origin != origin) {
res.statusCode = 400;
return res.json({errors:["Esta conta já existe em outra plataforma"]});
} else {
res.statusCode = 400;
return res.json({errors:["Esta conta já existe nesta plataforma"]});
}
} else {
if (typeof req.body.password === 'undefined' || !req.body.password) {
res.statusCode = 400;
return res.json({errors: ["O campo senha é obrigatório"]});
} else {
user.save((err) => {
if(err) {
log.error(err);
let errors = [];
for(let errName in err.errors) {
errors.push(err.errors[errName].message);
}
log.error(errors);
res.statusCode = 400;
return res.json({err, errors});
}
// Create verification token // Create verification token
let verificationToken = new VerificationToken({ let verificationToken = new VerificationToken({
userId: user._id userId: user._id
}); });
verificationToken.createVerificationToken((err, token) => { verificationToken.createVerificationToken((err, token) => {
if(err) { if(err) {
log.error(err); log.error(err);
return next(err); return next(err);
} }
let url = config.default.lde.url + '/verify'; let url = config.default.lde.url + '/verify';
let text = `Olá, ${user.name}, seja bem vindo/a ao Laboratório de Dados Educacionais.\n\nClique neste link para confirmar sua conta: ${url}/${token}`; let text = `Olá, ${user.name}, seja bem vindo/a ao Laboratório de Dados Educacionais.\n\nClique neste link para confirmar sua conta: ${url}/${token}`;
// Send confirmation email // Send confirmation email
let mailOptions = { let mailOptions = {
to: `"${user.name} <${user.email}>"`, to: `"${user.name} <${user.email}>"`,
subject: "Confirme seu cadastro - Laboratório de Dados Educacionais", subject: "Confirme seu cadastro - Laboratório de Dados Educacionais",
text text
} }
email(mailOptions, (err, info) => { email(mailOptions, (err, info) => {
if(err) { if(err) {
log.error(err); log.error(err);
res.json({msg: 'User created'}); res.json({msg: 'User created'});
} }
if(info) { if(info) {
log.info(`Message ${info.messageId} sent: ${info.response}`); log.info(`Message ${info.messageId} sent: ${info.response}`);
log.info(`Usuário ${user.email} foi criado`); log.info(`Usuário ${user.email} foi criado`);
}
res.json({msg: 'User created'});
});
});
});
} }
res.json({msg: 'User created'}); }
}); })
});
});
}
}); });
......
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