30 lines
1.2 KiB
JavaScript
30 lines
1.2 KiB
JavaScript
|
|
// src/services/glpiCommentService.js
|
||
|
|
// src/services/glpiService.js
|
||
|
|
const TicketSnModel = require('../models/ticketSnModel');
|
||
|
|
const TicketGlpiModel = require('../models/ticketGlpiModel');
|
||
|
|
const TicketSyncModel = require('../models/ticketSyncModel');
|
||
|
|
const { logInfo, logError } = require('../utils/logger');
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
const syncCommentsGlpi = async () => {
|
||
|
|
try {
|
||
|
|
logInfo('🔄 Iniciando sincronização de comments do GLPI para o Service Now iniciada...');
|
||
|
|
// 1. Buscar tickets que foram criados com sucesso para sincronizar comentários
|
||
|
|
const effectiveTickets = await TicketSnModel.getTicketsToSync();
|
||
|
|
logInfo(`🔍 ${effectiveTickets.length} tickets encontrados para sincronização de comentários`, { step: 1 });
|
||
|
|
// 2. Para cada ticket, buscar comentários no GLPI e salvar no ServiceNow
|
||
|
|
for (const ticket of effectiveTickets) {
|
||
|
|
|
||
|
|
console.log(`Buscando comentários para o ticket GLPI ID: ${ticket.glpi_ticket_id}`);
|
||
|
|
const comments = await TicketGlpiModel.getFollowupsByItemId(ticket.glpi_ticket_id);
|
||
|
|
console.log(comments);
|
||
|
|
|
||
|
|
}
|
||
|
|
}catch (error) {
|
||
|
|
logError(error, 'GLPI Tickets');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
module.exports = {
|
||
|
|
syncCommentsGlpi
|
||
|
|
};
|