// 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;