Cataloghi...
This commit is contained in:
@@ -776,7 +776,6 @@ router.post('/import', authenticate, async (req, res) => {
|
||||
let imported = 0;
|
||||
let errors = 0;
|
||||
|
||||
|
||||
const ripopola = true;
|
||||
|
||||
if (ripopola) {
|
||||
@@ -901,7 +900,8 @@ router.post('/import', authenticate, async (req, res) => {
|
||||
}
|
||||
|
||||
// Aggiorna la collana solo se non è stata già impostata nel record attuale
|
||||
if (recproductInfoAttuale && !recproductInfoAttuale.idCollana && product.DescrizioneCollana) {
|
||||
//if (recproductInfoAttuale && !recproductInfoAttuale.idCollana && product.DescrizioneCollana) {
|
||||
if (recproductInfoAttuale && product.DescrizioneCollana) {
|
||||
const idCollanaNum = parseInt(product.IdCollana)
|
||||
productInfo.idCollana = idCollanaNum;
|
||||
|
||||
@@ -909,7 +909,7 @@ router.post('/import', authenticate, async (req, res) => {
|
||||
if (!reccollana) {
|
||||
try {
|
||||
// Non esiste questa collana, quindi la creo !
|
||||
reccoll = new Collana({ idapp, idCollana: idCollanaNum, descrizione: product.DescrizioneCollana });
|
||||
reccoll = new Collana({ idapp, idCollana: idCollanaNum, title: product.DescrizioneCollana });
|
||||
ris = await reccoll.save();
|
||||
} catch (e) {
|
||||
console.error('Err', e);
|
||||
|
||||
@@ -220,58 +220,65 @@ router.post(process.env.LINK_REQUEST_NEWPASSWORD, async (req, res) => {
|
||||
// Invio la Nuova Password richiesta dal reset!
|
||||
// Ritorna il token per poter effettuare le chiamate...
|
||||
router.post(process.env.LINK_UPDATE_PWD, async (req, res) => {
|
||||
const body = _.pick(req.body, ['idapp', 'email', 'tokenforgot', 'tokenforgot_code', 'password']);
|
||||
const idapp = body.idapp;
|
||||
const email = body.email.toLowerCase().trim();
|
||||
const tokenforgot = body.tokenforgot;
|
||||
const tokenforgot_code = body.tokenforgot_code;
|
||||
const password = body.password;
|
||||
const msg = 'Richiesta Nuova Password: idapp= ' + idapp + ' email = ' + email;
|
||||
console.log(msg);
|
||||
|
||||
try {
|
||||
const body = _.pick(req.body, ['idapp', 'email', 'tokenforgot', 'tokenforgot_code', 'password']);
|
||||
const idapp = body.idapp;
|
||||
const email = body.email.toLowerCase().trim();
|
||||
const tokenforgot = body.tokenforgot;
|
||||
const tokenforgot_code = body.tokenforgot_code;
|
||||
const password = body.password;
|
||||
const msg = 'Richiesta Nuova Password: idapp= ' + idapp + ' email = ' + email;
|
||||
|
||||
console.log(msg);
|
||||
|
||||
// telegrambot.sendMsgTelegramToTheManagers(body.idapp, msg);
|
||||
// telegrambot.sendMsgTelegramToTheManagers(body.idapp, msg);
|
||||
|
||||
let user = null;
|
||||
let user = null;
|
||||
|
||||
user = await User.findByLinkTokenforgot(idapp, email, tokenforgot)
|
||||
.then((user) => {
|
||||
return user;
|
||||
}).catch((e) => {
|
||||
console.log(process.env.LINK_UPDATE_PWD, e.message);
|
||||
res.status(400).send();
|
||||
});
|
||||
|
||||
if (!user) {
|
||||
user = await User.findByLinkTokenforgotCode(idapp, email, tokenforgot_code)
|
||||
user = await User.findByLinkTokenforgot(idapp, email, tokenforgot)
|
||||
.then((user) => {
|
||||
return user;
|
||||
}).catch((e) => {
|
||||
console.log(process.env.LINK_UPDATE_PWD, e.message);
|
||||
res.status(400).send();
|
||||
});
|
||||
}
|
||||
|
||||
if (!user) {
|
||||
return res.send(
|
||||
{ code: server_constants.RIS_CODE_TOKEN_RESETPASSWORD_NOT_FOUND });
|
||||
} else {
|
||||
// aggiorna la nuova password
|
||||
user.password = password;
|
||||
user.lasttimeonline = new Date();
|
||||
if (!user) {
|
||||
user = await User.findByLinkTokenforgotCode(idapp, email, tokenforgot_code)
|
||||
.then((user) => {
|
||||
return user;
|
||||
}).catch((e) => {
|
||||
console.log(process.env.LINK_UPDATE_PWD, e.message);
|
||||
res.status(400).send();
|
||||
});
|
||||
}
|
||||
|
||||
// Crea token
|
||||
user.generateAuthToken(req).then(ris => {
|
||||
user.tokenforgot = ''; // Svuota il tokenforgot perché non ti servirà più...
|
||||
user.tokenforgot_code = ''; // Svuota il tokenforgot perché non ti servirà più...
|
||||
if (!user) {
|
||||
return res.send(
|
||||
{ code: server_constants.RIS_CODE_TOKEN_RESETPASSWORD_NOT_FOUND });
|
||||
} else {
|
||||
// aggiorna la nuova password
|
||||
user.password = password;
|
||||
user.lasttimeonline = new Date();
|
||||
|
||||
// Salva lo User
|
||||
user.save().then(() => {
|
||||
res.header('x-auth', ris.token)
|
||||
.header('x-refrtok', ris.refreshToken)
|
||||
.send({ code: server_constants.RIS_CODE_OK }); // Ritorna il token di ritorno
|
||||
// Crea token
|
||||
user.generateAuthToken(req).then(ris => {
|
||||
user.tokenforgot = ''; // Svuota il tokenforgot perché non ti servirà più...
|
||||
user.tokenforgot_code = ''; // Svuota il tokenforgot perché non ti servirà più...
|
||||
|
||||
// Salva lo User
|
||||
user.save().then(() => {
|
||||
res.header('x-auth', ris.token)
|
||||
.header('x-refrtok', ris.refreshToken)
|
||||
.send({ code: server_constants.RIS_CODE_OK }); // Ritorna il token di ritorno
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Error: ', e);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
router.post('/testServer', authenticate_noerror, async (req, res) => {
|
||||
|
||||
@@ -87,308 +87,313 @@ router.post('/test1', async (req, res) => {
|
||||
|
||||
// POST /users
|
||||
router.post('/', async (req, res) => {
|
||||
tools.mylog('POST /users');
|
||||
const body = _.pick(req.body, [
|
||||
'email',
|
||||
'password',
|
||||
'username',
|
||||
'group',
|
||||
'name',
|
||||
'surname',
|
||||
'idapp',
|
||||
'keyappid',
|
||||
'lang',
|
||||
'profile',
|
||||
'aportador_solidario']);
|
||||
body.email = body.email.toLowerCase();
|
||||
try {
|
||||
tools.mylog('POST /users');
|
||||
const body = _.pick(req.body, [
|
||||
'email',
|
||||
'password',
|
||||
'username',
|
||||
'group',
|
||||
'name',
|
||||
'surname',
|
||||
'idapp',
|
||||
'keyappid',
|
||||
'lang',
|
||||
'profile',
|
||||
'aportador_solidario']);
|
||||
body.email = body.email.toLowerCase();
|
||||
|
||||
const user = new User(body);
|
||||
user.ipaddr = tools.getiPAddressUser(req);
|
||||
const user = new User(body);
|
||||
user.ipaddr = tools.getiPAddressUser(req);
|
||||
|
||||
user.email = user.email.trim();
|
||||
user.username = user.username.trim();
|
||||
user.name = user.name.trim();
|
||||
user.surname = user.surname.trim();
|
||||
user.email = user.email.trim();
|
||||
user.username = user.username.trim();
|
||||
user.name = user.name.trim();
|
||||
user.surname = user.surname.trim();
|
||||
|
||||
if ((user.aportador_solidario === 'tuo_username') || (user.aportador_solidario === '{username}')) {
|
||||
user.aportador_solidario = 'paoloar77';
|
||||
}
|
||||
|
||||
// tools.mylog("LANG PASSATO = " + user.lang, "IDAPP", user.idapp);
|
||||
|
||||
if (!tools.isAlphaNumericAndSpecialCharacter(body.username) ||
|
||||
body.email.length < 6 ||
|
||||
body.username.length < 4 || body.password.length < 5) {
|
||||
await tools.snooze(5000);
|
||||
console.log('Username non valido in Registrazione: ' + body.username);
|
||||
res.status(400).
|
||||
send({ code: server_constants.RIS_CODE_USERNAME_NOT_VALID, msg: '' });
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (tools.blockwords(body.username) || tools.blockwords(body.name) ||
|
||||
tools.blockwords(body.surname)) {
|
||||
// tools.writeIPToBan(user.ipaddr + ': [' + user.username + '] ' + user.name + ' ' + user.surname);
|
||||
await tools.snooze(5000);
|
||||
return res.status(404).send();
|
||||
}
|
||||
|
||||
user.linkreg = reg.getlinkregByEmail(body.idapp, body.email, body.username);
|
||||
user.verified_email = false;
|
||||
user.lasttimeonline = new Date();
|
||||
user.date_reg = new Date();
|
||||
user.aportador_iniziale = user.aportador_solidario;
|
||||
|
||||
let regexpire = req.body['regexpire'];
|
||||
let nonchiedereverifica = false;
|
||||
if (regexpire) {
|
||||
nonchiedereverifica = await User.getifRegTokenIsValid(body.idapp, regexpire);
|
||||
}
|
||||
|
||||
if (!nonchiedereverifica)
|
||||
regexpire = '';
|
||||
|
||||
if (!tools.getAskToVerifyReg(body.idapp) || nonchiedereverifica) {
|
||||
// Se non devo chiedere di verificare all'Invitato, allora lo verifico direttamente
|
||||
user.verified_by_aportador = true;
|
||||
}
|
||||
|
||||
/* if (user.idapp === tools.AYNI) {
|
||||
user.profile.paymenttypes = ['paypal'];
|
||||
} */
|
||||
|
||||
// Controlla se anche l'ultimo record era dallo stesso IP:
|
||||
const lastrec = await User.getLastRec(body.idapp);
|
||||
if (!!lastrec) {
|
||||
if (process.env.LOCALE !== '1') {
|
||||
if (lastrec.ipaddr === user.ipaddr) {
|
||||
// Se l'ha fatto troppo ravvicinato
|
||||
if (lastrec.date_reg) {
|
||||
let ris = tools.isdiffSecDateLess(lastrec.date_reg, 3);
|
||||
if (ris) {
|
||||
const msg = user.ipaddr + ': [' + user.username + '] ' + user.name + ' ' +
|
||||
user.surname;
|
||||
tools.writeIPToBan(msg);
|
||||
|
||||
await User.findOneAndUpdate({ _id: user._id }, { $set: { banIp: true } });
|
||||
|
||||
await telegrambot.sendMsgTelegramToTheAdmin(body.idapp, '‼️ BAN: ' + msg, true);
|
||||
|
||||
await tools.snooze(5000);
|
||||
res.status(400).
|
||||
send({ code: server_constants.RIS_CODE_BANIP, msg: '' });
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((user.aportador_solidario === 'tuo_username') || (user.aportador_solidario === '{username}')) {
|
||||
user.aportador_solidario = 'paoloar77';
|
||||
}
|
||||
}
|
||||
|
||||
// user.perm = 3;
|
||||
// if (tools.testing()) {
|
||||
// user.verified_email = true;
|
||||
// }
|
||||
// tools.mylog("LANG PASSATO = " + user.lang, "IDAPP", user.idapp);
|
||||
|
||||
// if (user.profile.intcode_cell) {
|
||||
// if (user.profile.cell.substring(0, user.profile.intcode_cell.length) === user.profile.intcode_cell) {
|
||||
// user.profile.cell = user.profile.cell.substring(user.profile.intcode_cell.length)
|
||||
// }
|
||||
// }
|
||||
let exit;
|
||||
|
||||
let utentenonancoraVerificato = false;
|
||||
|
||||
const trovarec = await User.findByCredentials(user.idapp, user.username, user.password, true);
|
||||
|
||||
// Check if already esist email or username
|
||||
exit = await User.findByUsername(user.idapp, user.username).
|
||||
then((useralreadyexist) => {
|
||||
if (useralreadyexist) {
|
||||
|
||||
if (tools.getAskToVerifyReg(useralreadyexist.idapp)) {
|
||||
if (!useralreadyexist.verified_by_aportador && useralreadyexist.profile.teleg_id > 0) {
|
||||
if (trovarec) {
|
||||
utentenonancoraVerificato = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (!utentenonancoraVerificato) {
|
||||
res.status(400).
|
||||
send({
|
||||
code: server_constants.RIS_CODE_USERNAME_ALREADY_EXIST,
|
||||
msg: '',
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (!utentenonancoraVerificato) {
|
||||
|
||||
if (exit === 1)
|
||||
return;
|
||||
|
||||
exit = await User.findByEmail(user.idapp, user.email).
|
||||
then((useralreadyexist) => {
|
||||
if (useralreadyexist) {
|
||||
res.status(400).
|
||||
send({
|
||||
code: server_constants.RIS_CODE_EMAIL_ALREADY_EXIST,
|
||||
msg: '',
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (exit === 1)
|
||||
return;
|
||||
|
||||
let recuser = null;
|
||||
|
||||
recuser = await User.findByCellAndNameSurname(user.idapp, user.profile.cell,
|
||||
user.name, user.surname);
|
||||
if (recuser && user.name !== '' && user.surname !== '' &&
|
||||
user.profile.cell !== '') {
|
||||
console.log('UTENTE GIA ESISTENTE:\n');
|
||||
console.log(user);
|
||||
// User already registered!
|
||||
if (!tools.isAlphaNumericAndSpecialCharacter(body.username) ||
|
||||
body.email.length < 6 ||
|
||||
body.username.length < 4 || body.password.length < 5) {
|
||||
await tools.snooze(5000);
|
||||
console.log('Username non valido in Registrazione: ' + body.username);
|
||||
res.status(400).
|
||||
send({ code: server_constants.RIS_CODE_USER_ALREADY_EXIST, msg: '' });
|
||||
send({ code: server_constants.RIS_CODE_USERNAME_NOT_VALID, msg: '' });
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
let recextra = null;
|
||||
|
||||
user.aportador_solidario = user.aportador_solidario.trim();
|
||||
|
||||
|
||||
user.aportador_solidario = user.aportador_solidario.replace('@', '');
|
||||
|
||||
let id_aportador = await User.getIdByUsername(user.idapp, user.aportador_solidario);
|
||||
if (!id_aportador) {
|
||||
// Cerca se esiste l'aportador solidario con l'username Telegram
|
||||
const useraportador = await User.getUserByUsernameTelegram(user.idapp, user.aportador_solidario);
|
||||
if (useraportador) {
|
||||
id_aportador = useraportador._id;
|
||||
user.aportador_solidario = useraportador.username;
|
||||
if (tools.blockwords(body.username) || tools.blockwords(body.name) ||
|
||||
tools.blockwords(body.surname)) {
|
||||
// tools.writeIPToBan(user.ipaddr + ': [' + user.username + '] ' + user.name + ' ' + user.surname);
|
||||
await tools.snooze(5000);
|
||||
return res.status(404).send();
|
||||
}
|
||||
}
|
||||
|
||||
user.linkreg = reg.getlinkregByEmail(body.idapp, body.email, body.username);
|
||||
user.verified_email = false;
|
||||
user.lasttimeonline = new Date();
|
||||
user.date_reg = new Date();
|
||||
user.aportador_iniziale = user.aportador_solidario;
|
||||
|
||||
let idMyGroupSite = tools.getidMyGroupBySite(body.idapp);
|
||||
user.idMyGroup = idMyGroupSite ? idMyGroupSite : '';
|
||||
let regexpire = req.body['regexpire'];
|
||||
let nonchiedereverifica = false;
|
||||
if (regexpire) {
|
||||
nonchiedereverifica = await User.getifRegTokenIsValid(body.idapp, regexpire);
|
||||
}
|
||||
|
||||
if (id_aportador) {
|
||||
// Ottiene l'username "corretto" (senza maiuscole o minuscole)
|
||||
user.aportador_solidario = await User.getRealUsernameByUsername(user.idapp, user.aportador_solidario);
|
||||
}
|
||||
if (!nonchiedereverifica)
|
||||
regexpire = '';
|
||||
|
||||
if (!id_aportador && tools.getAskToVerifyReg(body.idapp)) {
|
||||
// Si sta tentando di registrare una persona sotto che non corrisponde!
|
||||
let msg = 'Il link di registrazione non sembra risultare valido.<br>invitante: ' +
|
||||
user.aportador_solidario + '<br>username: ' + user.username;
|
||||
if (!tools.getAskToVerifyReg(body.idapp) || nonchiedereverifica) {
|
||||
// Se non devo chiedere di verificare all'Invitato, allora lo verifico direttamente
|
||||
user.verified_by_aportador = true;
|
||||
}
|
||||
|
||||
await telegrambot.sendMsgTelegramToTheManagers(user.idapp, msg);
|
||||
res.status(400).
|
||||
send({
|
||||
code: server_constants.RIS_CODE_USER_APORTADOR_NOT_VALID,
|
||||
msg: '',
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
/* if (user.idapp === tools.AYNI) {
|
||||
user.profile.paymenttypes = ['paypal'];
|
||||
} */
|
||||
|
||||
// Controlla se anche l'ultimo record era dallo stesso IP:
|
||||
const lastrec = await User.getLastRec(body.idapp);
|
||||
if (!!lastrec) {
|
||||
if (process.env.LOCALE !== '1') {
|
||||
if (lastrec.ipaddr === user.ipaddr) {
|
||||
// Se l'ha fatto troppo ravvicinato
|
||||
if (lastrec.date_reg) {
|
||||
let ris = tools.isdiffSecDateLess(lastrec.date_reg, 3);
|
||||
if (ris) {
|
||||
const msg = user.ipaddr + ': [' + user.username + '] ' + user.name + ' ' +
|
||||
user.surname;
|
||||
tools.writeIPToBan(msg);
|
||||
|
||||
if (utentenonancoraVerificato) {
|
||||
if (id_aportador) {
|
||||
// Se mi sono registrato ma l'invitante non mi abilita, allora il posso registrarmi nuovamente, con lo stesso username e password,
|
||||
// con un'altro link di un'altro invitante !
|
||||
await User.setaportador_solidario(user.idapp, user.username,
|
||||
user.aportador_solidario);
|
||||
await User.findOneAndUpdate({ _id: user._id }, { $set: { banIp: true } });
|
||||
|
||||
const myuser = await User.findOne({ _id: trovarec._id });
|
||||
if (myuser) {
|
||||
await telegrambot.sendMsgTelegramToTheAdmin(body.idapp, '‼️ BAN: ' + msg, true);
|
||||
|
||||
await telegrambot.askConfirmationUser(myuser.idapp, shared_consts.CallFunz.REGISTRATION, myuser);
|
||||
|
||||
const { token, refreshToken } = await myuser.generateAuthToken(req);
|
||||
res
|
||||
.header('x-auth', token)
|
||||
.header('x-refrtok', refreshToken)
|
||||
.send(myuser);
|
||||
return true;
|
||||
await tools.snooze(5000);
|
||||
res.status(400).
|
||||
send({ code: server_constants.RIS_CODE_BANIP, msg: '' });
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// let already_registered = (recextra || user.aportador_solidario === tools.APORTADOR_NONE) && (user.idapp === tools.AYNI);
|
||||
// user.perm = 3;
|
||||
// if (tools.testing()) {
|
||||
// user.verified_email = true;
|
||||
// }
|
||||
|
||||
// Check if is an other people aportador_solidario
|
||||
// if (user.profile.intcode_cell) {
|
||||
// if (user.profile.cell.substring(0, user.profile.intcode_cell.length) === user.profile.intcode_cell) {
|
||||
// user.profile.cell = user.profile.cell.substring(user.profile.intcode_cell.length)
|
||||
// }
|
||||
// }
|
||||
let exit;
|
||||
|
||||
/*if (already_registered) {
|
||||
// Check in the extraList if is present!
|
||||
const msg = 'Utente non trovato: ' + user.name + ' ' + user.surname + ' ' + user.profile.nationality + ' ' + user.profile.cell + ' email: ' + user.email + ' username: ' + user.username;
|
||||
console.log('Utente non trovato; ', msg);
|
||||
await telegrambot.sendMsgTelegramToTheManagers(user.idapp, msg);
|
||||
res.status(400).send({
|
||||
code: server_constants.RIS_CODE_USER_EXTRALIST_NOTFOUND,
|
||||
msg: 'Controlla se il numero ' + user.profile.cell + ' è corretto.'
|
||||
});
|
||||
return 1;
|
||||
} */
|
||||
let utentenonancoraVerificato = false;
|
||||
|
||||
return user.save().then(async () => {
|
||||
return User.findByUsername(user.idapp, user.username, false).
|
||||
then((usertrovato) => {
|
||||
const trovarec = await User.findByCredentials(user.idapp, user.username, user.password, true);
|
||||
|
||||
// tools.mylog("TROVATO USERNAME ? ", user.username, usertrovato);
|
||||
if (usertrovato !== null) {
|
||||
return user.generateAuthToken(req);
|
||||
} else {
|
||||
res.status(400).send();
|
||||
return 0;
|
||||
// Check if already esist email or username
|
||||
exit = await User.findByUsername(user.idapp, user.username).
|
||||
then((useralreadyexist) => {
|
||||
if (useralreadyexist) {
|
||||
|
||||
if (tools.getAskToVerifyReg(useralreadyexist.idapp)) {
|
||||
if (!useralreadyexist.verified_by_aportador && useralreadyexist.profile.teleg_id > 0) {
|
||||
if (trovarec) {
|
||||
utentenonancoraVerificato = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (!utentenonancoraVerificato) {
|
||||
res.status(400).
|
||||
send({
|
||||
code: server_constants.RIS_CODE_USERNAME_ALREADY_EXIST,
|
||||
msg: '',
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}).
|
||||
then(async (ris) => {
|
||||
// tools.mylog("passo il TOKEN: ", token);
|
||||
|
||||
if (recextra) {
|
||||
recextra.registered = true;
|
||||
recextra.username = user.username;
|
||||
await recextra.save();
|
||||
|
||||
// await User.fixUsername(user.idapp, user.ind_order, user.username);
|
||||
}
|
||||
return ris;
|
||||
}).
|
||||
then(async (ris) => {
|
||||
|
||||
// tools.mylog("LINKREG = " + user.linkreg);
|
||||
// Invia un'email all'utente
|
||||
// tools.mylog('process.env.TESTING_ON', process.env.TESTING_ON);
|
||||
console.log('res.locale', res.locale);
|
||||
|
||||
await telegrambot.askConfirmationUser(user.idapp, shared_consts.CallFunz.REGISTRATION, user, '', '', '', regexpire);
|
||||
|
||||
// if (!tools.testing()) {
|
||||
await sendemail.sendEmail_Registration(user.lang, user.email, user,
|
||||
user.idapp, user.linkreg);
|
||||
// }
|
||||
res
|
||||
.header('x-auth', ris.token)
|
||||
.header('x-refrtok', ris.refreshToken)
|
||||
.send(user);
|
||||
return true;
|
||||
});
|
||||
}).catch((e) => {
|
||||
|
||||
if (!utentenonancoraVerificato) {
|
||||
|
||||
if (exit === 1)
|
||||
return;
|
||||
|
||||
exit = await User.findByEmail(user.idapp, user.email).
|
||||
then((useralreadyexist) => {
|
||||
if (useralreadyexist) {
|
||||
res.status(400).
|
||||
send({
|
||||
code: server_constants.RIS_CODE_EMAIL_ALREADY_EXIST,
|
||||
msg: '',
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (exit === 1)
|
||||
return;
|
||||
|
||||
let recuser = null;
|
||||
|
||||
recuser = await User.findByCellAndNameSurname(user.idapp, user.profile.cell,
|
||||
user.name, user.surname);
|
||||
if (recuser && user.name !== '' && user.surname !== '' &&
|
||||
user.profile.cell !== '') {
|
||||
console.log('UTENTE GIA ESISTENTE:\n');
|
||||
console.log(user);
|
||||
// User already registered!
|
||||
res.status(400).
|
||||
send({ code: server_constants.RIS_CODE_USER_ALREADY_EXIST, msg: '' });
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
let recextra = null;
|
||||
|
||||
user.aportador_solidario = user.aportador_solidario.trim();
|
||||
|
||||
|
||||
user.aportador_solidario = user.aportador_solidario.replace('@', '');
|
||||
|
||||
let id_aportador = await User.getIdByUsername(user.idapp, user.aportador_solidario);
|
||||
if (!id_aportador) {
|
||||
// Cerca se esiste l'aportador solidario con l'username Telegram
|
||||
const useraportador = await User.getUserByUsernameTelegram(user.idapp, user.aportador_solidario);
|
||||
if (useraportador) {
|
||||
id_aportador = useraportador._id;
|
||||
user.aportador_solidario = useraportador.username;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let idMyGroupSite = tools.getidMyGroupBySite(body.idapp);
|
||||
user.idMyGroup = idMyGroupSite ? idMyGroupSite : '';
|
||||
|
||||
if (id_aportador) {
|
||||
// Ottiene l'username "corretto" (senza maiuscole o minuscole)
|
||||
user.aportador_solidario = await User.getRealUsernameByUsername(user.idapp, user.aportador_solidario);
|
||||
}
|
||||
|
||||
if (!id_aportador && tools.getAskToVerifyReg(body.idapp)) {
|
||||
// Si sta tentando di registrare una persona sotto che non corrisponde!
|
||||
let msg = 'Il link di registrazione non sembra risultare valido.<br>invitante: ' +
|
||||
user.aportador_solidario + '<br>username: ' + user.username;
|
||||
|
||||
await telegrambot.sendMsgTelegramToTheManagers(user.idapp, msg);
|
||||
res.status(400).
|
||||
send({
|
||||
code: server_constants.RIS_CODE_USER_APORTADOR_NOT_VALID,
|
||||
msg: '',
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (utentenonancoraVerificato) {
|
||||
if (id_aportador) {
|
||||
// Se mi sono registrato ma l'invitante non mi abilita, allora il posso registrarmi nuovamente, con lo stesso username e password,
|
||||
// con un'altro link di un'altro invitante !
|
||||
await User.setaportador_solidario(user.idapp, user.username,
|
||||
user.aportador_solidario);
|
||||
|
||||
const myuser = await User.findOne({ _id: trovarec._id });
|
||||
if (myuser) {
|
||||
|
||||
await telegrambot.askConfirmationUser(myuser.idapp, shared_consts.CallFunz.REGISTRATION, myuser);
|
||||
|
||||
const { token, refreshToken } = await myuser.generateAuthToken(req);
|
||||
res
|
||||
.header('x-auth', token)
|
||||
.header('x-refrtok', refreshToken)
|
||||
.send(myuser);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// let already_registered = (recextra || user.aportador_solidario === tools.APORTADOR_NONE) && (user.idapp === tools.AYNI);
|
||||
|
||||
// Check if is an other people aportador_solidario
|
||||
|
||||
/*if (already_registered) {
|
||||
// Check in the extraList if is present!
|
||||
const msg = 'Utente non trovato: ' + user.name + ' ' + user.surname + ' ' + user.profile.nationality + ' ' + user.profile.cell + ' email: ' + user.email + ' username: ' + user.username;
|
||||
console.log('Utente non trovato; ', msg);
|
||||
await telegrambot.sendMsgTelegramToTheManagers(user.idapp, msg);
|
||||
res.status(400).send({
|
||||
code: server_constants.RIS_CODE_USER_EXTRALIST_NOTFOUND,
|
||||
msg: 'Controlla se il numero ' + user.profile.cell + ' è corretto.'
|
||||
});
|
||||
return 1;
|
||||
} */
|
||||
|
||||
return user.save().then(async () => {
|
||||
return User.findByUsername(user.idapp, user.username, false).
|
||||
then((usertrovato) => {
|
||||
|
||||
// tools.mylog("TROVATO USERNAME ? ", user.username, usertrovato);
|
||||
if (usertrovato !== null) {
|
||||
return user.generateAuthToken(req);
|
||||
} else {
|
||||
res.status(400).send();
|
||||
return 0;
|
||||
}
|
||||
}).
|
||||
then(async (ris) => {
|
||||
// tools.mylog("passo il TOKEN: ", token);
|
||||
|
||||
if (recextra) {
|
||||
recextra.registered = true;
|
||||
recextra.username = user.username;
|
||||
await recextra.save();
|
||||
|
||||
// await User.fixUsername(user.idapp, user.ind_order, user.username);
|
||||
}
|
||||
return ris;
|
||||
}).
|
||||
then(async (ris) => {
|
||||
|
||||
// tools.mylog("LINKREG = " + user.linkreg);
|
||||
// Invia un'email all'utente
|
||||
// tools.mylog('process.env.TESTING_ON', process.env.TESTING_ON);
|
||||
console.log('res.locale', res.locale);
|
||||
|
||||
await telegrambot.askConfirmationUser(user.idapp, shared_consts.CallFunz.REGISTRATION, user, '', '', '', regexpire);
|
||||
|
||||
// if (!tools.testing()) {
|
||||
await sendemail.sendEmail_Registration(user.lang, user.email, user,
|
||||
user.idapp, user.linkreg);
|
||||
// }
|
||||
res
|
||||
.header('x-auth', ris.token)
|
||||
.header('x-refrtok', ris.refreshToken)
|
||||
.send(user);
|
||||
return true;
|
||||
});
|
||||
}).catch((e) => {
|
||||
console.error(e.message);
|
||||
res.status(400).send(e);
|
||||
});
|
||||
} catch (e) {
|
||||
console.error(e.message);
|
||||
res.status(400).send(e);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
router.get('/:idapp/:username', async (req, res) => {
|
||||
@@ -1595,7 +1600,7 @@ async function eseguiDbOp(idapp, mydata, locale, req, res) {
|
||||
const deleteCart = await Cart.deleteMany({ idapp });
|
||||
|
||||
ris = deleteCart;
|
||||
|
||||
|
||||
} catch (e) {
|
||||
console.error('Err:', e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user