diff --git a/modules/auth/auth.controller.js b/modules/auth/auth.controller.js index eb29392..ff0b6d2 100644 --- a/modules/auth/auth.controller.js +++ b/modules/auth/auth.controller.js @@ -335,7 +335,7 @@ async function getOrCreateUser(req, res, next) { //MAPEO SALIDA API4 //Caso API V4 user {} if (_.isEmpty(req.user)) - dataUser.userResult = await userService._getOrCreateUserWEB(dataUser); + dataUser.userResult = await userService._getOrCreateUserWEBV4(dataUser); //Caso Formulario web página actual else dataUser.userResult = await userService._getOrCreateUser(dataUser); } //Si viene user relleno viene por APP diff --git a/modules/auth/user.service.js b/modules/auth/user.service.js index 6a54237..80b4a0b 100644 --- a/modules/auth/user.service.js +++ b/modules/auth/user.service.js @@ -51,10 +51,10 @@ const extraMethods = { ); }, + //solo se llama desde APP _getOrCreateUser: async (dataUser) => { let result = null; - - console.log ("_getOrCreateUser>>>>> "); + console.log('_getOrCreateUser>>>>>>><'); if (dataUser.userResult) { result = { user: dataUser.userResult, isCreated: false }; @@ -82,13 +82,43 @@ const extraMethods = { return result; }, + //solo se llama desde formualario WEB _getOrCreateUserWEB: async (dataUser) => { - - console.log ("_getOrCreateUserWEB>>>>> "); - let result = null; - - console.log ("_getOrCreateUserWEB>>>>> ", dataUser); + console.log('_getOrCreateUserWEB>>>>>>><'); + + 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, + profile: "guest", + // password: crypto.createHash('sha512').update(user.phone).digest('hex'), + }, + }).then(([user, created]) => { + user = user.toJSON(); + result = { user: user, isCreated: created }; + }); + } + return result; + }, + + //solo se llama desde formualario WEB nuevo + _getOrCreateUserWEBV4: async (dataUser) => { + let result = null; + console.log('_getOrCreateUserWEBV4>>>>>>><'); if (dataUser.userResult) { result = { user: dataUser.userResult, isCreated: false }; @@ -120,6 +150,7 @@ const extraMethods = { } return result; }, + }; module.exports = generateService(models.User, extraMethods);