Skip to content

Commit

Permalink
Merge pull request #32 from mic050r/main
Browse files Browse the repository at this point in the history
feat : 퀴즈 포스트잇 개별조회, 수정, 삭제 api 추가
  • Loading branch information
mic050r authored Dec 15, 2023
2 parents efef5e5 + 23a4f3a commit e1ffcd5
Showing 1 changed file with 82 additions and 0 deletions.
82 changes: 82 additions & 0 deletions routes/quiz.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,88 @@ router.get("/list", (req, res) => {
});
});

// 퀴즈 포스트잇 조회 API
router.get("/:id", (req, res) => {
const id = req.params.id;

// 데이터베이스 풀에서 연결 얻기
pool
.getConnection()
.then((conn) => {
// 데이터베이스에서 데이터 조회
conn
.query("SELECT * FROM Quiz WHERE id = ?", [id])
.then((results) => {
if (results.length === 0) {
// 해당 ID에 대한 데이터가 없을 경우
res.status(404).json({ error: "데이터를 찾을 수 없습니다." });
} else {
// 조회된 데이터를 JSON 응답으로 반환
const data = {
id: results[0].id,
token: results[0].token,
question: results[0].question,
importance: results[0].importance,
description: results[0].description,
};
res.json(data);
}
conn.release(); // 연결 반환
})
.catch((err) => {
console.error("데이터 조회 오류:", err);
res.status(500).json({ error: "데이터 조회 오류" });
conn.release(); // 연결 반환
});
})
.catch((err) => {
console.error("데이터베이스 연결 오류:", err);
res.status(500).json({ error: "데이터베이스 연결 오류" });
});
});

// 퀴즈 포스트잇 질문, 설명, 중요도 수정
router.put("/:id", async (req, res) => {
try {
const { id } = req.params;
const { importance, question, description } = req.body;
const conn = await pool.getConnection();
const result = await conn.query(
"UPDATE Quiz SET importance = ? , question = ? , description =? WHERE id = ?",
[importance, question, description, id]
);
conn.release();

if (result.affectedRows === 0) {
res.status(404).json({ error: "데이터를 찾을 수 없습니다." });
} else {
res.json({ message: "데이터가 성공적으로 업데이트되었습니다." });
}
} catch (err) {
console.error("데이터 업데이트 오류:", err);
res.status(500).json({ error: "데이터 업데이트 오류" });
}
});

// 퀴즈 포스트잇 삭제
router.delete("/:id", async (req, res) => {
try {
const { id } = req.params;
const conn = await pool.getConnection();
const result = await conn.query("DELETE FROM Quiz WHERE id = ?", [id]);
conn.release();

if (result.affectedRows === 0) {
res.status(404).json({ error: "데이터를 찾을 수 없습니다." });
} else {
res.json({ message: "데이터가 성공적으로 삭제되었습니다." });
}
} catch (err) {
console.error("데이터 삭제 오류:", err);
res.status(500).json({ error: "데이터 삭제 오류" });
}
});

// 퀴즈 포스트잇 중요도 태그 별 GET API
router.get("/importance", (req, res) => {
const { token, importance } = req.query;
Expand Down

0 comments on commit e1ffcd5

Please sign in to comment.