diff --git a/drill-and-practice/middlewares/authMiddleware.js b/drill-and-practice/middlewares/authMiddleware.js index 799dcee..b61e732 100644 --- a/drill-and-practice/middlewares/authMiddleware.js +++ b/drill-and-practice/middlewares/authMiddleware.js @@ -2,7 +2,6 @@ const restrictedPaths = ["/topics", "/quiz"]; const authMiddleware = async (context, next) => { const user = await context.state.session.get("user"); - console.log(user); if ( !user && restrictedPaths.some((path) => diff --git a/drill-and-practice/routes/controllers/answerController.js b/drill-and-practice/routes/controllers/answerController.js index c15437b..c5ba3ef 100644 --- a/drill-and-practice/routes/controllers/answerController.js +++ b/drill-and-practice/routes/controllers/answerController.js @@ -6,10 +6,10 @@ const validationRules = { option: [validasaur.required, validasaur.minLength(1)], }; -const addAnswer = async ({ request, response, params, state, render }) => { +const addAnswer = async ({ request, response, params, context, render }) => { const topicId = params.tId; const questionId = params.qId; - const userId = (await state.session.get("user")).id; + const userId = (await context.state.session.get("user")).id; const body = request.body({ type: "form" }); const formData = await body.value; const answerData = { diff --git a/drill-and-practice/routes/controllers/authController.js b/drill-and-practice/routes/controllers/authController.js index 5bb94f9..64682df 100644 --- a/drill-and-practice/routes/controllers/authController.js +++ b/drill-and-practice/routes/controllers/authController.js @@ -36,7 +36,7 @@ const register = async ({ request, response, render }) => { } }; -const login = async ({ request, response, state, render }) => { +const login = async ({ request, response, context, render }) => { const body = request.body({ type: "form" }); const params = await body.value; const userDatabase = await authService.findUser(params.get("email")); @@ -58,7 +58,7 @@ const login = async ({ request, response, state, render }) => { return; } - await state.session.set("user", user); + await context.state.session.set("user", user); response.redirect("/topics"); }; diff --git a/drill-and-practice/routes/controllers/mainController.js b/drill-and-practice/routes/controllers/mainController.js index c5e67f5..2b2dfa5 100644 --- a/drill-and-practice/routes/controllers/mainController.js +++ b/drill-and-practice/routes/controllers/mainController.js @@ -2,15 +2,15 @@ import { countTopics } from "../../services/topicService.js"; import { countQuestions } from "../../services/questionService.js"; import { countAnswers } from "../../services/answerService.js"; -const showMain = ({ render }) => { +const showMain = async ({ render }) => { const statistics = { - totalTopics: 0, - totalQuestions: 0, - totalAnswers: 0, + totalTopics: "0", + totalQuestions: "0", + totalAnswers: "0", }; - statistics.totalTopics = countTopics(); - statistics.totalQuestions = countQuestions(); - statistics.totalAnswers = countAnswers(); + statistics.totalTopics = await countTopics(); + statistics.totalQuestions = await countQuestions(); + statistics.totalAnswers = await countAnswers(); render("main.eta", statistics); }; diff --git a/drill-and-practice/routes/controllers/questionController.js b/drill-and-practice/routes/controllers/questionController.js index 4ca09dd..b93f342 100644 --- a/drill-and-practice/routes/controllers/questionController.js +++ b/drill-and-practice/routes/controllers/questionController.js @@ -7,16 +7,16 @@ const validationRules = { question: [validasaur.required, validasaur.minLength(1)], }; -const addQuestion = async ({ request, response, params, state, render }) => { +const addQuestion = async ({ request, response, params, context, render }) => { const topicId = params.tId; - const userId = (await state.session.get("user")).id; + const userId = (await context.state.session.get("user")).id; const body = request.body({ type: "form" }); const formData = await body.value; const topicName = (await topicService.getTopicByTopicId(topicId)).name; const questionData = { topicId: topicId, topicName: topicName, - question: formData.get("question_text"), + question: formData.get("question"), }; const [passes, errors] = await validasaur.validate( questionData, @@ -93,11 +93,11 @@ const listQuizTopics = async ({ render }) => { }); }; -const storeAnswer = async ({ response, params, state }) => { +const storeAnswer = async ({ response, params, context }) => { const topicId = params.tId; const questionId = params.qId; const optionId = params.oId; - const userId = (await state.session.get("user")).id; + const userId = (await context.state.session.get("user")).id; const correctOptionIds = await answerService.getCorrectOptionIds(questionId); const correct = correctOptionIds.includes(Number(optionId)); await answerService.storeAnswer(userId, questionId, optionId); diff --git a/drill-and-practice/routes/controllers/topicController.js b/drill-and-practice/routes/controllers/topicController.js index ae1f51f..442ddbc 100644 --- a/drill-and-practice/routes/controllers/topicController.js +++ b/drill-and-practice/routes/controllers/topicController.js @@ -5,9 +5,9 @@ const validationRules = { name: [validasaur.required, validasaur.minLength(1)], }; -const addTopic = async ({ request, response, render, state }) => { - const userId = (await state.session.get("user")).id; - const admin = (await state.session.get("user")).admin; +const addTopic = async ({ request, response, render, context }) => { + const userId = (await context.state.session.get("user")).id; + const admin = (await context.state.session.get("user")).admin; const body = request.body({ type: "form" }); const params = await body.value; const topicData = { @@ -33,17 +33,17 @@ const addTopic = async ({ request, response, render, state }) => { } }; -const deleteTopic = async ({ params, response, state }) => { +const deleteTopic = async ({ params, response, context }) => { const topicId = params.tId; - const admin = (await state.session.get("user")).admin; + const admin = (await context.state.session.get("user")).admin; if (admin) { await topicService.deleteTopic(topicId); } response.redirect("/topics"); }; -const listTopics = async ({ render, state }) => { - const user = await state.session.get("user"); +const listTopics = async ({ render, context }) => { + const user = await context.state.session.get("user"); render("topics.eta", { admin: user.admin, topics: await topicService.getAllTopics(), diff --git a/drill-and-practice/services/answerService.js b/drill-and-practice/services/answerService.js index 625d402..1ee81a8 100644 --- a/drill-and-practice/services/answerService.js +++ b/drill-and-practice/services/answerService.js @@ -8,6 +8,7 @@ const countAnswers = async () => { const getAnswersByQuestionId = async (questionId) => { const result = await sql`SELECT * FROM question_answer_options WHERE question_id = ${questionId}`; + console.log(result); return result; }; diff --git a/drill-and-practice/services/topicService.js b/drill-and-practice/services/topicService.js index 60f40ca..0556ab5 100644 --- a/drill-and-practice/services/topicService.js +++ b/drill-and-practice/services/topicService.js @@ -6,26 +6,23 @@ const addTopic = async (userId, name) => { const countTopics = async () => { const result = await sql`SELECT COUNT(id) FROM topics`; - console.log(result); + console.log(result[0].count); return result[0].count; }; const getAllTopics = async () => { const result = await sql`SELECT * FROM topics ORDER BY name ASC`; - console.log(result); return result; }; const getTopicsByUserId = async (userId) => { const result = await sql`SELECT * FROM topics WHERE user_id = ${userId} ORDER BY name ASC`; - console.log(result); return result; }; const getTopicByTopicId = async (topicId) => { const result = await sql`SELECT * FROM topics WHERE id = ${topicId}`; - console.log(result); return result[0]; }; diff --git a/drill-and-practice/views/question.eta b/drill-and-practice/views/question.eta index 634a45e..676c546 100644 --- a/drill-and-practice/views/question.eta +++ b/drill-and-practice/views/question.eta @@ -30,7 +30,7 @@
diff --git a/drill-and-practice/views/topics.eta b/drill-and-practice/views/topics.eta index e8ae149..093cfc3 100644 --- a/drill-and-practice/views/topics.eta +++ b/drill-and-practice/views/topics.eta @@ -36,7 +36,7 @@ <% if (it.admin) { %> <% } %>