aboutsummaryrefslogtreecommitdiff
path: root/src/cmd_vouchers.c
diff options
context:
space:
mode:
authorAnders Betts <anders.betts@gmail.com>2026-09-20 21:55:04 +0200
committerAnders Betts <anders.betts@gmail.com>2026-09-20 22:02:57 +0200
commitceff3d26732a7fde2f66df0270269d3bebcfabf7 (patch)
tree4ad6677617cae9de4aa4b5b42352a7a8cf29a3e9 /src/cmd_vouchers.c
parent10a535ace098144980d0ffd1593f6384c39cc221 (diff)
downloadbokf-ceff3d26732a7fde2f66df0270269d3bebcfabf7.tar.gz
bokf-ceff3d26732a7fde2f66df0270269d3bebcfabf7.zip
commands: shared DB-error helpers
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/cmd_vouchers.c')
-rw-r--r--src/cmd_vouchers.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cmd_vouchers.c b/src/cmd_vouchers.c
index 3e30544..8977878 100644
--- a/src/cmd_vouchers.c
+++ b/src/cmd_vouchers.c
@@ -315,7 +315,7 @@ static yyjson_mut_val *h_voucher_get(struct req *r)
r->db,
"SELECT " VOUCHER_COLUMNS " FROM vouchers WHERE org_id=?1 AND id=?2",
-1, &st, NULL) != SQLITE_OK)
- return fail(r, "INTERNAL", "database error");
+ return db_error(r);
sqlite3_bind_int64(st, 1, r->org_id);
sqlite3_bind_int64(st, 2, id);
if (sqlite3_step(st) != SQLITE_ROW) {
@@ -395,7 +395,7 @@ static yyjson_mut_val *h_voucher_list(struct req *r)
r->db,
"SELECT id FROM accounts WHERE org_id=?1 AND number=?2", -1,
&st, NULL) != SQLITE_OK)
- return fail(r, "INTERNAL", "database error");
+ return db_error(r);
sqlite3_bind_int64(st, 1, r->org_id);
sqlite3_bind_text(st, 2, account, -1, SQLITE_TRANSIENT);
if (sqlite3_step(st) != SQLITE_ROW) {
@@ -426,7 +426,7 @@ static yyjson_mut_val *h_voucher_list(struct req *r)
" AND (?7='' OR v.description LIKE '%'||?7||'%')"
" AND v.id>?8 ORDER BY v.id LIMIT ?9",
-1, &st, NULL) != SQLITE_OK)
- return fail(r, "INTERNAL", "database error");
+ return db_error(r);
sqlite3_bind_int64(st, 1, r->org_id);
sqlite3_bind_int64(st, 2, fy);
sqlite3_bind_text(st, 3, series ? series : "", -1, SQLITE_TRANSIENT);
@@ -490,7 +490,7 @@ static yyjson_mut_val *h_voucher_correct(struct req *r)
r->db,
"SELECT series,date FROM vouchers WHERE org_id=?1 AND id=?2", -1,
&st, NULL) != SQLITE_OK)
- return fail(r, "INTERNAL", "database error");
+ return db_error(r);
sqlite3_bind_int64(st, 1, r->org_id);
sqlite3_bind_int64(st, 2, id);
if (sqlite3_step(st) != SQLITE_ROW) {
@@ -510,7 +510,7 @@ static yyjson_mut_val *h_voucher_correct(struct req *r)
" JOIN accounts a ON a.org_id=r.org_id AND a.id=r.account_id"
" WHERE r.org_id=?1 AND r.voucher_id=?2 ORDER BY r.line_no",
-1, &st, NULL) != SQLITE_OK)
- return fail(r, "INTERNAL", "database error");
+ return db_error(r);
sqlite3_bind_int64(st, 1, r->org_id);
sqlite3_bind_int64(st, 2, id);
while (sqlite3_step(st) == SQLITE_ROW) {