feat: complete day 8

This commit is contained in:
Ayobami
2025-07-15 17:41:52 +01:00
parent 10447cd05e
commit 7d8ed6d0ee
7 changed files with 407 additions and 293 deletions
+32 -3
View File
@@ -1,9 +1,38 @@
var express = require('express');
var express = require("express");
var router = express.Router();
const db = require("../models");
const path = require("path");
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
router.get("/", function (req, res, next) {
res.render("index", { title: "Express" });
});
// API endpoint to get quiz and questions
router.get("/api/quiz", async function (req, res) {
try {
const quiz = await db.quiz.findOne({
include: [{ model: db.question, as: "questions" }],
});
if (!quiz) {
return res.json({ success: false, error: "Quiz not found" });
}
// Parse options from JSON string to array for each question
const quizData = quiz.toJSON();
quizData.questions = quizData.questions.map((q) => ({
...q,
options:
typeof q.options === "string" ? JSON.parse(q.options) : q.options,
}));
res.json({ success: true, data: quizData });
} catch (err) {
res.json({ success: false, error: err.message });
}
});
// Serve quiz.html at /quiz
router.get("/quiz", function (req, res) {
res.sendFile(path.join(__dirname, "../quiz.html"));
});
module.exports = router;