ÿØÿà JFIF ` ` ÿþ
|
Server : Apache System : Linux cloud.heroica.com.br 4.18.0-553.36.1.el8_10.x86_64 #1 SMP Wed Jan 22 03:07:54 EST 2025 x86_64 User : farolpborg ( 1053) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /var/www/node_services/apicentralquestoes/src/controllers/ |
Upload File : |
const provaService = require("../services/provasService.js");
const provasController = {
listarProvas: async (req, res) => {
const { segmento } = req.query;
try {
const provas = await provaService.listarProvas(segmento);
if (provas.erro) {
return res.status(provas.erro).json({ mensagem: provas.mensagem });
}
return res.status(200).json(provas);
} catch (error) {
res.status(500).json({ erro: error.message });
}
},
obterProvaPorId: async (req, res) => {
const { id } = req.params;
const userId = req.userId;
try {
const resultado = await provaService.obterProvaPorId(id, userId);
if (resultado.erro) {
return res
.status(resultado.erro)
.json({ mensagem: resultado.mensagem });
}
return res.status(200).json(resultado);
} catch (error) {
console.error("Erro no controller:", error);
res.status(500).json({ erro: "Erro interno no servidor." });
}
},
obterProgressoPorProva: async (req, res) => {
const { id } = req.params; // ID da prova
const userId = req.userId; // ID do usuário (assumindo que vem do middleware de autenticação)
try {
const progresso = await provaService.obterProgressoPorProva(id, userId);
if (progresso.erro) {
return res
.status(progresso.erro)
.json({ mensagem: progresso.mensagem });
}
return res.status(200).json(progresso);
} catch (error) {
console.error("Erro no controller ao obter progresso:", error);
res.status(500).json({ erro: "Erro interno no servidor." });
}
},
registrarResposta: async (req, res) => {
const { id } = req.params; // ID da prova
const userId = req.userId; // ID do usuário (assumindo que vem do middleware de autenticação)
const { numeroQuestao, alternativa } = req.body; // Dados enviados no corpo da requisição
try {
const progresso = await provaService.registrarResposta(
id,
userId,
numeroQuestao,
alternativa
);
if (progresso.erro) {
return res
.status(progresso.erro)
.json({ mensagem: progresso.mensagem });
}
return res.status(200).json(progresso);
} catch (error) {
console.error("Erro no controller ao registrar resposta:", error);
res.status(500).json({ erro: "Erro interno no servidor." });
}
},
};
module.exports = provasController;