aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
Diffstat (limited to 'routes')
-rw-r--r--routes/invoices.ts18
1 files changed, 17 insertions, 1 deletions
diff --git a/routes/invoices.ts b/routes/invoices.ts
index 013cedba..6be1efec 100644
--- a/routes/invoices.ts
+++ b/routes/invoices.ts
@@ -1,5 +1,5 @@
import config from "$config";
-import { db } from "$lib/db";
+import { db, g, s } from "$lib/db";
import { generate } from "$lib/invoices";
import { err } from "$lib/logging";
import { bail, fail, fields, getInvoice, getUser } from "$lib/utils";
@@ -49,6 +49,22 @@ export default {
}
},
+ async update(req, res) {
+ try {
+ const { id } = req.params;
+ const { body } = req;
+ if (!body.invoice?.tip || body.invoice.tip < 0) fail("Invalid tip");
+
+ const invoice = await g(`invoice:${id}`);
+ invoice.tip = body.invoice.tip;
+ await s(`invoice:${id}`, invoice);
+
+ res.send(invoice);
+ } catch (e) {
+ bail(res, e.message);
+ }
+ },
+
async list(req, res) {
const { id } = req.user;
let invoices = await db.lRange(`${id}:invoices`, 0, -1);