Files

40 lines
1.3 KiB
JavaScript
Raw Permalink Normal View History

2021-05-05 18:49:23 -05:00
const helperPath = '../../helper';
2022-01-02 15:07:49 -06:00
const { validarNumeroEntero } = require(`${helperPath}/validar`);
2021-05-05 18:49:23 -05:00
const gmail = require(`${helperPath}/gmail`);
const correos = require(`${helperPath}/correos`);
const encriptar = require(`${helperPath}/encriptar`);
const dbPath = '../../db/tablas';
const Usuario = require(`${dbPath}/Usuario`);
const Servicio = require(`${dbPath}/Servicio`);
2021-01-11 06:04:55 -06:00
const newPasswordAlumno = async (body) => {
2022-01-02 15:07:49 -06:00
const idServicio = validarNumeroEntero(body.idServicio, 'id servicio');
2021-01-14 03:13:37 -06:00
const password = encriptar.generarPassword();
2021-01-11 06:04:55 -06:00
let idUsuario;
2021-01-14 03:13:37 -06:00
let correo = {};
2021-01-11 06:04:55 -06:00
return Servicio.findOne({
where: { idServicio },
include: [{ model: Usuario }],
})
.then((res) => {
if (!res) throw new Error('No existe este Servicio Social.');
if (res.Usuario.idTipoUsuario != 3)
throw new Error('Este usuario no es de tipo alumno.');
2021-01-14 03:13:37 -06:00
correo = correos.preRegistro(password, res.Usuario.nombre);
2021-01-11 06:04:55 -06:00
idUsuario = res.idUsuario;
return gmail(correo.subject, res.correo, correo.msj);
})
2021-01-14 03:13:37 -06:00
.then((res) =>
Usuario.update(
2021-01-12 21:09:37 -06:00
{ password: encriptar.encriptar(password) },
2021-01-11 06:04:55 -06:00
{ where: { idUsuario } }
2021-01-14 03:13:37 -06:00
)
)
2021-01-14 16:02:57 -06:00
.then((res) => ({
message: 'Se envio un correo con una contraseña nueva al alumno.',
}));
2021-01-11 06:04:55 -06:00
};
module.exports = newPasswordAlumno;