hubxglpi/model/hubsoftModel.js
gabriel.amancio 35ce8a4c49 FEAT: Funções hubsoftModel.js
- Query de coleta de atendimentos refactorado.

- Criado funções de query para validar status do atendimento no Hub e validar mensagens do atendimento.
2025-10-07 16:00:50 -03:00

31 lines
1.5 KiB
JavaScript

const dbConfig = require('../config/dbConfig.js');
const { Pool } = require('pg');
const pool = new Pool({
host: dbConfig.hubsoft.databaseHost,
port: dbConfig.hubsoft.databasePort,
database: dbConfig.hubsoft.databaseName,
user: dbConfig.hubsoft.databaseUser,
password: dbConfig.hubsoft.databasePassword
});
const getAtendimentosFromDB = async () => {
const query = 'SELECT a.id_atendimento, a.id_usuario_abertura, a.id_atendimento_status, a.protocolo, a.descricao_abertura, a.data_cadastro, a.nome_contato, c.codigo_cliente, s.descricao FROM atendimento AS a INNER JOIN cliente_servico AS cs ON a.id_cliente_servico = cs.id_cliente_servico INNER JOIN cliente AS c ON cs.id_cliente = c.id_cliente INNER JOIN servico AS s ON cs.id_servico = s.id_servico WHERE a.id_tipo_atendimento = 4 AND a.id_usuario_abertura = 248 AND a.id_atendimento_status IN (1, 2, 33) AND s.ativo = true;';
const { rows } = await pool.query(query);
return rows;
}
const validateAtendimentoStatus = (id_atendimento) => {
const query = `SELECT id_atendimento_status FROM atendimento WHERE id_atendimento = ${id_atendimento};`;
return pool.query(query);
}
const validateMensagensByAtendimento = (id_atendimento) => {
const query = `SELECT id_atendimento_mensagem, id_atendimento, mensagem, data_cadastro FROM atendimento_mensagem WHERE id_atendimento = ${id_atendimento} ;`
return pool.query(query);
}
module.exports = {
getAtendimentosFromDB, validateAtendimentoStatus, validateMensagensByAtendimento
};