País en perfil del usuario

This commit is contained in:
David Arranz 2023-06-14 11:34:19 +02:00
parent 59b60e9ca6
commit c48f415385
4 changed files with 54 additions and 200 deletions

View File

@ -42,29 +42,15 @@ async function login(req, res, next) {
user: req.user, user: req.user,
}; };
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(response, null, req.params, res, httpStatus.OK);
response,
null,
req.params,
res,
httpStatus.OK
);
} catch (error) { } catch (error) {
return controllerHelper.handleErrorResponse( return controllerHelper.handleErrorResponse(MODULE_NAME, login.name, error, res);
MODULE_NAME,
login.name,
error,
res
);
} }
} }
async function loginWithPhone(req, res, next) { async function loginWithPhone(req, res, next) {
try { try {
const appVersion = const appVersion = req && req.headers && req.headers["accept-version"] ? req.headers["accept-version"] : null;
req && req.headers && req.headers["accept-version"]
? req.headers["accept-version"]
: null;
console.log("loginWithPhone - appVersion: ", appVersion); console.log("loginWithPhone - appVersion: ", appVersion);
console.log(req.user); console.log(req.user);
@ -74,17 +60,12 @@ async function loginWithPhone(req, res, next) {
}; };
//Comprobamos si el usuario ya existe en nuestro sistema //Comprobamos si el usuario ya existe en nuestro sistema
let _user = await authService.extraMethods.findUserByPhone( let _user = await authService.extraMethods.findUserByPhone(req.user.phoneNumber);
req.user.phoneNumber
);
if (_user) { if (_user) {
_user = _user.toJSON(); _user = _user.toJSON();
if (appVersion) { if (appVersion) {
if (_user.app_version != appVersion) { if (_user.app_version != appVersion) {
userService._updateLastLoginAndVersionUser( userService._updateLastLoginAndVersionUser(_user.id, appVersion);
_user.id,
appVersion
);
_user.app_version = appVersion; _user.app_version = appVersion;
} }
} }
@ -101,46 +82,21 @@ async function loginWithPhone(req, res, next) {
//Recuperamos el número de tickets para los proximos eventos //Recuperamos el número de tickets para los proximos eventos
try { try {
const result = const result = await eventInscriptionService._getInscriptionsOfNextEventsUser(_user.id);
await eventInscriptionService._getInscriptionsOfNextEventsUser(
_user.id
);
console.log("Entradas del usuario", result); console.log("Entradas del usuario", result);
_user.nextTicketsCount = result; _user.nextTicketsCount = result;
} catch (error) { } catch (error) {
console.error(error); console.error(error);
return controllerHelper.handleErrorResponse( return controllerHelper.handleErrorResponse(MODULE_NAME, "getInscriptionsOfNextEventsCount", error, res);
MODULE_NAME,
"getInscriptionsOfNextEventsCount",
error,
res
);
} }
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(_user, null, req.params, res, httpStatus.OK);
_user,
null,
req.params,
res,
httpStatus.OK
);
} else { } else {
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(null, null, req.params, res, httpStatus.NOT_FOUND);
null,
null,
req.params,
res,
httpStatus.NOT_FOUND
);
} }
} catch (error) { } catch (error) {
console.error(error); console.error(error);
return controllerHelper.handleErrorResponse( return controllerHelper.handleErrorResponse(MODULE_NAME, login.name, error, res);
MODULE_NAME,
login.name,
error,
res
);
} }
} }
@ -159,10 +115,7 @@ async function register(req, res, next) {
fbuid: req.body.fbuid, fbuid: req.body.fbuid,
}; };
const appVersion = const appVersion = req && req.headers && req.headers["accept-version"] ? req.headers["accept-version"] : null;
req && req.headers && req.headers["accept-version"]
? req.headers["accept-version"]
: null;
console.log("register - appVersion: ", appVersion); console.log("register - appVersion: ", appVersion);
//Comprobamos si el usuario ya existe en nuestro sistema //Comprobamos si el usuario ya existe en nuestro sistema
@ -179,6 +132,7 @@ async function register(req, res, next) {
entityId: req.body.entityid, entityId: req.body.entityid,
accessibility: req.body.accessibility, accessibility: req.body.accessibility,
profile: req.body.profile, profile: req.body.profile,
country: req.body.country ? req.body.country : "ES",
app_version: appVersion, app_version: appVersion,
lastlogin: moment().utc(), lastlogin: moment().utc(),
}; };
@ -190,12 +144,7 @@ async function register(req, res, next) {
console.log("CREAMOS EL USUARIO EN NUESTRO SISTEMA", newUser); console.log("CREAMOS EL USUARIO EN NUESTRO SISTEMA", newUser);
} catch (error) { } catch (error) {
console.error(error); console.error(error);
return controllerHelper.handleErrorResponse( return controllerHelper.handleErrorResponse(MODULE_NAME, register.name, error, res);
MODULE_NAME,
register.name,
error,
res
);
} }
} else { } else {
console.log("EXISTE"); console.log("EXISTE");
@ -218,15 +167,8 @@ async function register(req, res, next) {
console.log("MODIFICAMOS EL USUARIO EN NUESTRO SISTEMA", newUser); console.log("MODIFICAMOS EL USUARIO EN NUESTRO SISTEMA", newUser);
} catch (error) { } catch (error) {
console.error(error); console.error(error);
return controllerHelper.handleErrorResponse( return controllerHelper.handleErrorResponse(MODULE_NAME, register.name, error, res);
MODULE_NAME,
register.name,
error,
res
);
} }
} }
if (newUser) { if (newUser) {
@ -234,10 +176,7 @@ async function register(req, res, next) {
newUser = cleanAdminData(newUser); newUser = cleanAdminData(newUser);
if (appVersion) { if (appVersion) {
if (newUser.app_version != appVersion) { if (newUser.app_version != appVersion) {
const result = await userService._updateLastLoginAndVersionUser( const result = await userService._updateLastLoginAndVersionUser(newUser.id, appVersion);
newUser.id,
appVersion
);
newUser.app_version = appVersion; newUser.app_version = appVersion;
} }
} }
@ -254,22 +193,14 @@ async function register(req, res, next) {
console.log("COMO YA EXISTE CREAMOS EL TOKEN Y LO ASIGNAMOS", newUser); console.log("COMO YA EXISTE CREAMOS EL TOKEN Y LO ASIGNAMOS", newUser);
} }
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(newUser, null, req.params, res, httpStatus.OK);
newUser,
null,
req.params,
res,
httpStatus.OK
);
} }
async function regenerateToken(req, res, next) { async function regenerateToken(req, res, next) {
const refreshToken = req.body.token; const refreshToken = req.body.token;
const phone = req.body.phone; const phone = req.body.phone;
const email = req.body.email; const email = req.body.email;
const user = await authService.extraMethods.findUserByRefreshToken( const user = await authService.extraMethods.findUserByRefreshToken(refreshToken);
refreshToken
);
console.debug(user, req.body); console.debug(user, req.body);
@ -283,69 +214,30 @@ async function regenerateToken(req, res, next) {
try { try {
const tokens = securityHelper.generateToken(tokenData); const tokens = securityHelper.generateToken(tokenData);
await authService.extraMethods.updateUserRefreshToken( await authService.extraMethods.updateUserRefreshToken(user.id, tokens.refreshToken);
user.id,
tokens.refreshToken
);
const result = { token: tokens.token }; const result = { token: tokens.token };
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(result, null, req.params, res, httpStatus.OK);
result,
null,
req.params,
res,
httpStatus.OK
);
} catch (error) { } catch (error) {
return controllerHelper.handleErrorResponse( return controllerHelper.handleErrorResponse(MODULE_NAME, regenerateToken.name, error, res);
MODULE_NAME,
regenerateToken.name,
error,
res
);
} }
} else { } else {
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(null, null, req.params, res, httpStatus.UNAUTHORIZED);
null,
null,
req.params,
res,
httpStatus.UNAUTHORIZED
);
} }
} }
async function rejectToken(req, res, next) { async function rejectToken(req, res, next) {
const refreshToken = req.body.refreshToken; const refreshToken = req.body.refreshToken;
const user = await authService.extraMethods.findUserByRefreshToken( const user = await authService.extraMethods.findUserByRefreshToken(refreshToken);
refreshToken
);
if (user && user.token === refreshToken) { if (user && user.token === refreshToken) {
try { try {
await authService.extraMethods.deleteRefreshToken(refreshToken); await authService.extraMethods.deleteRefreshToken(refreshToken);
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(null, null, req.params, res, httpStatus.OK);
null,
null,
req.params,
res,
httpStatus.OK
);
} catch (error) { } catch (error) {
return controllerHelper.handleErrorResponse( return controllerHelper.handleErrorResponse(MODULE_NAME, rejectToken.name, error, res);
MODULE_NAME,
rejectToken.name,
error,
res
);
} }
} else { } else {
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(null, null, req.params, res, httpStatus.NOT_FOUND);
null,
null,
req.params,
res,
httpStatus.NOT_FOUND
);
} }
} }
@ -359,21 +251,13 @@ async function singup(req, res, next) {
name: req.body.name, name: req.body.name,
surname: req.body.surname, surname: req.body.surname,
level: 8, level: 8,
password: crypto password: crypto.createHash("sha512").update(req.body.password).digest("hex"),
.createHash("sha512")
.update(req.body.password)
.digest("hex"),
}; };
newUser = await authService.extraMethods.createUser(data); newUser = await authService.extraMethods.createUser(data);
} catch (error) { } catch (error) {
console.error(error); console.error(error);
return controllerHelper.handleErrorResponse( return controllerHelper.handleErrorResponse(MODULE_NAME, register.name, error, res);
MODULE_NAME,
register.name,
error,
res
);
} }
if (newUser) { if (newUser) {
@ -390,23 +274,11 @@ async function singup(req, res, next) {
newUser.token = tokens.token; newUser.token = tokens.token;
} }
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(newUser, null, req.params, res, httpStatus.OK);
newUser,
null,
req.params,
res,
httpStatus.OK
);
} }
function adminVerify(req, res, next) { function adminVerify(req, res, next) {
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse("OK", null, req.params, res, httpStatus.OK);
"OK",
null,
req.params,
res,
httpStatus.OK
);
} }
function verify(req, res, next) { function verify(req, res, next) {
@ -416,27 +288,10 @@ function verify(req, res, next) {
const fbuid = params.query.fbuid; const fbuid = params.query.fbuid;
const user = req.user; const user = req.user;
if ( if (user && user.phone === phone && user.email === email && user.fbuid === fbuid) {
user && return controllerHelper.handleResultResponse(user, null, req.params, res, httpStatus.OK);
user.phone === phone &&
user.email === email &&
user.fbuid === fbuid
) {
return controllerHelper.handleResultResponse(
user,
null,
req.params,
res,
httpStatus.OK
);
} else { } else {
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(null, null, req.params, res, httpStatus.UNAUTHORIZED);
null,
null,
req.params,
res,
httpStatus.UNAUTHORIZED
);
} }
} }
@ -490,32 +345,20 @@ async function getOrCreateUser(req, res, next) {
); );
} }
} catch (error) { } catch (error) {
return controllerHelper.handleErrorResponse( return controllerHelper.handleErrorResponse(MODULE_NAME, "getOrCreateUser", error, res);
MODULE_NAME,
"getOrCreateUser",
error,
res
);
} }
//console.log(">>>>>>>>>>>>>>>>>>>> getOrCreateUser", dataUser.userResult.user.Entity); //console.log(">>>>>>>>>>>>>>>>>>>> getOrCreateUser", dataUser.userResult.user.Entity);
//Refrescamos datos que nos interesan //Refrescamos datos que nos interesan
dataUser.id = dataUser.userResult.user.id; dataUser.id = dataUser.userResult.user.id;
dataUser.entityId = dataUser.userResult.user.Entity dataUser.entityId = dataUser.userResult.user.Entity ? dataUser.userResult.user.Entity.id : null;
? dataUser.userResult.user.Entity.id dataUser.entityName = dataUser.userResult.user.Entity ? dataUser.userResult.user.Entity.name : "DEFAULT";
: null; dataUser.entityLevel = dataUser.userResult.user.Entity ? dataUser.userResult.user.Entity.level : null;
dataUser.entityName = dataUser.userResult.user.Entity
? dataUser.userResult.user.Entity.name
: "DEFAULT";
dataUser.entityLevel = dataUser.userResult.user.Entity
? dataUser.userResult.user.Entity.level
: null;
dataUser.email = dataUser.userResult.user ? dataUser.userResult.user.email : null; dataUser.email = dataUser.userResult.user ? dataUser.userResult.user.email : null;
dataUser.phone = dataUser.userResult.user ? dataUser.userResult.user.phone : null; //((req.body.phone != '+34') ? req.body.phone : null), lo quitamos de momento por la de movistar dataUser.phone = dataUser.userResult.user ? dataUser.userResult.user.phone : null; //((req.body.phone != '+34') ? req.body.phone : null), lo quitamos de momento por la de movistar
dataUser.name = dataUser.userResult.user ? dataUser.userResult.user.name : null; dataUser.name = dataUser.userResult.user ? dataUser.userResult.user.name : null;
dataUser.surname = dataUser.userResult.user ? dataUser.userResult.user.surname : null; dataUser.surname = dataUser.userResult.user ? dataUser.userResult.user.surname : null;
;
//Reasignamos a variable de entorno //Reasignamos a variable de entorno
res.locals.dataUser = dataUser; res.locals.dataUser = dataUser;
next(); next();
@ -533,7 +376,12 @@ async function deleteUser(req, res, next) {
if (resultCount < 1) { if (resultCount < 1) {
// No se ha encontrado // No se ha encontrado
return controllerHelper.handleResultResponse( return controllerHelper.handleResultResponse(
"No se ha podido encontrar el usuario", null, params, res, httpStatus.NOT_FOUND); "No se ha podido encontrar el usuario",
null,
params,
res,
httpStatus.NOT_FOUND
);
} }
// Delete in Sendinblue // Delete in Sendinblue

View File

@ -24,6 +24,7 @@ const RegisterInputType = Joi.object().keys({
entityid: Joi.string().allow(null), entityid: Joi.string().allow(null),
profile_picture: Joi.string().allow(null), profile_picture: Joi.string().allow(null),
profile: Joi.string().allow(null), profile: Joi.string().allow(null),
country: Joi.string().allow(null),
}); });
const LoginOutputType = Joi.object().keys({ const LoginOutputType = Joi.object().keys({

View File

@ -1,9 +1,6 @@
"use strict"; "use strict";
const { const { isValidPassword, generateHashPassword } = require("../../helpers/security.helper");
isValidPassword,
generateHashPassword,
} = require("../../helpers/security.helper");
module.exports = function (sequelize, DataTypes) { module.exports = function (sequelize, DataTypes) {
const User = sequelize.define( const User = sequelize.define(
@ -67,6 +64,10 @@ module.exports = function (sequelize, DataTypes) {
type: DataTypes.DATE, type: DataTypes.DATE,
defaultValue: null, defaultValue: null,
}, },
country: {
type: DataTypes.STRING,
defaultValue: "ES",
},
}, },
{ {
tableName: "users", tableName: "users",

View File

@ -24,7 +24,11 @@ module.exports = function (sequelize, DataTypes) {
}, },
level: { level: {
type: DataTypes.STRING, type: DataTypes.STRING,
} },
country: {
type: DataTypes.STRING,
defaultValue: "ES",
},
}, { }, {
tableName: 'entities', tableName: 'entities',
freezeTableName: true, freezeTableName: true,