From c0228c6f20f5a8a1b8cc7668c2634c56524f8737 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 10 Sep 2019 17:07:22 +0200 Subject: [PATCH] a --- modules/auth/user.service.js | 31 ++++++++++++++++++++++++++++++ modules/events/event.controller.js | 16 ++++++++++++--- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/modules/auth/user.service.js b/modules/auth/user.service.js index f7cbe1c..ea39c22 100644 --- a/modules/auth/user.service.js +++ b/modules/auth/user.service.js @@ -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); \ No newline at end of file diff --git a/modules/events/event.controller.js b/modules/events/event.controller.js index 2326308..cb3f510 100644 --- a/modules/events/event.controller.js +++ b/modules/events/event.controller.js @@ -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);