From c6e8162bfd98c0d3eaf83bbe3918575e88dde3dc Mon Sep 17 00:00:00 2001 From: tulioperdigao <116309232+tulioperdigao@users.noreply.github.com> Date: Tue, 4 Nov 2025 12:00:23 -0300 Subject: [PATCH] =?UTF-8?q?FEAT:=20Cria=C3=A7=C3=A3o=20da=20API=20gen?= =?UTF-8?q?=C3=A9rica=20e=20reorganiza=C3=A7=C3=A3o=20dos=20arquivos=20em?= =?UTF-8?q?=20uma=20pasta=20./src?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 23 ++++++++++---- src/app.js | 13 ++++++++ {config => src/config}/apiConfig.js | 28 +++++++++--------- {config => src/config}/dbConfig.js | 0 .../controller}/processController.js | 0 src/controller/ticketController.js | 12 ++++++++ {data => src/data}/hubglpiDataBase.js | 0 app.js => src/index.js | 6 +++- {model => src/model}/glpiModel.js | 0 {model => src/model}/hubglpiModel.js | 0 {model => src/model}/hubsoftModel.js | 0 src/routes.js | 7 +++++ {scripts => src/scripts}/data/database.sql | 0 {scripts => src/scripts}/data/database2.sql | Bin src/server.js | 13 ++++++++ {services => src/services}/hubsoftService.js | 0 src/services/ticketService.js | 9 ++++++ {utils => src/utils}/logger.js | 0 18 files changed, 90 insertions(+), 21 deletions(-) create mode 100644 src/app.js rename {config => src/config}/apiConfig.js (96%) rename {config => src/config}/dbConfig.js (100%) rename {controller => src/controller}/processController.js (100%) create mode 100644 src/controller/ticketController.js rename {data => src/data}/hubglpiDataBase.js (100%) rename app.js => src/index.js (61%) rename {model => src/model}/glpiModel.js (100%) rename {model => src/model}/hubglpiModel.js (100%) rename {model => src/model}/hubsoftModel.js (100%) create mode 100644 src/routes.js rename {scripts => src/scripts}/data/database.sql (100%) rename {scripts => src/scripts}/data/database2.sql (100%) create mode 100644 src/server.js rename {services => src/services}/hubsoftService.js (100%) create mode 100644 src/services/ticketService.js rename {utils => src/utils}/logger.js (100%) 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