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

View File

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

View File

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

View File

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