#6427 - SMS Recover Password #2037

Open
jsegarra wants to merge 72 commits from 6427_sms_resetPassword into dev
3 changed files with 13 additions and 28 deletions
Showing only changes of commit 039de2f485 - Show all commits

View File

@ -1,4 +1,3 @@
const server = require('vn-loopback/server/server');
module.exports = Self => { module.exports = Self => {
Self.remoteMethod('recoverPassword', { Self.remoteMethod('recoverPassword', {
@ -23,38 +22,17 @@ module.exports = Self => {
}); });
Self.recoverPassword = async function(user, app) { Self.recoverPassword = async function(user, app) {
// const models = Self.app.models;
// const usesEmail = user.indexOf('@') !== -1;
const usesPhone = new RegExp(/([+]\d{2})?\d{9}/, 'g').test(user); const usesPhone = new RegExp(/([+]\d{2})?\d{9}/, 'g').test(user);
/* if (usesPhone) {
const worker = await models.Client.findOne({
fields: ['email', 'phone'],
where: {or: [{name: user, phone: user}]}
});
if (!worker) return;
user = worker.email;
}
if (!usesEmail) {
const account = await models.VnUser.findOne({
fields: ['email', 'phone'],
where: {or: [{name: user, phone: user}]}
});
if (!account) return;
user = account.email;
}*/
const account = await Self.app.models.Application.rawSql( const account = await Self.app.models.Application.rawSql(
`SELECT c.id, c.phone, u.email from account.user u, vn.client c `SELECT c.id, c.phone, u.email from account.user u, vn.client c
where c.id=u.id and( u.email = ? or u.name = ? or c.phone = ?)`, where c.id=u.id and( u.email = ? or u.name = ? or c.phone = ?)`,
[user, user, user]); [user, user, user]);
if (!account || account.length > 1) return; if (!account || account.length > 1) return;
const {email, phone} = account[0]; const {email, phone} = account[0];
try { try {
// if (usesPhone) {
// await models.Sms.send(ctx, user, Self.resetPassword({email: user, usesPhone}));
// } else {
await Self.resetPassword({email, phone, emailTemplate: 'recover-password', app, usesPhone}); await Self.resetPassword({email, phone, emailTemplate: 'recover-password', app, usesPhone});
// }
} catch (err) { } catch (err) {
if (err.code === 'EMAIL_NOT_FOUND') if (err.code === 'EMAIL_NOT_FOUND')
return; return;

View File

@ -118,10 +118,13 @@ module.exports = function(Self) {
const options = Object.assign({}, info.options); const options = Object.assign({}, info.options);
for (const param in options) for (const param in options)
params[param] = options[param]; params[param] = options[param];
if (info.options?.usesPhone)
await Self.app.models.Sms.send({req: {accessToken: info.accessToken}}, +info.options.phone, params.url);
else {
const email = new Email(options.emailTemplate, params); const email = new Email(options.emailTemplate, params);
return email.send(); return email.send();
}
}); });
/** /**

View File

@ -3067,3 +3067,7 @@ INSERT INTO `vn`.`cmr` (id,truckPlate,observations,senderInstruccions,paymentIns
VALUES (1,'123456A','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',442,1,2,1,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'), VALUES (1,'123456A','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',442,1,2,1,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'),
(2,'123456N','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',69,3,4,2,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'), (2,'123456N','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',69,3,4,2,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'),
(3,'123456B','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',567,5,6,69,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'); (3,'123456B','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',567,5,6,69,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet');
UPDATE `vn`.`client`
SET phone= 432978106
WHERE id=9;