From 33f8152cf5b5ce4e9eedfaa31076af8df2dbbdba Mon Sep 17 00:00:00 2001 From: Moran Date: Thu, 19 Feb 2026 11:43:52 -0300 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20corrigir=20edi=C3=A7=C3=A3o=20de=20t?= =?UTF-8?q?ombo=20(PUT=20/api/tombos/:id)=20falhando=20com=20PostgreSQL=20?= =?UTF-8?q?-=20Normalizar=20tipo=5Fusuario=5Fid=20para=20Number=20no=20tok?= =?UTF-8?q?ens-middleware=20ap=C3=B3s=20=20=20decodificar=20JWT,=20corrigi?= =?UTF-8?q?ndo=20compara=C3=A7=C3=B5es=20=3D=3D=3D=20no=20controller=20-?= =?UTF-8?q?=20Alterar=20tipo=20de=20ativo/identificacao=20de=20BOOLEAN=20p?= =?UTF-8?q?ara=20SMALLINT=20no=20=20=20modelo=20Alteracao=20para=20corresp?= =?UTF-8?q?onder=20=C3=A0=20coluna=20smallint=20do=20PostgreSQL=20-=20Corr?= =?UTF-8?q?igir=20valores=20ativo:=20true=20=E2=86=92=20ativo:=201=20nos?= =?UTF-8?q?=20Alteracao.create()=20do=20=20=20tombos-controller=20-=20Usar?= =?UTF-8?q?=20Number()=20na=20compara=C3=A7=C3=A3o=20cidade=5Fid=20no=20pe?= =?UTF-8?q?ndencias-controller=20para=20=20=20evitar=20mismatch=20de=20tip?= =?UTF-8?q?os=20string=20vs=20integer=20-=20Corrigir=20query=20Tombo.findO?= =?UTF-8?q?ne=20para=20usar=20ativo:=20true=20(boolean)=20ao=20=20=20inv?= =?UTF-8?q?=C3=A9s=20de=20ativo:=201=20(integer)=20no=20pendencias-control?= =?UTF-8?q?ler?= 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, }, }; From 583e2633fb72f2a82f8a1bba3ee5a571a47cfa93 Mon Sep 17 00:00:00 2001 From: Moran Date: Thu, 19 Feb 2026 15:04:44 -0300 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20compara=C3=A7=C3=A3o=20de=20tipos=20?= =?UTF-8?q?na=20valida=C3=A7=C3=A3o=20do=20local=20de=20coleta?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/tombos-controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/tombos-controller.js b/src/controllers/tombos-controller.js index b5c64623..60597178 100644 --- a/src/controllers/tombos-controller.js +++ b/src/controllers/tombos-controller.js @@ -151,7 +151,7 @@ export const cadastro = (request, response, next) => { if (!localColeta) { throw new BadRequestExeption(533); } - if (localColeta.cidade_id !== localidade.cidade_id) { + if (Number(localColeta.cidade_id) !== Number(localidade.cidade_id)) { throw new BadRequestExeption(535); } } From a98424f7585589034d92b26fbf415ad22a677517 Mon Sep 17 00:00:00 2001 From: Moran Date: Thu, 19 Feb 2026 15:04:44 -0300 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20compara=C3=A7=C3=A3o=20de=20tipos=20?= =?UTF-8?q?na=20valida=C3=A7=C3=A3o=20do=20local=20de=20coleta?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/tombos-controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/tombos-controller.js b/src/controllers/tombos-controller.js index b5c64623..60597178 100644 --- a/src/controllers/tombos-controller.js +++ b/src/controllers/tombos-controller.js @@ -151,7 +151,7 @@ export const cadastro = (request, response, next) => { if (!localColeta) { throw new BadRequestExeption(533); } - if (localColeta.cidade_id !== localidade.cidade_id) { + if (Number(localColeta.cidade_id) !== Number(localidade.cidade_id)) { throw new BadRequestExeption(535); } }