-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix role middleware #61
Conversation
…nstead two (req, res)
…n inclide property on sequelize query both isOwner and isAdminRole
@@ -1,3 +1,4 @@ | |||
node_modules | |||
.env | |||
docker-compose.yaml | |||
docker_schemas |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Esto está en otro PR.
@@ -14,15 +12,19 @@ class RoleMiddleware { | |||
} | |||
|
|||
try { | |||
const { email } = Token.decryptJWT(req, res); | |||
const { email } = Token.decryptJWT(authToken); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Es más limpio centralizar el manejo de token en Token que es cada middleware, esto rompe encapsulación(peor de lo que estaba).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@noisyBrain como es considerado un nit este caso y lo necesitan para seguir se aprueba.
isOwner method
Ahora el método decrytJWT se le pasa un argumento (authToken) en vez de dos (req, res)
En la query de Sequelize:
En el attribute firstname se capitaliza la “N”, quedando como firstName
Se agregan los [] a la propiedad include
Se agrega el parámetro through antes de la búsqueda por atributos (attributes: ['name'])
En el condicional que comprueba el nombre del Rol del usuario que es hayado, se capitaliza la R, quedando if (user.Role.name) en lugar de if (user.role.name)
Se añade el email (que llega desde el token) a la req para luego desestructurarlo en el método getData del UserController.
La comprobación para saber si el id del usuario encontrado coincide con el id enviado por params se elimina ya que causa un bug en el flujo de trabajo, queda sujeto a revisión posterior.
isAdminRole
En la query de Sequelize:
En el attribute firstname se capitaliza la “N”, quedando como firstName
Se agregan los [] a la propiedad include
Se agrega el parámetro through antes de la búsqueda por atributos (attributes: ['name'])
En el condicional que comprueba el nombre del Rol del usuario que es hayado, se capitaliza la R, quedando if (user.Role.name) en lugar de if (user.role.name)
Se añade el email (que llega desde el token) a la req para luego desestructurarlo en el método getData del UserController.