hubxglpi/model/glpiModel.js
Rafael Lopes 4cb948a08f WIP: Inserindo dados do banco no hubglpi no banco de dados do HUB.
- Erro ao realizar insert no banco do GLPI. Error: read ECONNRESET.
2025-10-08 18:55:29 -03:00

78 lines
2.0 KiB
JavaScript

// src/models/hubglpiModel.js
const dbConfig = require('../config/dbConfig.js');
const { logError, logInfo} = require('../utils/logger');
const { Pool } = require('pg');
const pool = new Pool({
host: dbConfig.glpi.databaseHost,
port: dbConfig.glpi.databasePort,
database: dbConfig.glpi.databaseName,
user: dbConfig.glpi.databaseUser,
password: dbConfig.glpi.databasePassword
});
class HubglpiModel {
static async insertTicket(ticketData) {
const query = `
INSERT INTO glpi_tickets(
entities_id,
name,
date,
date_mod,
status,
user_id_recipient,
content,
urgency,
impact,
priority,
type,
itilcategories_id,
date_creation,
slas_id_ttr
)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
RETURNING *;
`;
const values = [
ticketData.entidades_id,
ticketData.cliente_nome,
ticketData.data_cadastro,
ticketData.date_mod,
ticketData.status_atendimento,
ticketData.user_id_recipient,
ticketData.descricao_abertura,
ticketData.urgency,
ticketData.impact,
ticketData.priority,
ticketData.type,
ticketData.itilcategories_id,
ticketData.date_creation,
];
}
static async selectEntityId(entity_name) {
const query = `SELECT id FROM glpi_entities WHERE name = $1;`;
const values = [entity_name];
try {
const res = await pool.query
(query, values);
logInfo('Entidade encontrada:', res.rows[0]);
return res.rows[0];
} catch (err) {
logError('Erro ao buscar entidade', err);
throw err;
}
}
}
module.exports = HubglpiModel;