diff --git a/.env b/.env index 2a0ef32..076ef7e 100644 --- a/.env +++ b/.env @@ -19,13 +19,24 @@ 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 +# # 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=dev -GLPI_DB_PASSWORD=Ut@2S@$M9Xs +GLPI_DB_USER=snglpi +GLPI_DB_PASSWORD=j2633669 GLPI_DB_NAME=glpi_data GLPI_DB_CHARSET=utf8mb4 -NODE_ENV=prod +PORT=3000 + +NODE_ENV=development diff --git a/src/app.js b/src/app.js new file mode 100644 index 0000000..600c03a --- /dev/null +++ b/src/app.js @@ -0,0 +1,13 @@ +const express = require('express'); +const router = require('./routes.js') + +function createApp() { + const app = express(); + + app.use(express.json()); + app.use('/api', router); + + return app; +} + +module.exports = createApp; \ No newline at end of file diff --git a/config/apiConfig.js b/src/config/apiConfig.js similarity index 96% rename from config/apiConfig.js rename to src/config/apiConfig.js index c2a831f..6208da9 100644 --- a/config/apiConfig.js +++ b/src/config/apiConfig.js @@ -1,15 +1,15 @@ -require('dotenv').config(); - -module.exports = { - hubsoft: { - authUrl: process.env.HUBSOFT_AUTH_URL, - authPayload: { - client_id: process.env.HUBSOFT_CLIENT_ID, - client_secret: process.env.HUBSOFT_CLIENT_SECRET, - username: process.env.HUBSOFT_USERNAME, - password: process.env.HUBSOFT_PASSWORD, - grant_type: process.env.HUBSOFT_GRANT_TYPE - }, - atendimentosUrl: process.env.HUBSOFT_CONSULTAR_ATENDIMENTO_URL - } +require('dotenv').config(); + +module.exports = { + hubsoft: { + authUrl: process.env.HUBSOFT_AUTH_URL, + authPayload: { + client_id: process.env.HUBSOFT_CLIENT_ID, + client_secret: process.env.HUBSOFT_CLIENT_SECRET, + username: process.env.HUBSOFT_USERNAME, + password: process.env.HUBSOFT_PASSWORD, + grant_type: process.env.HUBSOFT_GRANT_TYPE + }, + atendimentosUrl: process.env.HUBSOFT_CONSULTAR_ATENDIMENTO_URL + } }; \ No newline at end of file diff --git a/config/dbConfig.js b/src/config/dbConfig.js similarity index 100% rename from config/dbConfig.js rename to src/config/dbConfig.js diff --git a/controller/processController.js b/src/controller/processController.js similarity index 100% rename from controller/processController.js rename to src/controller/processController.js diff --git a/src/controller/ticketController.js b/src/controller/ticketController.js new file mode 100644 index 0000000..f26ca04 --- /dev/null +++ b/src/controller/ticketController.js @@ -0,0 +1,12 @@ +const ticketService = require('../services/ticketService.js'); + +const closeTicket = async (req, res) => { + try { + const closingTicket = await ticketService.fechaTicket(req.params.id); + res.status(200).json(closingTicket); + } catch (error) { + res.status(500).json({ error: error.message }); + } +} + +module.exports = { closeTicket }; \ No newline at end of file diff --git a/data/hubglpiDataBase.js b/src/data/hubglpiDataBase.js similarity index 100% rename from data/hubglpiDataBase.js rename to src/data/hubglpiDataBase.js diff --git a/app.js b/src/index.js similarity index 61% rename from app.js rename to src/index.js index 0332322..1c93e35 100644 --- a/app.js +++ b/src/index.js @@ -1,5 +1,9 @@ const hubsoftController = require('./controller/processController.js'); -const { logError, logInfo } = require('./utils/logger'); +const { logError, logInfo } = require('./utils/logger.js'); +const dotenv = require('dotenv'); + +dotenv.config(); + logInfo('Aplicação iniciada', { timestamp: new Date().toISOString(), diff --git a/model/glpiModel.js b/src/model/glpiModel.js similarity index 100% rename from model/glpiModel.js rename to src/model/glpiModel.js diff --git a/model/hubglpiModel.js b/src/model/hubglpiModel.js similarity index 100% rename from model/hubglpiModel.js rename to src/model/hubglpiModel.js diff --git a/model/hubsoftModel.js b/src/model/hubsoftModel.js similarity index 100% rename from model/hubsoftModel.js rename to src/model/hubsoftModel.js diff --git a/src/routes.js b/src/routes.js new file mode 100644 index 0000000..d25ca75 --- /dev/null +++ b/src/routes.js @@ -0,0 +1,7 @@ +const { Router } = require('express'); + +const router = Router(); + +router.post('/close-ticket/:id', ticketController.closeTicket); + +module.exports = router; \ No newline at end of file diff --git a/scripts/data/database.sql b/src/scripts/data/database.sql similarity index 100% rename from scripts/data/database.sql rename to src/scripts/data/database.sql diff --git a/scripts/data/database2.sql b/src/scripts/data/database2.sql similarity index 100% rename from scripts/data/database2.sql rename to src/scripts/data/database2.sql diff --git a/src/server.js b/src/server.js new file mode 100644 index 0000000..0cf5c80 --- /dev/null +++ b/src/server.js @@ -0,0 +1,13 @@ +const dotenv = require('dotenv'); +const createApp = require('./app.js'); + +dotenv.config(); + +const app = createApp(); + +const PORT = process.env.PORT || 3000; + +app.listen(PORT, () => { + console.log(`✅ Servidor rodando na porta ${PORT}`); +}); + diff --git a/services/hubsoftService.js b/src/services/hubsoftService.js similarity index 100% rename from services/hubsoftService.js rename to src/services/hubsoftService.js diff --git a/src/services/ticketService.js b/src/services/ticketService.js new file mode 100644 index 0000000..0cc0fcb --- /dev/null +++ b/src/services/ticketService.js @@ -0,0 +1,9 @@ + + +const fechaTicket = async (ticketId) => { + // Lógica para fechar o ticket no GLPI + // Exemplo fictício: + return { id: ticketId, status: 'closed' }; +} + +module.exports = { fechaTicket }; \ No newline at end of file diff --git a/utils/logger.js b/src/utils/logger.js similarity index 100% rename from utils/logger.js rename to src/utils/logger.js