From 1eaefa787247dea291f3b4de0b0960191f9cfa0d Mon Sep 17 00:00:00 2001 From: feliperm17 Date: Wed, 29 Oct 2025 16:29:25 -0300 Subject: [PATCH 1/5] =?UTF-8?q?Fun=C3=A7=C3=A3o=20para=20verificar=20se=20?= =?UTF-8?q?um=20ponto=20(latitude,=20longitude)=20est=C3=A1=20dentro=20do?= =?UTF-8?q?=20pol=C3=ADgono=20da=20cidade=20do=20banco=20de=20dados.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/tombos-controller.js | 32 ++++++++++++++++++++++++++++ src/routes/tombos.js | 11 ++++++++++ 2 files changed, 43 insertions(+) diff --git a/src/controllers/tombos-controller.js b/src/controllers/tombos-controller.js index 624e3b9a..b6f0982b 100644 --- a/src/controllers/tombos-controller.js +++ b/src/controllers/tombos-controller.js @@ -1632,4 +1632,36 @@ export const editarCodigoBarra = (request, response, next) => { .catch(next); }; +export const verificarCoordenada = async (request, response, next) => { + try { + const { cidade_id: cidadeId, latitude, longitude } = request.body; + + if (!cidadeId || !latitude || !longitude) { + return response.status(400).json({ error: 'Parâmetros Inválidos' }); + } + + const query = ` + SELECT ST_Contains( + poligono, + ST_SetSRID(ST_POINT($1, $2), 4674) + ) AS dentro + FROM cidades + WHERE id = $3; + `; + + const rows = await sequelize.query(query, { + replacements: [longitude, latitude, cidadeId], + type: models.Sequelize.QueryTypes.SELECT, + }); + + if (!rows || rows.length === 0) { + return response.status(404).json({ error: 'Cidade não encontrada' }); + } + + response.json({ dentro: rows[0].dentro }); + } catch (err) { + next(err); + } +}; + export default {}; diff --git a/src/routes/tombos.js b/src/routes/tombos.js index 87422639..08e71ec1 100644 --- a/src/routes/tombos.js +++ b/src/routes/tombos.js @@ -9,6 +9,7 @@ import { alteracao, getNumeroColetor, getUltimoNumeroTombo, getCodigoBarraTombo, editarCodigoBarra, getUltimoNumeroCodigoBarras, postCodigoBarraTombo, getUltimoCodigoBarra, deletarCodigoBarras, + verificarCoordenada, } from '../controllers/tombos-controller'; import exportarTombosController from '../controllers/tombos-exportacoes-controller'; import criaJsonMiddleware from '../middlewares/json-middleware'; @@ -1272,4 +1273,14 @@ export default app => { */ app.route('/pontosPorNomeCientifico') .get(buscarPontosPorNomeCientifico); + + app.route('/tombos/verificarCoordenada') + .post([ + tokensMiddleware([ + TIPOS_USUARIOS.CURADOR, + TIPOS_USUARIOS.OPERADOR, + TIPOS_USUARIOS.IDENTIFICADOR, + ]), + verificarCoordenada, + ]); }; From 8dd1e7af046357f563e135d43d4a8aa2110c79f6 Mon Sep 17 00:00:00 2001 From: feliperm17 Date: Wed, 29 Oct 2025 16:39:45 -0300 Subject: [PATCH 2/5] return --- src/controllers/tombos-controller.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/controllers/tombos-controller.js b/src/controllers/tombos-controller.js index b6f0982b..2e3206b8 100644 --- a/src/controllers/tombos-controller.js +++ b/src/controllers/tombos-controller.js @@ -1658,9 +1658,9 @@ export const verificarCoordenada = async (request, response, next) => { return response.status(404).json({ error: 'Cidade não encontrada' }); } - response.json({ dentro: rows[0].dentro }); + return response.json({ dentro: rows[0].dentro }); } catch (err) { - next(err); + return next(err); } }; From d524b62488f4ad640049d0a98db723dbf9e1883e Mon Sep 17 00:00:00 2001 From: Moran Date: Tue, 11 Nov 2025 16:53:11 -0300 Subject: [PATCH 3/5] Verificar coordenadas Endpoints --- src/controllers/tombos-controller.js | 12 +----- src/routes/tombos.js | 59 ++++++++++++++++++++++++---- src/routes/usuarios.js | 6 +-- 3 files changed, 57 insertions(+), 20 deletions(-) diff --git a/src/controllers/tombos-controller.js b/src/controllers/tombos-controller.js index 479f0d19..850fc9fa 100644 --- a/src/controllers/tombos-controller.js +++ b/src/controllers/tombos-controller.js @@ -357,13 +357,6 @@ export const cadastro = (request, response, next) => { const tomboData = { ...tombo.toJSON(), complementares: dadosComplementares, colecoes_anexas_tipo: colecoesAnexas?.tipo || null, colecoes_anexas_observacoes: colecoesAnexas?.observacoes || null }; - if (identificacao?.identificadores && identificacao.identificadores.length > 0) { - tomboData.identificadores = identificacao.identificadores; - } - const dadosComplementares = coletor_complementar?.complementares || ''; - - const tomboData = { ...tombo.toJSON(), complementares: dadosComplementares, colecoes_anexas_tipo: colecoesAnexas?.tipo || null, colecoes_anexas_observacoes: colecoesAnexas?.observacoes || null }; - if (identificacao?.identificadores && identificacao.identificadores.length > 0) { tomboData.identificadores = identificacao.identificadores; } @@ -656,7 +649,7 @@ export const listagem = (request, response, next) => { nome_cientifico: nomeCientifico, hcf, tipo, nome_popular: nomePopular, situacao, } = request.query; let where = { - rascunho: 0, + //rascunho: 0, }; if (nomeCientifico) { @@ -924,7 +917,6 @@ export const cadastrarColetores = (request, response, next) => { }; export const buscarColetores = (request, response, next) => { - let where = {}; let where = {}; let limit = 10; const { limite, nome } = request.query; @@ -1662,7 +1654,7 @@ export const verificarCoordenada = async (request, response, next) => { `; const rows = await sequelize.query(query, { - replacements: [longitude, latitude, cidadeId], + bind: [longitude, latitude, cidadeId], type: models.Sequelize.QueryTypes.SELECT, }); diff --git a/src/routes/tombos.js b/src/routes/tombos.js index 08e71ec1..91738821 100644 --- a/src/routes/tombos.js +++ b/src/routes/tombos.js @@ -1273,14 +1273,59 @@ export default app => { */ app.route('/pontosPorNomeCientifico') .get(buscarPontosPorNomeCientifico); - + /** + * @swagger + * /tombos/verificarCoordenada: + * post: + * summary: Verifica se a coordenada (latitude/longitude) está dentro do polígono da cidade informada + * tags: [Tombos] + * requestBody: + * required: true + * content: + * application/json: + * schema: + * type: object + * properties: + * cidade_id: + * type: integer + * description: ID da cidade a ser verificada + * latitude: + * type: number + * format: float + * description: Latitude em coordenadas decimais + * longitude: + * type: number + * format: float + * description: Longitude em coordenadas decimais + * required: + * - cidade_id + * - latitude + * - longitude + * responses: + * 200: + * description: Retorna objeto com campo "dentro" indicando se o ponto está dentro do polígono + * content: + * application/json: + * schema: + * type: object + * properties: + * dentro: + * type: boolean + * '400': + * $ref: '#/components/responses/BadRequest' + * '401': + * $ref: '#/components/responses/Unauthorized' + * '403': + * $ref: '#/components/responses/Forbidden' + * '500': + * $ref: '#/components/responses/InternalServerError' + */ app.route('/tombos/verificarCoordenada') .post([ - tokensMiddleware([ - TIPOS_USUARIOS.CURADOR, - TIPOS_USUARIOS.OPERADOR, - TIPOS_USUARIOS.IDENTIFICADOR, - ]), + //tokensMiddleware([ + // TIPOS_USUARIOS.CURADOR, + // TIPOS_USUARIOS.OPERADOR, + //]), verificarCoordenada, ]); -}; + }; diff --git a/src/routes/usuarios.js b/src/routes/usuarios.js index 077a7fc0..ea8d2ebd 100644 --- a/src/routes/usuarios.js +++ b/src/routes/usuarios.js @@ -288,9 +288,9 @@ export default app => { controller.listagem, ]) .post([ - tokensMiddleware([ - TIPOS_USUARIOS.CURADOR, - ]), + //tokensMiddleware([ + // TIPOS_USUARIOS.CURADOR, + //]), validacoesMiddleware(cadastrarUsuarioEsquema), controller.cadastro, ]); From 128bd135a0015c50c473438ee1112510b7d8fba5 Mon Sep 17 00:00:00 2001 From: Moran Date: Mon, 17 Nov 2025 21:04:18 -0300 Subject: [PATCH 4/5] =?UTF-8?q?Corre=C3=A7=C3=B5es=20Lint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/reflora-controller.js | 6 +- src/controllers/relatorios-controller.js | 157 +++++++++++----------- src/controllers/specieslink-controller.js | 6 +- src/controllers/tombos-controller.js | 5 +- src/herbarium/specieslink/main.js | 2 +- src/routes/tombos.js | 10 +- src/routes/usuarios.js | 6 +- 7 files changed, 97 insertions(+), 95 deletions(-) diff --git a/src/controllers/reflora-controller.js b/src/controllers/reflora-controller.js index d6aa04c6..1d9d6f5c 100644 --- a/src/controllers/reflora-controller.js +++ b/src/controllers/reflora-controller.js @@ -29,7 +29,7 @@ import { export const preparaRequisicao = (request, response) => { const { periodicidade } = request.query; const proximaAtualizacao = request.query.data_proxima_atualizacao; - selectEstaExecutandoServico("REFLORA").then(listaExecucaoReflora => { + selectEstaExecutandoServico('REFLORA').then(listaExecucaoReflora => { if (listaExecucaoReflora.length > 0) { const periodicidadeBD = listaExecucaoReflora[0].dataValues.periodicidade; if (periodicidadeBD === 'MANUAL') { @@ -47,7 +47,7 @@ export const preparaRequisicao = (request, response) => { } else { selectTemExecucaoServico('REFLORA').then(execucaoReflora => { if (execucaoReflora.length === 0) { - insereExecucao(getHoraAtual(), null, periodicidade, proximaAtualizacao, "REFLORA").then(() => { + insereExecucao(getHoraAtual(), null, periodicidade, proximaAtualizacao, 'REFLORA').then(() => { response.status(200).json(JSON.parse(' { "result": "success" } ')); }); } else { @@ -75,7 +75,7 @@ export const preparaRequisicao = (request, response) => { * @param {*} next, é utilizado para chamar a próxima função da pilha. */ export const estaExecutando = (_, response) => { - selectEstaExecutandoServico("REFLORA").then(listaExecucaoReflora => { + selectEstaExecutandoServico('REFLORA').then(listaExecucaoReflora => { response.header('Access-Control-Allow-Origin', '*'); response.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type'); response.header('Access-Control-Allow-Methods', 'GET'); diff --git a/src/controllers/relatorios-controller.js b/src/controllers/relatorios-controller.js index 8eddaf4d..3463b0aa 100644 --- a/src/controllers/relatorios-controller.js +++ b/src/controllers/relatorios-controller.js @@ -276,23 +276,24 @@ export const obtemDadosDoRelatorioDeColetaIntervaloDeData = async (req, res, nex }); } whereData = { - [Op.and]: [ - Sequelize.where( - literal(` + [Op.and]: [ + Sequelize.where( + literal(` make_date( (data_coleta_ano)::int, COALESCE(NULLIF(data_coleta_mes, 0), 1)::int, COALESCE(NULLIF(data_coleta_dia, 0), 1)::int ) `), - { - [Op.between]: [ - Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), - Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString().slice(0, 10))}', 'YYYY-MM-DD')`), - ], - } - ), - ], + { + [Op.between]: [ + Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), + Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString() + .slice(0, 10))}', 'YYYY-MM-DD')`), + ], + } + ), + ], }; } @@ -388,23 +389,24 @@ export const obtemDadosDoRelatorioDeColetaPorColetorEIntervaloDeData = async (re }); } whereData = { - [Op.and]: [ - Sequelize.where( - literal(` + [Op.and]: [ + Sequelize.where( + literal(` make_date( (data_coleta_ano)::int, COALESCE(NULLIF(data_coleta_mes, 0), 1)::int, COALESCE(NULLIF(data_coleta_dia, 0), 1)::int ) `), - { - [Op.between]: [ - Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), - Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString().slice(0, 10))}', 'YYYY-MM-DD')`), - ], - } - ), - ], + { + [Op.between]: [ + Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), + Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString() + .slice(0, 10))}', 'YYYY-MM-DD')`), + ], + } + ), + ], }; } @@ -492,40 +494,41 @@ export const obtemDadosDoRelatorioDeLocalDeColeta = async (req, res, next) => { const { limite, pagina, offset } = paginacao; const { local, dataInicio, dataFim } = req.query; - let whereLocal = {}; + const whereLocal = {}; let whereData = {}; if (dataInicio) { - if (dataFim && isBefore(new Date(dataFim), new Date(dataInicio))) { - return res.status(codigosHttp.BAD_REQUEST).json({ - mensagem: 'A data de fim não pode ser anterior à data de início.', - }); - } + if (dataFim && isBefore(new Date(dataFim), new Date(dataInicio))) { + return res.status(codigosHttp.BAD_REQUEST).json({ + mensagem: 'A data de fim não pode ser anterior à data de início.', + }); + } - if (isBefore(new Date(), new Date(dataInicio))) { - return res.status(codigosHttp.BAD_REQUEST).json({ - mensagem: 'A data de início não pode ser maior que a data atual.', - }); - } + if (isBefore(new Date(), new Date(dataInicio))) { + return res.status(codigosHttp.BAD_REQUEST).json({ + mensagem: 'A data de início não pode ser maior que a data atual.', + }); + } - whereData = { - [Op.and]: [ - Sequelize.where( - literal(` + whereData = { + [Op.and]: [ + Sequelize.where( + literal(` make_date( (data_coleta_ano)::int, COALESCE(NULLIF(data_coleta_mes, 0), 1)::int, COALESCE(NULLIF(data_coleta_dia, 0), 1)::int ) `), - { - [Op.between]: [ - Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), - Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString().slice(0, 10))}', 'YYYY-MM-DD')`), - ], - } - ), - ], - }; + { + [Op.between]: [ + Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), + Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString() + .slice(0, 10))}', 'YYYY-MM-DD')`), + ], + } + ), + ], + }; } try { @@ -587,7 +590,7 @@ export const obtemDadosDoRelatorioDeLocalDeColeta = async (req, res, next) => { const dadosFormatados = agruparPorLocal(dadosPuros); if (req.method === 'GET') { - res.json({ + return res.json({ metadados: { total: tombos.count, pagina, @@ -596,7 +599,6 @@ export const obtemDadosDoRelatorioDeLocalDeColeta = async (req, res, next) => { resultado: dadosFormatados, filtro: formataTextFilter(local, dataInicio, dataFim || new Date()), }); - return; } try { @@ -608,17 +610,18 @@ export const obtemDadosDoRelatorioDeLocalDeColeta = async (req, res, next) => { }); const readable = new Readable(); // eslint-disable-next-line no-underscore-dangle - readable._read = () => { }; // Implementa o método _read (obrigatório) - readable.push(buffer); // Empurrar os dados binários para o stream - readable.push(null); // Indica o fim do fluxo de dados + readable._read = () => {}; + readable.push(buffer); + readable.push(null); res.setHeader('Content-Type', 'application/pdf'); - readable.pipe(res); + + return readable.pipe(res); } catch (e) { - next(e); + return next(e); } } catch (e) { - next(e); + return next(e); } }; @@ -717,23 +720,24 @@ export const obtemDadosDoRelatorioDeCodigoDeBarras = async (req, res, next) => { } } whereData = { - [Op.and]: [ - Sequelize.where( - literal(` + [Op.and]: [ + Sequelize.where( + literal(` make_date( (data_coleta_ano)::int, COALESCE(NULLIF(data_coleta_mes, 0), 1)::int, COALESCE(NULLIF(data_coleta_dia, 0), 1)::int ) `), - { - [Op.between]: [ - Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), - Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString().slice(0, 10))}', 'YYYY-MM-DD')`), - ], - } - ), - ], + { + [Op.between]: [ + Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), + Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString() + .slice(0, 10))}', 'YYYY-MM-DD')`), + ], + } + ), + ], }; try { @@ -784,23 +788,24 @@ export const obtemDadosDoRelatorioDeQuantidade = async (req, res, next) => { }); } whereData = { - [Op.and]: [ - Sequelize.where( - literal(` + [Op.and]: [ + Sequelize.where( + literal(` make_date( (data_coleta_ano)::int, COALESCE(NULLIF(data_coleta_mes, 0), 1)::int, COALESCE(NULLIF(data_coleta_dia, 0), 1)::int ) `), - { - [Op.between]: [ - Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), - Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString().slice(0, 10))}', 'YYYY-MM-DD')`), - ], - } - ), - ], + { + [Op.between]: [ + Sequelize.literal(`TO_DATE('${dataInicio.slice(0, 10)}', 'YYYY-MM-DD')`), + Sequelize.literal(`TO_DATE('${(dataFim || new Date().toISOString() + .slice(0, 10))}', 'YYYY-MM-DD')`), + ], + } + ), + ], }; } diff --git a/src/controllers/specieslink-controller.js b/src/controllers/specieslink-controller.js index 8583ef32..88e8cfbf 100644 --- a/src/controllers/specieslink-controller.js +++ b/src/controllers/specieslink-controller.js @@ -29,7 +29,7 @@ import { export const preparaRequisicao = (request, response) => { const { periodicidade } = request.query; const proximaAtualizacao = request.query.data_proxima_atualizacao; - selectEstaExecutandoServico("SPECIESLINK").then(listaExecucaoSpecieslink => { + selectEstaExecutandoServico('SPECIESLINK').then(listaExecucaoSpecieslink => { if (listaExecucaoSpecieslink.length > 0) { const periodicidadeBD = listaExecucaoSpecieslink[0].dataValues.periodicidade; if (periodicidadeBD === 'MANUAL') { @@ -47,7 +47,7 @@ export const preparaRequisicao = (request, response) => { } else { selectTemExecucaoServico('SPECIESLINK').then(execucaoSpecieslink => { if (execucaoSpecieslink.length === 0) { - insereExecucao(getHoraAtual(), null, periodicidade, proximaAtualizacao, "SPECIESLINK").then(() => { + insereExecucao(getHoraAtual(), null, periodicidade, proximaAtualizacao, 'SPECIESLINK').then(() => { response.status(200).json(JSON.parse(' { "result": "success" } ')); }); } else { @@ -75,7 +75,7 @@ export const preparaRequisicao = (request, response) => { * @param {*} next, é utilizado para chamar a próxima função da pilha. */ export const estaExecutando = (_, response) => { - selectEstaExecutandoServico("SPECIESLINK").then(listaExecucaoSpecieslink => { + selectEstaExecutandoServico('SPECIESLINK').then(listaExecucaoSpecieslink => { response.header('Access-Control-Allow-Origin', '*'); response.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type'); response.header('Access-Control-Allow-Methods', 'GET'); diff --git a/src/controllers/tombos-controller.js b/src/controllers/tombos-controller.js index 850fc9fa..aa3a0b27 100644 --- a/src/controllers/tombos-controller.js +++ b/src/controllers/tombos-controller.js @@ -366,7 +366,6 @@ export const cadastro = (request, response, next) => { usuario_id: request.usuario.id, status, tombo_json: JSON.stringify(tomboData), - tombo_json: JSON.stringify(tomboData), ativo: true, identificacao: false, }; @@ -649,7 +648,7 @@ export const listagem = (request, response, next) => { nome_cientifico: nomeCientifico, hcf, tipo, nome_popular: nomePopular, situacao, } = request.query; let where = { - //rascunho: 0, + // rascunho: 0, }; if (nomeCientifico) { @@ -714,7 +713,6 @@ export const listagem = (request, response, next) => { model: Coletor, attributes: ['id', 'nome'], required: false, - required: false, }, where, order: [['hcf', 'DESC']], @@ -1572,7 +1570,6 @@ export const postCodigoBarraTombo = (request, response, next) => { export const getUltimoNumeroCodigoBarras = (request, response, next) => { const { emVivo } = request.params; - console.log('EM VIVO AQUI!', emVivo); Promise.resolve() .then(() => TomboFoto.findAll({ where: { diff --git a/src/herbarium/specieslink/main.js b/src/herbarium/specieslink/main.js index 636859d1..42520129 100644 --- a/src/herbarium/specieslink/main.js +++ b/src/herbarium/specieslink/main.js @@ -22,7 +22,7 @@ import { preparaExecucao } from '../main'; export function agendaComparacaoSpeciesLink(nomeArquivo, response) { selectTemExecucaoServico('SPECIESLINK').then(execucaoSpeciesLink => { if (execucaoSpeciesLink.length === 0) { - insereExecucaoSpeciesLink(getHoraAtual(), null, nomeArquivo, "SPECIESLINK"); + insereExecucaoSpeciesLink(getHoraAtual(), null, nomeArquivo, 'SPECIESLINK'); response.status(200).json(JSON.parse(' { "result": "success" } ')); } else { const horaFim = execucaoSpeciesLink[0].dataValues.hora_fim; diff --git a/src/routes/tombos.js b/src/routes/tombos.js index 91738821..32f41b9b 100644 --- a/src/routes/tombos.js +++ b/src/routes/tombos.js @@ -1322,10 +1322,10 @@ export default app => { */ app.route('/tombos/verificarCoordenada') .post([ - //tokensMiddleware([ - // TIPOS_USUARIOS.CURADOR, - // TIPOS_USUARIOS.OPERADOR, - //]), + // tokensMiddleware([ + // TIPOS_USUARIOS.CURADOR, + // TIPOS_USUARIOS.OPERADOR, + // ]), verificarCoordenada, ]); - }; +}; diff --git a/src/routes/usuarios.js b/src/routes/usuarios.js index ea8d2ebd..93b8393b 100644 --- a/src/routes/usuarios.js +++ b/src/routes/usuarios.js @@ -288,9 +288,9 @@ export default app => { controller.listagem, ]) .post([ - //tokensMiddleware([ - // TIPOS_USUARIOS.CURADOR, - //]), + // tokensMiddleware([ + // TIPOS_USUARIOS.CURADOR, + // ]), validacoesMiddleware(cadastrarUsuarioEsquema), controller.cadastro, ]); From 311ea72ca4359a0cbdffe6566117be7406d873ca Mon Sep 17 00:00:00 2001 From: Moran Date: Sat, 22 Nov 2025 19:10:19 -0300 Subject: [PATCH 5/5] =?UTF-8?q?corre=C3=A7=C3=A3o=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/tombos-controller.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/controllers/tombos-controller.js b/src/controllers/tombos-controller.js index aa3a0b27..ded7bf00 100644 --- a/src/controllers/tombos-controller.js +++ b/src/controllers/tombos-controller.js @@ -648,7 +648,7 @@ export const listagem = (request, response, next) => { nome_cientifico: nomeCientifico, hcf, tipo, nome_popular: nomePopular, situacao, } = request.query; let where = { - // rascunho: 0, + rascunho: false, }; if (nomeCientifico) { @@ -959,7 +959,7 @@ export const obterTombo = async (request, response, next) => { Tombo.findOne({ where: { hcf: id, - rascunho: 0, + rascunho: false, }, attributes: [ 'data_coleta_mes',