From 4a6056dc01e47841d05113f8c0f8b8951b7ba964 Mon Sep 17 00:00:00 2001 From: Nemo D'ACREMONT Date: Wed, 4 Dec 2024 17:56:18 +0100 Subject: [PATCH] feat: can delete boxes from member --- back-end/src/controllers/box.controller.ts | 10 +++++++++- back-end/src/routes/box.route.ts | 2 ++ back-end/src/services/box.service.ts | 7 +++++++ back-end/src/static/css/reset.css | 5 +++++ back-end/src/templates/member.ejs | 10 ++++++++++ 5 files changed, 33 insertions(+), 1 deletion(-) diff --git a/back-end/src/controllers/box.controller.ts b/back-end/src/controllers/box.controller.ts index aaaf913..fa881df 100644 --- a/back-end/src/controllers/box.controller.ts +++ b/back-end/src/controllers/box.controller.ts @@ -156,6 +156,13 @@ const boxById: RequestHandler<{ id: string; }> = async (req, res) => { res.render('box.ejs', { box }); }; +const removeBoxFromMember : RequestHandler<{ id_box: string, id_member: string }> = async (req, res) => { + const id_box = parseInt(req.params.id_box); + const id_member = parseInt(req.params.id_member); + await boxService.removeBoxFromMember(id_box, id_member) + res.sendStatus(200); +} + const registerBox: RequestHandler = async (req, res, next) => { const id_box = parseInt(req.body.id_box); const id_member = parseInt(req.body.id_member); @@ -189,7 +196,8 @@ const boxController = { allBoxesFromDate, boxById, registerBox, - boxRemovePieceById + boxRemovePieceById, + removeBoxFromMember, }; export default boxController; diff --git a/back-end/src/routes/box.route.ts b/back-end/src/routes/box.route.ts index 6948cbc..30585be 100644 --- a/back-end/src/routes/box.route.ts +++ b/back-end/src/routes/box.route.ts @@ -12,6 +12,8 @@ boxRouter.post("/register", boxController.registerBox); boxRouter.get("/:title", boxController.boxByTitle); boxRouter.post("/:title", boxController.boxAddPieces); +boxRouter.delete("/:id_box/:id_member", boxController.removeBoxFromMember); + boxRouter.delete("/byid/:id_box", boxController.boxRemovePieceById); boxRouter.post("/byid/:id_box", boxController.boxAddPiecesById); diff --git a/back-end/src/services/box.service.ts b/back-end/src/services/box.service.ts index db19925..8d0f142 100644 --- a/back-end/src/services/box.service.ts +++ b/back-end/src/services/box.service.ts @@ -126,6 +126,12 @@ const registerBox = async (id_box: number, id_member: number, quantity: number) await client.query("INSERT INTO enregistrer VALUES($1, $2, $3);", [id_box, id_member, quantity]); } +const removeBoxFromMember = async (id_box: number, id_member: number) => { + const client = new_client(); + + await client.query("DELETE FROM enregistrer WHERE id_boite=$1 AND id_membre=$2;", [id_box, id_member]); +} + const boxService = { addPiecesToBox, getBox, @@ -134,6 +140,7 @@ const boxService = { removePieceFromBox, registerBox, getBoxesFromMember, + removeBoxFromMember, }; export default boxService; diff --git a/back-end/src/static/css/reset.css b/back-end/src/static/css/reset.css index b3330a1..effdb0b 100644 --- a/back-end/src/static/css/reset.css +++ b/back-end/src/static/css/reset.css @@ -6,6 +6,11 @@ font-family: sans-serif; } +button { + background-color: transparent; + cursor: pointer; +} + pre, code { font-family: monospace; } diff --git a/back-end/src/templates/member.ejs b/back-end/src/templates/member.ejs index 437ad77..2886553 100644 --- a/back-end/src/templates/member.ejs +++ b/back-end/src/templates/member.ejs @@ -21,7 +21,15 @@ padding: .5rem 1rem; } + + i { color: var(--bg); } + + @@ -69,6 +77,7 @@ Nombre de pièces Quantité + @@ -87,6 +96,7 @@ <%=box.second%> + <% }); %>