From a1be9223a525efdf1680f96db133c73ff5e6388e Mon Sep 17 00:00:00 2001 From: Rafael Lopes Date: Thu, 6 Nov 2025 11:48:45 -0300 Subject: [PATCH] =?UTF-8?q?BUILD:=20Atualizado=20o=20.env=20para=20separar?= =?UTF-8?q?=20ambientes=20de=20produ=C3=A7=C3=A3o=20e=20desenvolvimento?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 42 ---------------------------------- .env.development | 47 ++++++++++++++++++++++++++++++++++++++ .env.production | 48 +++++++++++++++++++++++++++++++++++++++ .gitignore | 2 +- src/config/dbConfig.js | 2 -- src/config/envLoader.js | 14 ++++++++++++ src/index.js | 6 +++-- src/model/hubglpiModel.js | 10 +------- src/server.js | 4 ++-- 9 files changed, 117 insertions(+), 58 deletions(-) delete mode 100644 .env create mode 100644 .env.development create mode 100644 .env.production create mode 100644 src/config/envLoader.js diff --git a/.env b/.env deleted file mode 100644 index 076ef7e..0000000 --- a/.env +++ /dev/null @@ -1,42 +0,0 @@ -HUBSOFT_AUTH_URL='https://api.sothis.hubsoft.com.br/oauth/token' -HUBSOFT_CLIENT_ID=35 -HUBSOFT_CLIENT_SECRET=1s62YsDijmzLz17NaKbnK1AUCKAx10RSDPMOtVcN -HUBSOFT_USERNAME=contato@vexvigilancia.com.br -HUBSOFT_PASSWORD="19T(6Jnp*" -HUBSOFT_GRANT_TYPE=password -HUBSOFT_CONSULTAR_ATENDIMENTO_URL="https://api.sothis.hubsoft.com.br/api/v1/integracao/atendimento/" - -HUBSOFT_DATABASE_HOST=sothis.hubsoft.com.br -HUBSOFT_DATABASE_PORT=9432 -HUBSOFT_DATABASE_NAME=hubsoft -HUBSOFT_DATABASE_USER=sothis_leitura -HUBSOFT_DATABASE_PASSWORD=2d0f4e138ba533693a1fc244d08a7f8596d8b472 - -# Banco HUBGLPI (PostgreSQL) -HUBGLPI_DB_HOST=localhost -HUBGLPI_DB_PORT=5432 -HUBGLPI_DB_NAME=hubglpi -HUBGLPI_DB_USER=desenvolvimento -HUBGLPI_DB_PASSWORD=Ut@2S@$M9Xs@@W - -# # Banco GLPI (MySQL) -# GLPI_DB_TYPE=mysql2/promise -# GLPI_DB_HOST=177.73.177.28 -# GLPI_DB_PORT=3306 -# GLPI_DB_USER=dev -# GLPI_DB_PASSWORD=Ut@2S@$M9Xs -# GLPI_DB_NAME=glpi_data -# GLPI_DB_CHARSET=utf8mb4 - -# GLPI (Desenvolvimento) -GLPI_DB_TYPE=mysql -GLPI_DB_HOST=177.73.177.32 -GLPI_DB_PORT=3306 -GLPI_DB_USER=snglpi -GLPI_DB_PASSWORD=j2633669 -GLPI_DB_NAME=glpi_data -GLPI_DB_CHARSET=utf8mb4 - -PORT=3000 - -NODE_ENV=development diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..5913d57 --- /dev/null +++ b/.env.development @@ -0,0 +1,47 @@ +# ============================================================================== +# AMBIENTE DE DESENVOLVIMENTO +NODE_ENV=development + +# ============================================================================== +# CONFIGURAÇÕES DA APLICAÇÃO +# ============================================================================== +PORT=3000 + +# ============================================================================== +# HUBSOFT - API & DATABASE (Leitura) +# ============================================================================== +# API +HUBSOFT_AUTH_URL='https://api.sothis.hubsoft.com.br/oauth/token' +HUBSOFT_CLIENT_ID=35 +HUBSOFT_CLIENT_SECRET=1s62YsDijmzLz17NaKbnK1AUCKAx10RSDPMOtVcN +HUBSOFT_USERNAME=contato@vexvigilancia.com.br +HUBSOFT_PASSWORD="19T(6Jnp*" +HUBSOFT_GRANT_TYPE=password +HUBSOFT_CONSULTAR_ATENDIMENTO_URL="https://api.sothis.hubsoft.com.br/api/v1/integracao/atendimento/" + +# Database (Leitura) +HUBSOFT_DATABASE_HOST=sothis.hubsoft.com.br +HUBSOFT_DATABASE_PORT=9432 +HUBSOFT_DATABASE_NAME=hubsoft +HUBSOFT_DATABASE_USER=sothis_leitura +HUBSOFT_DATABASE_PASSWORD=2d0f4e138ba533693a1fc244d08a7f8596d8b472 + +# ============================================================================== +# BANCO DE DADOS INTERMEDIÁRIO - HUBGLPI (PostgreSQL - Desenvolvimento) +# ============================================================================== +HUBGLPI_DB_HOST=10.0.120.75 +HUBGLPI_DB_PORT=5432 +HUBGLPI_DB_NAME=hubglpi-development +HUBGLPI_DB_USER=desenvolvimento +HUBGLPI_DB_PASSWORD=Ut@2S@$M9Xs@@W + +# ============================================================================== +# BANCO DE DADOS FINAL - GLPI (MySQL - Desenvolvimento) +# ============================================================================== +GLPI_DB_TYPE=mysql +GLPI_DB_HOST=177.73.177.32 +GLPI_DB_PORT=3306 +GLPI_DB_USER=snglpi +GLPI_DB_PASSWORD=j2633669 +GLPI_DB_NAME=glpi_data +GLPI_DB_CHARSET=utf8mb4 diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..38a4057 --- /dev/null +++ b/.env.production @@ -0,0 +1,48 @@ +# ============================================================================== +# AMBIENTE +NODE_ENV=production + +# ============================================================================== +# CONFIGURAÇÕES DA APLICAÇÃO +# ============================================================================== +PORT=3000 + +# ============================================================================== +# HUBSOFT - API & DATABASE (Leitura) +# ============================================================================== +# API +HUBSOFT_AUTH_URL='https://api.sothis.hubsoft.com.br/oauth/token' +HUBSOFT_CLIENT_ID=35 +HUBSOFT_CLIENT_SECRET=1s62YsDijmzLz17NaKbnK1AUCKAx10RSDPMOtVcN +HUBSOFT_USERNAME=contato@vexvigilancia.com.br +HUBSOFT_PASSWORD="19T(6Jnp*" +HUBSOFT_GRANT_TYPE=password +HUBSOFT_CONSULTAR_ATENDIMENTO_URL="https://api.sothis.hubsoft.com.br/api/v1/integracao/atendimento/" + +# Database (Leitura) +HUBSOFT_DATABASE_HOST=sothis.hubsoft.com.br +HUBSOFT_DATABASE_PORT=9432 +HUBSOFT_DATABASE_NAME=hubsoft +HUBSOFT_DATABASE_USER=sothis_leitura +HUBSOFT_DATABASE_PASSWORD=2d0f4e138ba533693a1fc244d08a7f8596d8b472 + +# ============================================================================== +# BANCO DE DADOS INTERMEDIÁRIO - HUBGLPI (PostgreSQL - Desenvolvimento) +# ============================================================================== +HUBGLPI_DB_HOST=localhost +HUBGLPI_DB_PORT=5432 +HUBGLPI_DB_NAME=hubglpi +HUBGLPI_DB_USER=desenvolvimento +HUBGLPI_DB_PASSWORD=Ut@2S@$M9Xs@@W + +# ============================================================================== +# BANCO DE DADOS FINAL - GLPI (MySQL - Desenvolvimento) +# ============================================================================== +GLPI_DB_TYPE=mysql2/promise +GLPI_DB_HOST=177.73.177.28 +GLPI_DB_PORT=3306 +GLPI_DB_USER=dev +GLPI_DB_PASSWORD=Ut@2S@$M9Xs +GLPI_DB_NAME=glpi_data +GLPI_DB_CHARSET=utf8mb4 + diff --git a/.gitignore b/.gitignore index 40b878d..c2658d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -node_modules/ \ No newline at end of file +node_modules/ diff --git a/src/config/dbConfig.js b/src/config/dbConfig.js index bfac62e..e026ebe 100644 --- a/src/config/dbConfig.js +++ b/src/config/dbConfig.js @@ -1,5 +1,3 @@ -require('dotenv').config(); - module.exports = { hubsoft: { databaseHost: process.env.HUBSOFT_DATABASE_HOST, diff --git a/src/config/envLoader.js b/src/config/envLoader.js new file mode 100644 index 0000000..ea02d21 --- /dev/null +++ b/src/config/envLoader.js @@ -0,0 +1,14 @@ +const path = require('path'); +const dotenv = require('dotenv'); + +function loadEnv() { + // Define 'development' como padrão se NODE_ENV não estiver setado + const nodeEnv = process.env.NODE_ENV || 'development'; + + const envPath = path.resolve(process.cwd(), `.env.${nodeEnv}`); + + console.log(`Carregando variáveis de ambiente de: ${envPath}`); + dotenv.config({ path: envPath }); +} + +module.exports = loadEnv; \ No newline at end of file diff --git a/src/index.js b/src/index.js index 1c93e35..2545f82 100644 --- a/src/index.js +++ b/src/index.js @@ -1,8 +1,10 @@ const hubsoftController = require('./controller/processController.js'); const { logError, logInfo } = require('./utils/logger.js'); -const dotenv = require('dotenv'); +const loadEnv = require('./config/envLoader'); + +// Carrega as variáveis de ambiente +loadEnv(); -dotenv.config(); logInfo('Aplicação iniciada', { diff --git a/src/model/hubglpiModel.js b/src/model/hubglpiModel.js index 55845c9..6e3494b 100644 --- a/src/model/hubglpiModel.js +++ b/src/model/hubglpiModel.js @@ -1,16 +1,8 @@ // src/models/hubsoft_ticketsModel.js const { log } = require('winston'); -const dbConfig = require('../config/dbConfig.js'); const { logError, logInfo} = require('../utils/logger'); +const pool = require('../data/hubglpiDataBase'); // <- Importa o pool centralizado -const { Pool } = require('pg'); -const pool = new Pool({ - host: dbConfig.hubglpi.databaseHost, - port: dbConfig.hubglpi.databasePort, - database: dbConfig.hubglpi.databaseName, - user: dbConfig.hubglpi.databaseUser, - password: dbConfig.hubglpi.databasePassword -}); class HubglpiModel { diff --git a/src/server.js b/src/server.js index 0cf5c80..757d106 100644 --- a/src/server.js +++ b/src/server.js @@ -1,7 +1,7 @@ const dotenv = require('dotenv'); const createApp = require('./app.js'); - -dotenv.config(); +const loadEnv = require('./config/envLoader'); +loadEnv(); const app = createApp();