From 7545ae6e31d248f33f8d2a1b5f1c7f169bd9f159 Mon Sep 17 00:00:00 2001 From: jailton Date: Tue, 20 Jun 2023 01:05:37 +0000 Subject: [PATCH] =?UTF-8?q?implementando=20servi=C3=A7oes=20de=20delete=20?= =?UTF-8?q?e=20altera=C3=A7=C3=A3o=20de=20status=20da=20encomenda?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../netunovendas/encomenda/cancel.patch.js | 42 +++++++++++++++++++ .../services/netunovendas/encomenda/delete.js | 37 ++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 server/services/netunovendas/encomenda/cancel.patch.js create mode 100644 server/services/netunovendas/encomenda/delete.js diff --git a/server/services/netunovendas/encomenda/cancel.patch.js b/server/services/netunovendas/encomenda/cancel.patch.js new file mode 100644 index 0000000..71ed18d --- /dev/null +++ b/server/services/netunovendas/encomenda/cancel.patch.js @@ -0,0 +1,42 @@ +const uidEncomenda = _req.getUID('uid'); + +const dbEncomenda = _db.queryFirst(`SELECT status FROM encomenda WHERE uid = ?::uuid`,uidEncomenda); + +if (dbEncomenda == null) { + _header.status(404); + _out.json( + _val.map() + .set("error",true) + .set("message", "encomenda does not exists!") + ) + _exec.stop(); +} + +/* + * CREATED - 1 + * SENT - 2 + * CANCELED - 3 +*/ + +if (dbEncomenda.getInt('status') == 3) { + _header.status(400); + _out.json( + _val.map() + .set("error",true) + .set("message", "encomenda already canceled!") + ) + _exec.stop(); +} + +_db.execute("UPDATE encomenda set status = ?::int WHERE uid = ?::uuid", + _val.init() + .add(3) + .add(uidEncomenda) +); + +_out.json( + _val.map( + _val.map() + .set("result",true) + ) +); diff --git a/server/services/netunovendas/encomenda/delete.js b/server/services/netunovendas/encomenda/delete.js new file mode 100644 index 0000000..7d607a2 --- /dev/null +++ b/server/services/netunovendas/encomenda/delete.js @@ -0,0 +1,37 @@ +const uidEncomenda = _req.getUID("uid"); + +if(uidEncomenda == null){ + _header.status(404) + _out.json( + _val.map() + .set("message","encomenda uid is required!") + ) + _exec.stop(); +} + +const dbEncomenda = _db.queryFirst("SELECT id FROM encomenda WHERE uid = ?::uuid",uidEncomenda); + +if(dbEncomenda == null){ + _header.status(404) + _out.json( + _val.map() + .set("error",true) + .set("message","encomenda does not exists!") + ) + _exec.stop(); +} + +_db.execute("DELETE FROM encomenda_item WHERE encomenda_id = ?::int", + _val.init() + .add(dbEncomenda.getInt('id')) +); + +_db.execute(`DELETE FROM encomenda WHERE id = ?::int`, + _val.init() + .add(dbEncomenda.getInt('id')) +); + +_out.json( + _val.map() + .set("result", true) +);