diff options
Diffstat (limited to 'pages/shop/cart/remove.fnl')
| -rw-r--r-- | pages/shop/cart/remove.fnl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/pages/shop/cart/remove.fnl b/pages/shop/cart/remove.fnl new file mode 100644 index 0000000..d5e3531 --- /dev/null +++ b/pages/shop/cart/remove.fnl @@ -0,0 +1,23 @@ +(local lib (require :lib)) + +(fn render [request db] + (if (= request.method "POST") + (let [order-id (lib.order-id request)] + (if (and order-id request.body) + (do + (local body-values (lib.parse-values request.body)) + (_G.must + (luna.db.exec + db + "DELETE FROM order_lines WHERE id = ? AND order_id = ?" + [body-values.id order-id])) + (values + 302 + {:Location (_G.must + (luna.http.decode-url + (or body-values.redirect-url "/shop")))} + "")) + (values 400 {} "bad body"))) + (values 404 {} "not found"))) + +{: render} |
