From 3b9e36be1e35d2fb10f1a77d71bc1567541b0625 Mon Sep 17 00:00:00 2001 From: mic050r <103114387+mic050r@users.noreply.github.com> Date: Sat, 16 Dec 2023 00:04:29 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat=20:=20=ED=80=B4=EC=A6=88=20=ED=8F=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EC=9E=87=20=EA=B0=9C=EB=B3=84=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20api=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/quiz.js | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/routes/quiz.js b/routes/quiz.js index c64c6ff..bf33bf7 100644 --- a/routes/quiz.js +++ b/routes/quiz.js @@ -70,6 +70,46 @@ 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: "데이터베이스 연결 오류" }); + }); +}); + // 퀴즈 포스트잇 중요도 태그 별 GET API router.get("/importance", (req, res) => { const { token, importance } = req.query; From 651249e0da695f384422ca7a8e49ec1773cd0aa6 Mon Sep 17 00:00:00 2001 From: mic050r <103114387+mic050r@users.noreply.github.com> Date: Sat, 16 Dec 2023 00:04:49 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat=20:=20=ED=80=B4=EC=A6=88=20=ED=8F=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EC=9E=87=20=EC=A7=88=EB=AC=B8,=20=EC=84=A4?= =?UTF-8?q?=EB=AA=85,=20=EC=A4=91=EC=9A=94=EB=8F=84=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20api=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/quiz.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/routes/quiz.js b/routes/quiz.js index bf33bf7..854bcfe 100644 --- a/routes/quiz.js +++ b/routes/quiz.js @@ -110,6 +110,29 @@ router.get("/:id", (req, res) => { }); }); +// 퀴즈 포스트잇 질문, 설명, 중요도 수정 +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: "데이터 업데이트 오류" }); + } +}); + // 퀴즈 포스트잇 중요도 태그 별 GET API router.get("/importance", (req, res) => { const { token, importance } = req.query; From 23a4f3a4e0f8cb2854ccacf3581ed5776e5c2ef9 Mon Sep 17 00:00:00 2001 From: mic050r <103114387+mic050r@users.noreply.github.com> Date: Sat, 16 Dec 2023 00:05:08 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat=20:=20=ED=80=B4=EC=A6=88=20=ED=8F=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EC=9E=87=20=EC=82=AD=EC=A0=9C=20api=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/quiz.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/routes/quiz.js b/routes/quiz.js index 854bcfe..776f34e 100644 --- a/routes/quiz.js +++ b/routes/quiz.js @@ -133,6 +133,25 @@ router.put("/:id", async (req, res) => { } }); +// 퀴즈 포스트잇 삭제 +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;