diff --git a/src/services/ticketService.js b/src/services/ticketService.js index fc1c274..c2547ce 100644 --- a/src/services/ticketService.js +++ b/src/services/ticketService.js @@ -15,10 +15,10 @@ const e = require('express'); * @returns {Promise} Um objeto com os IDs { hubsoftId, glpiId, syncId } ou null se não for aplicável. */ -const handleMundialeTicket = async (glpiTicketId, ticketTitle) => { +const handleTicket = async (glpiTicketId, ticketTitle) => { try { - if (!ticketTitle.includes("Mundiale")) { - logInfo(`Ticket ID ${glpiTicketId} não é da Mundiale. Ignorando fechamento.`); + if (!tolow(ticketTitle).includes("mundiale") || !tolow(ticketTitle).includes("implantacao") || !tolow(ticketTitle).includes("sac") || !tolow(ticketTitle).includes('cancelamento') || !tolow(ticketTitle).includes('troca de titularidade')) { + logInfo(`Ticket ID ${glpiTicketId} esta fora do escopo do fluxo. Ignorando fechamento.`); return null; } @@ -45,7 +45,7 @@ const handleMundialeTicket = async (glpiTicketId, ticketTitle) => { return null; } } catch (error) { - logError(`Erro em handleMundialeTicket para o ticket ID ${glpiTicketId}:`, error); + logError(`Erro em handleTicket para o ticket ID ${glpiTicketId}:`, error); throw error; // Propaga o erro para o chamador } }; @@ -102,7 +102,7 @@ const fechaTicket = async (bodyRequest) => { const closingMessage = sanitizeGLPIComment({ content: rawClosingMessage }); try { - const ticketInfo = await handleMundialeTicket(glpiTicketId, ticketTitle); + const ticketInfo = await handleTicket(glpiTicketId, ticketTitle); if (ticketInfo) { const closeResponse = await closeHubsoftTicket(ticketInfo.hubsoftId, closingMessage); @@ -138,7 +138,7 @@ module.exports = { fechaTicket }; * * Funções: * - `fechaTicket(bodyRequest)`: Orquestra todo o processo de fechamento. - * - `handleMundialeTicket(...)`: Verifica se o ticket é elegível para o fluxo e tenta obter uma trava no banco de dados para evitar processamento duplicado. + * - `handleTicket(...)`: Verifica se o ticket é elegível para o fluxo e tenta obter uma trava no banco de dados para evitar processamento duplicado. * - `closeHubsoftTicket(...)`: Interage com o `hubsoftService` para fechar o atendimento no HubSoft. Trata o caso onde o ticket já está fechado. * - `updateLocalDatabaseOnClose(...)`: Atualiza o status do ticket no banco de dados local após o fechamento bem-sucedido. */