diff --git a/drill-and-practice/routes/controllers/answerController.js b/drill-and-practice/routes/controllers/answerController.js index c5ba3ef..c15437b 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, context, render }) => { +const addAnswer = async ({ request, response, params, state, render }) => { const topicId = params.tId; const questionId = params.qId; - const userId = (await context.state.session.get("user")).id; + const userId = (await 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 64682df..5bb94f9 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, context, render }) => { +const login = async ({ request, response, state, 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, context, render }) => { return; } - await context.state.session.set("user", user); + await state.session.set("user", user); response.redirect("/topics"); }; diff --git a/drill-and-practice/routes/controllers/questionController.js b/drill-and-practice/routes/controllers/questionController.js index b93f342..ac59d6a 100644 --- a/drill-and-practice/routes/controllers/questionController.js +++ b/drill-and-practice/routes/controllers/questionController.js @@ -7,9 +7,9 @@ const validationRules = { question: [validasaur.required, validasaur.minLength(1)], }; -const addQuestion = async ({ request, response, params, context, render }) => { +const addQuestion = async ({ request, response, params, state, render }) => { const topicId = params.tId; - const userId = (await context.state.session.get("user")).id; + const userId = (await state.session.get("user")).id; const body = request.body({ type: "form" }); const formData = await body.value; const topicName = (await topicService.getTopicByTopicId(topicId)).name; @@ -83,7 +83,7 @@ const getRandQuestion = async ({ params, response }) => { if (randQuestion === null) { response.body = "No questions in this topic!"; } else { - response.redirect(`/topics/${topicId}/questions/${randQuestion.id}/quiz`); + response.redirect(`/quiz/${topicId}/questions/${randQuestion.id}`); } }; @@ -93,12 +93,15 @@ const listQuizTopics = async ({ render }) => { }); }; -const storeAnswer = async ({ response, params, context }) => { +const storeAnswer = async ({ response, params, state }) => { const topicId = params.tId; const questionId = params.qId; const optionId = params.oId; - const userId = (await context.state.session.get("user")).id; - const correctOptionIds = await answerService.getCorrectOptionIds(questionId); + const userId = (await state.session.get("user")).id; + const correctOptionIds = ( + await answerService.getCorrectOptionIds(questionId) + ).map((obj) => obj.id); + console.log(correctOptionIds); const correct = correctOptionIds.includes(Number(optionId)); await answerService.storeAnswer(userId, questionId, optionId); if (correct) { @@ -115,9 +118,10 @@ const showCorrect = async ({ params, render }) => { const showIncorrect = async ({ params, render }) => { const questionId = params.qId; const correctOptions = { - data: [await answerService.getCorrectOptions(questionId)], + data: await answerService.getCorrectOptions(questionId), tId: params.tId, }; + console.log(correctOptions); render("incorrect.eta", correctOptions); }; diff --git a/drill-and-practice/routes/controllers/topicController.js b/drill-and-practice/routes/controllers/topicController.js index 442ddbc..ae1f51f 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, context }) => { - const userId = (await context.state.session.get("user")).id; - const admin = (await context.state.session.get("user")).admin; +const addTopic = async ({ request, response, render, state }) => { + const userId = (await state.session.get("user")).id; + const admin = (await 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, context }) => { } }; -const deleteTopic = async ({ params, response, context }) => { +const deleteTopic = async ({ params, response, state }) => { const topicId = params.tId; - const admin = (await context.state.session.get("user")).admin; + const admin = (await state.session.get("user")).admin; if (admin) { await topicService.deleteTopic(topicId); } response.redirect("/topics"); }; -const listTopics = async ({ render, context }) => { - const user = await context.state.session.get("user"); +const listTopics = async ({ render, state }) => { + const user = await 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 1ee81a8..625d402 100644 --- a/drill-and-practice/services/answerService.js +++ b/drill-and-practice/services/answerService.js @@ -8,7 +8,6 @@ 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 0556ab5..71feac6 100644 --- a/drill-and-practice/services/topicService.js +++ b/drill-and-practice/services/topicService.js @@ -6,7 +6,6 @@ const addTopic = async (userId, name) => { const countTopics = async () => { const result = await sql`SELECT COUNT(id) FROM topics`; - console.log(result[0].count); return result[0].count; }; diff --git a/drill-and-practice/views/correct.eta b/drill-and-practice/views/correct.eta index d06b822..0b03efe 100644 --- a/drill-and-practice/views/correct.eta +++ b/drill-and-practice/views/correct.eta @@ -1,4 +1,4 @@ <% layout("./layouts/layout.eta") %>
Correct options are not found.
<% } %> -Next question +Next question diff --git a/drill-and-practice/views/question.eta b/drill-and-practice/views/question.eta index 676c546..e207280 100644 --- a/drill-and-practice/views/question.eta +++ b/drill-and-practice/views/question.eta @@ -6,7 +6,7 @@ <% it.details.forEach((item) => { %>