snglpi/src/services/servicenowService.js

56 lines
1.8 KiB
JavaScript
Raw Normal View History

2025-08-30 19:04:35 -03:00
const axios = require('axios');
const apiConfig = require('../../config/apiConfig');
const fs = require('fs');
const TicketSnModel = require('../models/databaseModel');
const { Console } = require('console');
2025-08-30 19:04:35 -03:00
const fetchTicketsFromServiceNow = async () => {
2025-08-30 19:04:35 -03:00
try {
const ticketsResponse = await axios.get(apiConfig.snIncidentConfig.baseUrl, {
auth: apiConfig.servicenowAuthentication.auth
});
// gerar um JSON das respostas da API //Mantive o json enquanto testo a integração com o banco
fs.writeFileSync('servicenow_tickets.json', JSON.stringify(ticketsResponse.data, null, 2));
// Salvar os tickets no banco de dados
console.log('Iniciando salvamento dos tickets no banco de dados...');
for (const ticket of ticketsResponse.data.result) {
await TicketSnModel.saveTickets(ticket, 'incidente');
}
} catch (error) {
console.log('SERVICE NOW Tickets error: ', error.message);
}
}
const fetchRequestsFromServiceNow = async () => {
try {
const requestsResponse = await axios.get(apiConfig.snRequestConfig.baseUrl, {
auth: apiConfig.servicenowAuthentication.auth
});
// gerar um JSON das respostas da API //Mantive o json enquanto testo a integração com o banco
fs.writeFileSync('servicenow_requests.json', JSON.stringify(requestsResponse.data, null, 2));
// Salvar os tickets no banco de dados
console.log('Iniciando salvamento das requisições no banco de dados...');
for (const request of requestsResponse.data.result) {
await TicketSnModel.saveTickets(request, 'requisicao');
}
2025-08-30 19:04:35 -03:00
} catch (error) {
console.log('SERVICE NOW Requests error: ', error.message);
2025-08-30 19:04:35 -03:00
}
}
2025-08-30 19:04:35 -03:00
module.exports = {
fetchTicketsFromServiceNow,
fetchRequestsFromServiceNow
}