From 3a112b875125be17bd1a181026e7045c1059aeda Mon Sep 17 00:00:00 2001 From: mic050r <103114387+mic050r@users.noreply.github.com> Date: Fri, 15 Dec 2023 23:57:18 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat=20:=20=EC=98=A4=EB=8B=B5=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/wrong.js | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/routes/wrong.js b/routes/wrong.js index 9889ebd..cf95b8e 100644 --- a/routes/wrong.js +++ b/routes/wrong.js @@ -33,7 +33,7 @@ router.post("/", (req, res) => { }); }); -// 퀴즈 리스트 GET API 생성 +// 오답 리스트 GET API 생성 router.get("/list", (req, res) => { const { token } = req.query; @@ -69,7 +69,46 @@ router.get("/list", (req, res) => { }); }); -// 퀴즈 포스트잇 중요도 태그 별 GET API +// 오답 포스트잇 조회 API +router.get("/:id", (req, res) => { + const id = req.params.id; + + // 데이터베이스 풀에서 연결 얻기 + pool + .getConnection() + .then((conn) => { + // 데이터베이스에서 데이터 조회 + conn + .query("SELECT * FROM Wrong 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, + 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 899d47a31ebe635e049824020737a60a380636e1 Mon Sep 17 00:00:00 2001 From: mic050r <103114387+mic050r@users.noreply.github.com> Date: Fri, 15 Dec 2023 23:57:37 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat=20:=20=EC=98=A4=EB=8B=B5=20=ED=8F=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EC=9E=87=20=EC=84=A4=EB=AA=85,=20=EC=A4=91?= =?UTF-8?q?=EC=9A=94=EB=8F=84=20=EC=88=98=EC=A0=95=20api=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/wrong.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/routes/wrong.js b/routes/wrong.js index cf95b8e..490165c 100644 --- a/routes/wrong.js +++ b/routes/wrong.js @@ -108,6 +108,29 @@ router.get("/:id", (req, res) => { }); }); +// 오답 포스트잇 설명, 중요도 수정 +router.put("/:id", async (req, res) => { + try { + const { id } = req.params; + const { importance, description } = req.body; + const conn = await pool.getConnection(); + const result = await conn.query( + "UPDATE Wrong SET importance = ? , description =? WHERE id = ?", + [importance, 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 087c2700186b6732267232bae053fd503f6fc296 Mon Sep 17 00:00:00 2001 From: mic050r <103114387+mic050r@users.noreply.github.com> Date: Fri, 15 Dec 2023 23:57:53 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat=20:=20=EC=98=A4=EB=8B=B5=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/wrong.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/routes/wrong.js b/routes/wrong.js index 490165c..ec047a6 100644 --- a/routes/wrong.js +++ b/routes/wrong.js @@ -131,6 +131,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 Wrong 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;