From 33f8152cf5b5ce4e9eedfaa31076af8df2dbbdba Mon Sep 17 00:00:00 2001 From: Moran Date: Thu, 19 Feb 2026 11:43:52 -0300 Subject: [PATCH] =?UTF-8?q?fix:=20corrigir=20edi=C3=A7=C3=A3o=20de=20tombo?= =?UTF-8?q?=20(PUT=20/api/tombos/:id)=20falhando=20com=20PostgreSQL=20-=20?= =?UTF-8?q?Normalizar=20tipo=5Fusuario=5Fid=20para=20Number=20no=20tokens-?= =?UTF-8?q?middleware=20ap=C3=B3s=20=20=20decodificar=20JWT,=20corrigindo?= =?UTF-8?q?=20compara=C3=A7=C3=B5es=20=3D=3D=3D=20no=20controller=20-=20Al?= =?UTF-8?q?terar=20tipo=20de=20ativo/identificacao=20de=20BOOLEAN=20para?= =?UTF-8?q?=20SMALLINT=20no=20=20=20modelo=20Alteracao=20para=20correspond?= =?UTF-8?q?er=20=C3=A0=20coluna=20smallint=20do=20PostgreSQL=20-=20Corrigi?= =?UTF-8?q?r=20valores=20ativo:=20true=20=E2=86=92=20ativo:=201=20nos=20Al?= =?UTF-8?q?teracao.create()=20do=20=20=20tombos-controller=20-=20Usar=20Nu?= =?UTF-8?q?mber()=20na=20compara=C3=A7=C3=A3o=20cidade=5Fid=20no=20pendenc?= =?UTF-8?q?ias-controller=20para=20=20=20evitar=20mismatch=20de=20tipos=20?= =?UTF-8?q?string=20vs=20integer=20-=20Corrigir=20query=20Tombo.findOne=20?= =?UTF-8?q?para=20usar=20ativo:=20true=20(boolean)=20ao=20=20=20inv=C3=A9s?= =?UTF-8?q?=20de=20ativo:=201=20(integer)=20no=20pendencias-controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/pendencias-controller.js | 4 ++-- src/controllers/tombos-controller.js | 6 +++--- src/middlewares/tokens-middleware.js | 3 ++- src/models/Alteracao.js | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/controllers/pendencias-controller.js b/src/controllers/pendencias-controller.js index 93d9bce1..520a3fa9 100644 --- a/src/controllers/pendencias-controller.js +++ b/src/controllers/pendencias-controller.js @@ -1370,7 +1370,7 @@ export const aprovarPendencia = async (alteracao, hcf, transaction) => { : tomboAtual.cidade_id; if (cidadeRefId !== undefined && cidadeRefId !== null) { - if (localColeta.cidade_id !== cidadeRefId) { + if (Number(localColeta.cidade_id) !== Number(cidadeRefId)) { throw new BadRequestExeption(535); } } @@ -1573,7 +1573,7 @@ export const aprovarPendencia = async (alteracao, hcf, transaction) => { } const tomboFinal = await Tombo.findOne({ - where: { hcf, ativo: 1 }, + where: { hcf, ativo: true }, transaction, raw: true, nest: true, diff --git a/src/controllers/tombos-controller.js b/src/controllers/tombos-controller.js index 411fdbc5..b5c64623 100644 --- a/src/controllers/tombos-controller.js +++ b/src/controllers/tombos-controller.js @@ -397,7 +397,7 @@ export const cadastro = (request, response, next) => { usuario_id: request.usuario.id, status, tombo_json: JSON.stringify(tomboData), - ativo: true, + ativo: 1, identificacao: 1, }; tomboCriado = tombo; @@ -486,7 +486,7 @@ function alteracaoIdentificador(request, transaction) { usuario_id: request.usuario.id, status: 'ESPERANDO', tombo_json: JSON.stringify(update), - ativo: true, + ativo: 1, identificacao: 1, }, { transaction })) .then(alteracaoIdent => { @@ -612,7 +612,7 @@ function alteracaoCuradorouOperador(request, response, transaction) { usuario_id: request.usuario.id, status: 'ESPERANDO', tombo_json: JSON.stringify(update), - ativo: true, + ativo: 1, identificacao: 1, }, { transaction }) .then(alteracaoCriada => { diff --git a/src/middlewares/tokens-middleware.js b/src/middlewares/tokens-middleware.js index d05760af..74d68cd6 100644 --- a/src/middlewares/tokens-middleware.js +++ b/src/middlewares/tokens-middleware.js @@ -21,8 +21,9 @@ export default (tipoUsuarioPermitido = []) => } const usuario = decodificaTokenUsuario(token); + usuario.tipo_usuario_id = Number(usuario.tipo_usuario_id); - const estaPermitido = !Array.isArray(tipoUsuarioPermitido) || tipoUsuarioPermitido.length < 1 || tipoUsuarioPermitido.includes(Number(usuario.tipo_usuario_id)); + const estaPermitido = !Array.isArray(tipoUsuarioPermitido) || tipoUsuarioPermitido.length < 1 || tipoUsuarioPermitido.includes(usuario.tipo_usuario_id); if (!estaPermitido) { throw new ForbiddenException(102); diff --git a/src/models/Alteracao.js b/src/models/Alteracao.js index a9ca6974..dc9af655 100644 --- a/src/models/Alteracao.js +++ b/src/models/Alteracao.js @@ -41,11 +41,11 @@ export default (Sequelize, DataTypes) => { allowNull: false, }, ativo: { - type: DataTypes.BOOLEAN, + type: DataTypes.SMALLINT, allowNull: true, }, identificacao: { - type: DataTypes.BOOLEAN, + type: DataTypes.SMALLINT, allowNull: true, }, };