const {fetchCommentsFromServiceNow } = require('../services/servicenowService'); const { syncCommentsGlpitoSN, syncCommentsSNtoGlpi } = require('../services/glpiCommentService'); const TicketSyncModel = require('../models/ticketSyncModel'); const { logInfo } = require('../utils/logger'); const processCommentsController = async () => { const ticketsToMonitor = await TicketSyncModel.getTicketsToMonitor(); logInfo(`📋Tickets em monitoramento: ${ticketsToMonitor.length}`); for (const ticket of ticketsToMonitor){ // Sincroniza comentários do ServiceNow para o GLPI const comments = await fetchCommentsFromServiceNow(ticket); // Se houver comentários novos no ServiceNow, sincroniza para o GLPI if(comments.length != 0){await syncCommentsSNtoGlpi(comments, ticket);} // Sincroniza comentários do GLPI para o ServiceNow await syncCommentsGlpitoSN(ticket); } } module.exports = { processCommentsController } /** * @file processCommentsController.js * @description Este controlador orquestra a sincronização bidirecional de comentários para todos os tickets ativos. * Ele busca tickets que estão sendo monitorados e, para cada um, executa a sincronização de comentários do ServiceNow para o GLPI e vice-versa. */