diff --git a/lab-03/code/app/routes/aluno/aluno.controller.js b/lab-03/code/app/controller/aluno/index.js old mode 100755 new mode 100644 similarity index 96% rename from lab-03/code/app/routes/aluno/aluno.controller.js rename to lab-03/code/app/controller/aluno/index.js index 38ded63..9efc2fc --- a/lab-03/code/app/routes/aluno/aluno.controller.js +++ b/lab-03/code/app/controller/aluno/index.js @@ -1,4 +1,4 @@ -const alunoModel = require('../../models/usuario/aluno/aluno.model'); +const alunoModel = require('../../repository/usuario/aluno'); async function httpPost(req, res){ diff --git a/lab-03/code/app/routes/auth/auth.js b/lab-03/code/app/controller/auth/index.js old mode 100755 new mode 100644 similarity index 100% rename from lab-03/code/app/routes/auth/auth.js rename to lab-03/code/app/controller/auth/index.js diff --git a/lab-03/code/app/routes/empresa/empresa.controller.js b/lab-03/code/app/controller/empresa/index.js old mode 100755 new mode 100644 similarity index 96% rename from lab-03/code/app/routes/empresa/empresa.controller.js rename to lab-03/code/app/controller/empresa/index.js index 4a3b508..d5c7536 --- a/lab-03/code/app/routes/empresa/empresa.controller.js +++ b/lab-03/code/app/controller/empresa/index.js @@ -1,4 +1,4 @@ -const empresaModel= require('../../models/usuario/empresa/empresa.model'); +const empresaModel= require('../../repository/usuario/empresa'); async function httpPost(req, res){ diff --git a/lab-03/code/app/routes/professor/professor.controller.js b/lab-03/code/app/controller/professor/index.js similarity index 96% rename from lab-03/code/app/routes/professor/professor.controller.js rename to lab-03/code/app/controller/professor/index.js index 5965f99..840589a 100644 --- a/lab-03/code/app/routes/professor/professor.controller.js +++ b/lab-03/code/app/controller/professor/index.js @@ -1,4 +1,4 @@ -const professorModel = require('../../models/usuario/professor/professor.model'); +const professorModel = require('../../repository/usuario/professor'); async function httpPost(req, res) { try { diff --git a/lab-03/code/app/routes/transacao/transacao.controller.js b/lab-03/code/app/controller/transacao/index.js similarity index 73% rename from lab-03/code/app/routes/transacao/transacao.controller.js rename to lab-03/code/app/controller/transacao/index.js index a11dd33..efb0ee3 100644 --- a/lab-03/code/app/routes/transacao/transacao.controller.js +++ b/lab-03/code/app/controller/transacao/index.js @@ -1,4 +1,4 @@ -const transacaoRepository = require('../../models/transacao/transacao.repository'); +const transacaoRepository = require('../../repository/transacao'); const { getUserIdFromToken } = require('../../services/jwt-decoder'); @@ -50,8 +50,22 @@ async function httpGetAll(req, res){ } +async function httpGetById(req, res){ + try{ + const { id } = req.params; + + const transacao = await transacaoRepository.findById(id); + + return res.status(200).json(transacao); + } catch(error){ + console.log(error); + return res.status(500).json({error: 'error ao encontrar transacao'}); + } +} + module.exports = { httpPost, - httpGetAll + httpGetAll, + httpGetById } \ No newline at end of file diff --git a/lab-03/code/app/routes/usuario/usuario.controller.js b/lab-03/code/app/controller/usuario/index.js similarity index 90% rename from lab-03/code/app/routes/usuario/usuario.controller.js rename to lab-03/code/app/controller/usuario/index.js index 19b6d4f..e9716e4 100644 --- a/lab-03/code/app/routes/usuario/usuario.controller.js +++ b/lab-03/code/app/controller/usuario/index.js @@ -1,4 +1,4 @@ -const userRepository = require('../../models/usuario/user.repository'); +const userRepository = require('../../repository/usuario'); const { getUserIdFromToken } = require('../../services/jwt-decoder'); async function getOwnUserData(req, res) { diff --git a/lab-03/code/app/routes/vantagem/vantagem.controller.js b/lab-03/code/app/controller/vantagem/index.js similarity index 94% rename from lab-03/code/app/routes/vantagem/vantagem.controller.js rename to lab-03/code/app/controller/vantagem/index.js index 2197461..4faf7d5 100644 --- a/lab-03/code/app/routes/vantagem/vantagem.controller.js +++ b/lab-03/code/app/controller/vantagem/index.js @@ -1,4 +1,4 @@ -const vantagemModel= require('../../models/vantagem/vantagem.repository'); +const vantagemModel= require('../../repository/vantagem'); const { getUserIdFromToken } = require('../../services/jwt-decoder'); diff --git a/lab-03/code/app/models/cupom/cupom.sequelize.js b/lab-03/code/app/models/cupom/index.js similarity index 91% rename from lab-03/code/app/models/cupom/cupom.sequelize.js rename to lab-03/code/app/models/cupom/index.js index c540bc2..d188b49 100644 --- a/lab-03/code/app/models/cupom/cupom.sequelize.js +++ b/lab-03/code/app/models/cupom/index.js @@ -1,6 +1,6 @@ const { DataTypes } = require('sequelize'); const sequelize = require('../../config/sequelize'); -const Vantagem = require('../vantagem/vantagem.sequelize'); // Importando o modelo Vantagem +const Vantagem = require('../vantagem'); // Importando o modelo Vantagem // Definição do modelo `Cupom` const Cupom = sequelize.define('Cupom', { diff --git a/lab-03/code/app/models/instituicao-ensino/instituicao-ensino.sequelize.js b/lab-03/code/app/models/instituicao-ensino/index.js old mode 100755 new mode 100644 similarity index 100% rename from lab-03/code/app/models/instituicao-ensino/instituicao-ensino.sequelize.js rename to lab-03/code/app/models/instituicao-ensino/index.js diff --git a/lab-03/code/app/models/transacao/transacao.sequelize.js b/lab-03/code/app/models/transacao/index.js old mode 100755 new mode 100644 similarity index 90% rename from lab-03/code/app/models/transacao/transacao.sequelize.js rename to lab-03/code/app/models/transacao/index.js index 03be761..cfc2382 --- a/lab-03/code/app/models/transacao/transacao.sequelize.js +++ b/lab-03/code/app/models/transacao/index.js @@ -1,9 +1,9 @@ // models/transacao.js const { DataTypes } = require('sequelize'); const sequelize = require('../../config/sequelize'); // Certifique-se de que o caminho está correto -const Usuario = require('../usuario/usuario.sequelize'); // Importando o modelo Usuario -const Vantagem = require('../vantagem/vantagem.sequelize'); // Importando o modelo Vantagens -const Cupom = require('../cupom/cupom.sequelize'); +const Usuario = require('../usuario'); // Importando o modelo Usuario +const Vantagem = require('../vantagem'); // Importando o modelo Vantagens +const Cupom = require('../cupom'); const Transacao = sequelize.define('Transacao', { id: { diff --git a/lab-03/code/app/models/usuario/aluno/aluno.sequelize.js b/lab-03/code/app/models/usuario/aluno/index.js old mode 100755 new mode 100644 similarity index 90% rename from lab-03/code/app/models/usuario/aluno/aluno.sequelize.js rename to lab-03/code/app/models/usuario/aluno/index.js index 448453b..cd80ee5 --- a/lab-03/code/app/models/usuario/aluno/aluno.sequelize.js +++ b/lab-03/code/app/models/usuario/aluno/index.js @@ -1,7 +1,7 @@ // models/alunos.js const { DataTypes } = require('sequelize'); const sequelize = require('../../../config/sequelize'); -const Usuario = require('../usuario.sequelize'); // Importando o modelo Usuario +const Usuario = require('../index'); // Importando o modelo Usuario const Aluno = sequelize.define('Aluno', { id: { diff --git a/lab-03/code/app/models/usuario/empresa/empresa.sequelize.js b/lab-03/code/app/models/usuario/empresa/index.js old mode 100755 new mode 100644 similarity index 92% rename from lab-03/code/app/models/usuario/empresa/empresa.sequelize.js rename to lab-03/code/app/models/usuario/empresa/index.js index 82b154a..a43c2d5 --- a/lab-03/code/app/models/usuario/empresa/empresa.sequelize.js +++ b/lab-03/code/app/models/usuario/empresa/index.js @@ -1,7 +1,7 @@ // models/empresas.js const { DataTypes } = require('sequelize'); const sequelize = require('../../../config/sequelize'); -const Usuario = require('../usuario.sequelize'); +const Usuario = require('../index'); const Empresa = sequelize.define('Empresa', { id: { diff --git a/lab-03/code/app/models/usuario/usuario.sequelize.js b/lab-03/code/app/models/usuario/index.js old mode 100755 new mode 100644 similarity index 100% rename from lab-03/code/app/models/usuario/usuario.sequelize.js rename to lab-03/code/app/models/usuario/index.js diff --git a/lab-03/code/app/models/usuario/professor/professor.sequelize.js b/lab-03/code/app/models/usuario/professor/index.js old mode 100755 new mode 100644 similarity index 91% rename from lab-03/code/app/models/usuario/professor/professor.sequelize.js rename to lab-03/code/app/models/usuario/professor/index.js index 021816d..853933c --- a/lab-03/code/app/models/usuario/professor/professor.sequelize.js +++ b/lab-03/code/app/models/usuario/professor/index.js @@ -1,7 +1,7 @@ // models/professores.js const { DataTypes } = require('sequelize'); const sequelize = require('../../../config/sequelize'); -const Usuario = require('../usuario.sequelize'); // Importando o modelo Usuario +const Usuario = require('../index'); // Importando o modelo Usuario const Professor = sequelize.define('Professor', { id: { diff --git a/lab-03/code/app/models/vantagem/vantagem.sequelize.js b/lab-03/code/app/models/vantagem/index.js old mode 100755 new mode 100644 similarity index 89% rename from lab-03/code/app/models/vantagem/vantagem.sequelize.js rename to lab-03/code/app/models/vantagem/index.js index d5650e7..cf234a9 --- a/lab-03/code/app/models/vantagem/vantagem.sequelize.js +++ b/lab-03/code/app/models/vantagem/index.js @@ -1,7 +1,7 @@ // models/vantagens.js const { DataTypes } = require('sequelize'); const sequelize = require('../../config/sequelize'); // Certifique-se de que o caminho está correto -const Empresa = require('../usuario/empresa/empresa.sequelize'); // Importando o modelo Empresas +const Empresa = require('../usuario/empresa'); // Importando o modelo Empresas const Vantagem = sequelize.define('Vantagens', { id: { diff --git a/lab-03/code/app/models/transacao/transacao.repository.js b/lab-03/code/app/repository/transacao/index.js similarity index 92% rename from lab-03/code/app/models/transacao/transacao.repository.js rename to lab-03/code/app/repository/transacao/index.js index 4a6f0f1..44c1273 100644 --- a/lab-03/code/app/models/transacao/transacao.repository.js +++ b/lab-03/code/app/repository/transacao/index.js @@ -1,7 +1,7 @@ -const Usuario = require('../usuario/usuario.sequelize'); -const Transacao = require('./transacao.sequelize'); -const Cupom = require('../cupom/cupom.sequelize'); -const Vantagem = require('../vantagem/vantagem.sequelize'); +const Usuario = require('../../models/usuario'); +const Transacao = require('../../models/transacao'); +const Cupom = require('../../models/cupom'); +const Vantagem = require('../../models/vantagem'); const sendEmail = require('../../services/email-sender'); @@ -133,10 +133,19 @@ async function findAll(idUsuario, tipo) { }); } +async function findById(id){ + return Transacao.findByPk(id, { + include: [{ + model: Vantagem, + required: false + }] + }); +} module.exports = { create, - findAll + findAll, + findById } diff --git a/lab-03/code/app/models/usuario/aluno/aluno.model.js b/lab-03/code/app/repository/usuario/aluno/index.js old mode 100755 new mode 100644 similarity index 95% rename from lab-03/code/app/models/usuario/aluno/aluno.model.js rename to lab-03/code/app/repository/usuario/aluno/index.js index 80af49b..3f7fa1d --- a/lab-03/code/app/models/usuario/aluno/aluno.model.js +++ b/lab-03/code/app/repository/usuario/aluno/index.js @@ -1,5 +1,5 @@ -const Aluno = require('./aluno.sequelize'); -const Usuario = require('../usuario.sequelize'); +const Aluno = require('../../models/aluno'); +const Usuario = require('../../models/usuario'); const bcrypt = require('bcryptjs'); const { Error } = require('sequelize'); diff --git a/lab-03/code/app/models/usuario/empresa/empresa.model.js b/lab-03/code/app/repository/usuario/empresa/index.js old mode 100755 new mode 100644 similarity index 94% rename from lab-03/code/app/models/usuario/empresa/empresa.model.js rename to lab-03/code/app/repository/usuario/empresa/index.js index 7c9533b..cb255b1 --- a/lab-03/code/app/models/usuario/empresa/empresa.model.js +++ b/lab-03/code/app/repository/usuario/empresa/index.js @@ -1,5 +1,5 @@ -const Empresa = require('./empresa.sequelize'); -const Usuario = require('../usuario.sequelize'); +const Empresa = require('../../models/empresa'); +const Usuario = require('../../models/usuario'); const bcrypt = require('bcryptjs'); const { Error } = require('sequelize'); diff --git a/lab-03/code/app/models/usuario/user.repository.js b/lab-03/code/app/repository/usuario/index.js similarity index 83% rename from lab-03/code/app/models/usuario/user.repository.js rename to lab-03/code/app/repository/usuario/index.js index e3d4cd2..8da1d0c 100644 --- a/lab-03/code/app/models/usuario/user.repository.js +++ b/lab-03/code/app/repository/usuario/index.js @@ -1,4 +1,4 @@ -const Usuario = require('./usuario.sequelize'); +const Usuario = require('../../models/usuario'); async function findOwnUser(userId){ diff --git a/lab-03/code/app/models/usuario/professor/professor.model.js b/lab-03/code/app/repository/usuario/professor/index.js similarity index 95% rename from lab-03/code/app/models/usuario/professor/professor.model.js rename to lab-03/code/app/repository/usuario/professor/index.js index 8553ce8..723b2fc 100644 --- a/lab-03/code/app/models/usuario/professor/professor.model.js +++ b/lab-03/code/app/repository/usuario/professor/index.js @@ -1,5 +1,5 @@ -const Professor = require('./professor.sequelize'); -const Usuario = require('../usuario.sequelize'); +const Professor = require('../../models/professor'); +const Usuario = require('../../models/usuario'); const bcrypt = require('bcryptjs'); const { Error } = require('sequelize'); diff --git a/lab-03/code/app/models/vantagem/vantagem.repository.js b/lab-03/code/app/repository/vantagem/index.js similarity index 91% rename from lab-03/code/app/models/vantagem/vantagem.repository.js rename to lab-03/code/app/repository/vantagem/index.js index a2296f7..b50931d 100644 --- a/lab-03/code/app/models/vantagem/vantagem.repository.js +++ b/lab-03/code/app/repository/vantagem/index.js @@ -1,5 +1,5 @@ -const Empresa = require('../usuario/empresa/empresa.sequelize'); -const Vantagem = require('./vantagem.sequelize'); +const Empresa = require('../../models/empresa'); +const Vantagem = require('../../models/vantagem'); const { Error } = require('sequelize'); diff --git a/lab-03/code/app/routes/aluno/aluno.routes.js b/lab-03/code/app/routes/aluno/index.js old mode 100755 new mode 100644 similarity index 90% rename from lab-03/code/app/routes/aluno/aluno.routes.js rename to lab-03/code/app/routes/aluno/index.js index 643ac91..07e9e10 --- a/lab-03/code/app/routes/aluno/aluno.routes.js +++ b/lab-03/code/app/routes/aluno/index.js @@ -7,7 +7,7 @@ const { httpPut, httpDelete -} = require('./aluno.controller'); +} = require('../../controller/aluno'); const alunoRouter = express.Router(); diff --git a/lab-03/code/app/routes/auth/auth.router.js b/lab-03/code/app/routes/auth/index.js old mode 100755 new mode 100644 similarity index 81% rename from lab-03/code/app/routes/auth/auth.router.js rename to lab-03/code/app/routes/auth/index.js index 5ed4336..883aa67 --- a/lab-03/code/app/routes/auth/auth.router.js +++ b/lab-03/code/app/routes/auth/index.js @@ -1,9 +1,7 @@ const express = require('express'); const { - httpLogin - -} = require('./auth'); +} = require('../../controller/auth'); const alunoRouter = express.Router(); diff --git a/lab-03/code/app/routes/empresa/empresa.routes.js b/lab-03/code/app/routes/empresa/index.js old mode 100755 new mode 100644 similarity index 90% rename from lab-03/code/app/routes/empresa/empresa.routes.js rename to lab-03/code/app/routes/empresa/index.js index 0080468..b47bbf2 --- a/lab-03/code/app/routes/empresa/empresa.routes.js +++ b/lab-03/code/app/routes/empresa/index.js @@ -7,7 +7,7 @@ const { httpPut, httpDelete -} = require('./empresa.controller'); +} = require('../../controller/empresa'); const empresaRouter = express.Router(); diff --git a/lab-03/code/app/routes/professor/professor.routes.js b/lab-03/code/app/routes/professor/index.js similarity index 90% rename from lab-03/code/app/routes/professor/professor.routes.js rename to lab-03/code/app/routes/professor/index.js index 8e782c6..9fd0421 100644 --- a/lab-03/code/app/routes/professor/professor.routes.js +++ b/lab-03/code/app/routes/professor/index.js @@ -5,7 +5,7 @@ const { httpGetById, httpPut, httpDelete -} = require('./professor.controller'); +} = require('../../controller/professor'); const professorRouter = express.Router(); diff --git a/lab-03/code/app/routes/transacao/transacao.router.js b/lab-03/code/app/routes/transacao/index.js similarity index 62% rename from lab-03/code/app/routes/transacao/transacao.router.js rename to lab-03/code/app/routes/transacao/index.js index 0d034f1..5916758 100644 --- a/lab-03/code/app/routes/transacao/transacao.router.js +++ b/lab-03/code/app/routes/transacao/index.js @@ -1,11 +1,12 @@ const express = require('express'); -const { httpPost, httpGetAll } = require('./transacao.controller'); +const { httpPost, httpGetAll, httpGetById } = require('../../controller/transacao'); const router = express.Router(); // Rota para criar uma nova transação -router.post('/', httpPost); router.get('/', httpGetAll); +router.get('/:id', httpGetById); +router.post('/', httpPost); module.exports = router; diff --git a/lab-03/code/app/routes/uploads/uploads.router.js b/lab-03/code/app/routes/uploads/index.js similarity index 100% rename from lab-03/code/app/routes/uploads/uploads.router.js rename to lab-03/code/app/routes/uploads/index.js diff --git a/lab-03/code/app/routes/usuario/usuario.router.js b/lab-03/code/app/routes/usuario/index.js similarity index 63% rename from lab-03/code/app/routes/usuario/usuario.router.js rename to lab-03/code/app/routes/usuario/index.js index a68b72b..c5e8b52 100644 --- a/lab-03/code/app/routes/usuario/usuario.router.js +++ b/lab-03/code/app/routes/usuario/index.js @@ -4,10 +4,10 @@ const { getOwnUserData -} = require('./usuario.controller'); +} = require('../../controller/usuario'); const router = express.Router(); -router.get('/me', getOwnUserData); +router.get('/', getOwnUserData); module.exports = router; \ No newline at end of file diff --git a/lab-03/code/app/routes/vantagem/vatagem.router.js b/lab-03/code/app/routes/vantagem/index.js similarity index 87% rename from lab-03/code/app/routes/vantagem/vatagem.router.js rename to lab-03/code/app/routes/vantagem/index.js index 3dd745c..889cd54 100644 --- a/lab-03/code/app/routes/vantagem/vatagem.router.js +++ b/lab-03/code/app/routes/vantagem/index.js @@ -5,7 +5,7 @@ const { httpGetAll, httpGetById -} = require('./vantagem.controller'); +} = require('../../controller/vantagem'); const vantagemRouter = express.Router(); diff --git a/lab-03/code/frontend/package.json b/lab-03/code/frontend/package.json index 9ecc33d..21f4635 100644 --- a/lab-03/code/frontend/package.json +++ b/lab-03/code/frontend/package.json @@ -10,6 +10,7 @@ "preview": "vite preview" }, "dependencies": { + "axios": "^1.7.9", "frontend": "file:", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/lab-03/code/frontend/src/components/NavBar.jsx b/lab-03/code/frontend/src/components/NavBar.jsx index 199e5af..92bc999 100644 --- a/lab-03/code/frontend/src/components/NavBar.jsx +++ b/lab-03/code/frontend/src/components/NavBar.jsx @@ -3,9 +3,10 @@ import { Link } from 'react-router-dom'; import { useUserContext } from '../hooks/UserContext'; import { useNavigate } from 'react-router-dom'; import { FaSignOutAlt } from 'react-icons/fa'; // Importando o ícone de logout +import { getUser } from '../services/usuario'; function Navbar() { - const { userType, setUserId, setUserType, setToken, userId, token, mudar } = useUserContext(); + const { userType, setUserId, setUserType, setToken, userId, mudar } = useUserContext(); const navigate = useNavigate(); const [userInfo, setUserInfo] = useState(null); @@ -24,27 +25,17 @@ function Navbar() { // Função para buscar as informações do usuário logado const fetchUserInfo = async () => { try { - const response = await fetch(`http://localhost:3000/user/me`, { - headers: { - Authorization: `Bearer ${token}`, - }, - }); - - if (response.ok) { - const data = await response.json(); - setUserInfo(data); - } else { - console.error('Erro ao buscar informações do usuário'); - } + const data = await getUser(); + setUserInfo(data); } catch (error) { - console.error('Erro ao buscar informações do usuário:', error); + console.error(error); } }; if (userId) { fetchUserInfo(); } - }, [userId, token, mudar]); + }, [userId, mudar]); return (