78 lines
2.0 KiB
JavaScript
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;
|