a
This commit is contained in:
parent
d5feef5b67
commit
c0228c6f20
@ -63,6 +63,37 @@ const extraMethods = {
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
_getOrCreateUserWEB: async (dataUser) => {
|
||||
|
||||
let result = null;
|
||||
|
||||
if (dataUser.userResult) {
|
||||
result = { user: dataUser.userResult, isCreated: false };
|
||||
} 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
|
||||
},
|
||||
include: [{ model: models.Entity }],
|
||||
defaults: {
|
||||
phone: dataUser.phone,
|
||||
email: dataUser.email,
|
||||
name: dataUser.name,
|
||||
surname: dataUser.surname,
|
||||
entityId: dataUser.entityId,
|
||||
// password: crypto.createHash('sha512').update(user.phone).digest('hex'),
|
||||
}
|
||||
}).then(([user, created]) => {
|
||||
user = user.toJSON();
|
||||
result = { user: user, isCreated: created }
|
||||
});
|
||||
}
|
||||
return result;
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = generateService(models.User, extraMethods);
|
||||
@ -37,8 +37,12 @@ const extraControllers = {
|
||||
|
||||
try {
|
||||
const result = await eventReservationService._getReservaByCode(eventId, registrationCode);
|
||||
if (appVersion && (appVersion == '1.0.3'))
|
||||
return handleResultResponse(result, null, params, res, httpStatus.OK)
|
||||
if (appVersion) {
|
||||
if ((appVersion == '1.0.0') || (appVersion == '1.0.1') || (appVersion == '1.0.2'))
|
||||
return handleResultResponse(!!result, null, params, res, httpStatus.OK)
|
||||
else
|
||||
return handleResultResponse(result, null, params, res, httpStatus.OK);
|
||||
}
|
||||
else
|
||||
return handleResultResponse(!!result, null, params, res, httpStatus.OK);
|
||||
} catch(error) {
|
||||
@ -276,7 +280,13 @@ console.log('CREATE INSCRIPTION>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>< ', params);
|
||||
//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 {
|
||||
dataUser.userResult = await userService._getOrCreateUser(dataUser);
|
||||
//CHAPUZA PARA PODER DAR DE ALTA USUARIOS CON EL MISMO CORREO ELECTRONICO, PERO DISTINTO NOMBRE Y APELLIDO.
|
||||
if (req.user) //? 'app' : 'web', //En el caso de tener ya usuario viene por APP sino viene por web
|
||||
dataUser.userResult = await userService._getOrCreateUser(dataUser)
|
||||
else
|
||||
dataUser.userResult = await userService._getOrCreateUserWEB(dataUser);
|
||||
|
||||
|
||||
if (!dataUser.userResult) {
|
||||
// No se ha encontrado
|
||||
return handleResultResponse("No se ha podido crear o encontrar el usuario dado", null, params, res, httpStatus.NOT_FOUND);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user