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) +);