snglpi/src/app.js

55 lines
1.9 KiB
JavaScript
Raw Normal View History

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