2025-10-29 14:20:21 -03:00
|
|
|
const path = require('path');
|
|
|
|
|
const dotenv = require('dotenv');
|
|
|
|
|
const nodeEnv = process.env.NODE_ENV;
|
2026-03-04 16:37:04 -03:00
|
|
|
let envFile = '.env.development';
|
|
|
|
|
if (nodeEnv === 'production') {
|
|
|
|
|
envFile = '.env.production';
|
|
|
|
|
} else {
|
|
|
|
|
envFile = '.env.development';
|
|
|
|
|
}
|
2025-10-29 14:20:21 -03:00
|
|
|
dotenv.config({ path: path.resolve(__dirname, '..', envFile) });
|
|
|
|
|
|
2025-10-13 06:06:52 -03:00
|
|
|
const { processTicketsController } = require('./controllers/processTicketsController');
|
2025-10-23 17:30:03 -03:00
|
|
|
const { processCommentsController } = require('./controllers/processCommentsController');
|
|
|
|
|
const { processErrorController } = require('./controllers/processErrorController');
|
|
|
|
|
const { processStatusAndClosureController } = require('./controllers/processStatusController');
|
2026-03-04 16:37:04 -03:00
|
|
|
const { processGlpiClosureController } = require('./controllers/processGlpiClosureController');
|
|
|
|
|
const { logInfo } = require('./utils/logger');
|
2025-10-29 14:20:21 -03:00
|
|
|
|
2026-03-04 16:37:04 -03:00
|
|
|
logInfo(`Ambiente carregado: ${process.env.NODE_ENV || 'development'}`);
|
2025-09-05 20:28:15 -03:00
|
|
|
|
2026-03-04 16:37:04 -03:00
|
|
|
logInfo('Aplicacao iniciada', {
|
2025-09-05 20:28:15 -03:00
|
|
|
timestamp: new Date().toISOString(),
|
|
|
|
|
environment: process.env.NODE_ENV || 'development'
|
|
|
|
|
});
|
|
|
|
|
|
2025-09-11 20:57:43 -03:00
|
|
|
async function main() {
|
|
|
|
|
try {
|
2026-03-04 16:37:04 -03:00
|
|
|
const statusSyncEnabled = process.env.ENABLE_STATUS_SYNC === 'true';
|
|
|
|
|
const glpiCloseCronEnabled = process.env.ENABLE_GLPI_CLOSE_CRON !== 'false';
|
|
|
|
|
|
2025-10-29 14:20:21 -03:00
|
|
|
await processErrorController();
|
|
|
|
|
await processTicketsController();
|
2026-03-11 10:44:09 -03:00
|
|
|
|
|
|
|
|
if (glpiCloseCronEnabled) {
|
|
|
|
|
await processGlpiClosureController();
|
|
|
|
|
} else {
|
|
|
|
|
logInfo('Monitor de encerramento definitivo GLPI desabilitado (ENABLE_GLPI_CLOSE_CRON=false).');
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-11 17:02:27 -03:00
|
|
|
|
2026-03-04 16:37:04 -03:00
|
|
|
|
|
|
|
|
if (statusSyncEnabled) {
|
|
|
|
|
await processStatusAndClosureController();
|
|
|
|
|
} else {
|
|
|
|
|
logInfo('Sincronizacao legada de status desabilitada (ENABLE_STATUS_SYNC=false).');
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-11 17:02:27 -03:00
|
|
|
await processCommentsController();
|
|
|
|
|
|
2026-03-04 16:37:04 -03:00
|
|
|
logInfo('Ciclo de sincronizacao concluido com sucesso.');
|
2025-09-11 20:57:43 -03:00
|
|
|
} catch (error) {
|
2026-03-04 16:37:04 -03:00
|
|
|
logInfo('Erro na aplicacao:', error);
|
2025-09-11 20:57:43 -03:00
|
|
|
}
|
|
|
|
|
}
|
2025-08-30 19:04:35 -03:00
|
|
|
|
2025-11-19 16:01:37 -03:00
|
|
|
module.exports = { main };
|
2025-10-29 14:20:21 -03:00
|
|
|
|
2026-03-11 10:44:09 -03:00
|
|
|
|
|
|
|
|
|