This commit is contained in:
David Arranz 2024-08-30 11:14:50 +02:00
parent eb486a49dc
commit 2926e5cf21
3 changed files with 36 additions and 26 deletions

View File

@ -124,7 +124,7 @@ passport.use("api-key",
const result = securityHelper.verify(token);
if (result) {
console.log('Valid API KEY');
return done(null, null, { message: "Valid API KEY" });
return done(null, {}, { message: "Valid API KEY" });
} else {
//console.log('Token no válido');
console.error("Unauthorized. Invalid token.");

View File

@ -308,17 +308,23 @@ async function getOrCreateUser(req, res, next) {
);
//Iniciamos el usuario relacionadas con la inscripción.
let dataUser = {
id: req.user ? req.user.id : null,
phone: req.user ? req.user.phone : null, //((req.body.phone != '+34') ? req.body.phone : null), lo quitamos de momento por la de movistar
name: req.user ? req.user.name : req.body.name,
surname: req.user ? req.user.surname : req.body.surname,
email: req.user ? req.user.email : req.body.email,
entityId: null,
entityName: null,
entityLevel: null,
userResult: req.user ? req.user : null,
};
let dataUser;
//OJO API V4 El relleno lo hago dentro de _getOrCreateUserWEBV4
if (_.isEmpty(req.user))
dataUser = {}
else {
dataUser = {
id: req.user ? req.user.id : null,
phone: req.user ? req.user.phone : null, //((req.body.phone != '+34') ? req.body.phone : null), lo quitamos de momento por la de movistar
name: req.user ? req.user.name : req.body.name,
surname: req.user ? req.user.surname : req.body.surname,
email: req.user ? req.user.email : req.body.email,
entityId: null,
entityName: null,
entityLevel: null,
userResult: req.user ? req.user : null,
};
}
//Asignamos a los datos del usuario a crear, el id de la entidad a la que pertenece, este caso solo es necesario cuando viene la inscripción por web ya que hay que crear un usuario nuevo
if (dataInscription.reservation) {
@ -328,17 +334,17 @@ async function getOrCreateUser(req, res, next) {
//creamos o recuperamos el usuario teniendo en cuenta que pude venir por APP o WEB
//si viene por web se tendra en cuenta el email y si viene por APP el phone para buscar
try {
console.log('req.user>>>>>>>>', dataUser);
//CHAPUZA PARA PODER DAR DE ALTA USUARIOS CON EL MISMO CORREO ELECTRONICO, PERO DISTINTO NOMBRE Y APELLIDO.
if (req.user) //web
{
//MAPEO SALIDA API4
//Caso API V4 user {}
if (_.isEmpty(req.user))
dataUser.userResult = await userService._getOrCreateUserWEBV4(dataUser, req);
//Caso Formulario web página actual
//Si viene user relleno viene por APP
else dataUser.userResult = await userService._getOrCreateUser(dataUser);
} //Si viene user relleno viene por APP
} //Caso Formulario web página actual
//CHAPUZA SE PERMITE DAR DE ALTA USUARIOS CON EL MISMO CORREO ELECTRONICO, PERO DISTINTO NOMBRE Y APELLIDO.
else dataUser.userResult = await userService._getOrCreateUserWEB(dataUser);
console.log('CHAPUZAAAAAAAAAA2>>>', dataUser.userResult);

View File

@ -119,8 +119,17 @@ const extraMethods = {
_getOrCreateUserWEBV4: async (dataUser, req) => {
let result = null;
//rellenamos campos nuevos de formulario web
dataUser.country = req.country? req.country : 'ES';
dataUser = {
name: req.body.name ? req.body.name : null,
surname: req.body.surname ? req.body.surname : null,
email: req.body.email ? req.body.email : null,
profile: req.body.profile ? req.body.profile : 'guest',
country: req.body.country ? req.body.country : 'ES',
entityId: dataUser.entityId ? dataUser.entityId : req.body.entityId,
entityName: null,
entityLevel: null,
userResult: null,
};
console.log('_getOrCreateUserWEBV4>>>>>>><', dataUser);
@ -129,22 +138,17 @@ const extraMethods = {
} else {
await models.User.findOrCreate({
where: {
phone: dataUser.phone ? dataUser.phone : null, //puede que al venir la solicitud por web no venga el phone
email: dataUser.email,
name: dataUser.name,
surname: dataUser.surname,
country: dataUser.country,
},
include: [{ model: models.Entity }],
defaults: {
phone: dataUser.phone,
email: dataUser.email,
name: dataUser.name,
surname: dataUser.surname,
//entityId: dataUser.entityId,
profile: dataUser.profile,
country: dataUser.country,
entityId: dataUser.entityId,
type: "onsite",
profile: "guest",
country: "ES",
// password: crypto.createHash('sha512').update(user.phone).digest('hex'),
},
}).then(([user, created]) => {