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) => {
admin: false
});
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) {
let emailAddress = req.body.email;
let origin = req.body.origin;
User.findOne({email: emailAddress}, (err, find)=> {
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});
}
} 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
let verificationToken = new VerificationToken({
userId: user._id
});
// Create verification token
let verificationToken = new VerificationToken({
userId: user._id
});
verificationToken.createVerificationToken((err, token) => {
if(err) {
log.error(err);
return next(err);
}
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}`;
// Send confirmation email
let mailOptions = {
to: `"${user.name} <${user.email}>"`,
subject: "Confirme seu cadastro - Laboratório de Dados Educacionais",
text
}
email(mailOptions, (err, info) => {
if(err) {
log.error(err);
res.json({msg: 'User created'});
}
if(info) {
log.info(`Message ${info.messageId} sent: ${info.response}`);
log.info(`Usuário ${user.email} foi criado`);
verificationToken.createVerificationToken((err, token) => {
if(err) {
log.error(err);
return next(err);
}
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}`;
// Send confirmation email
let mailOptions = {
to: `"${user.name} <${user.email}>"`,
subject: "Confirme seu cadastro - Laboratório de Dados Educacionais",
text
}
email(mailOptions, (err, info) => {
if(err) {
log.error(err);
res.json({msg: 'User created'});
}
if(info) {
log.info(`Message ${info.messageId} sent: ${info.response}`);
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