aboutsummaryrefslogtreecommitdiff
path: root/src/cmd_vouchers.c
diff options
context:
space:
mode:
authorAnders Betts <anders.betts@gmail.com>2026-09-21 09:47:50 +0200
committerAnders Betts <anders.betts@gmail.com>2026-09-21 11:01:07 +0200
commitb1956aa73a533702ccbc3d7713ea90dd5ae44b9b (patch)
tree7d3d4c8db28cbe15cfdf916f74ea7d77a5666414 /src/cmd_vouchers.c
parente25a8c9ae70e5a310c1a82be55d0dbf58ba71250 (diff)
downloadbokf-b1956aa73a533702ccbc3d7713ea90dd5ae44b9b.tar.gz
bokf-b1956aa73a533702ccbc3d7713ea90dd5ae44b9b.zip
commands: db_row_json and db_exec_bound helpers
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/cmd_vouchers.c')
-rw-r--r--src/cmd_vouchers.c27
1 files changed, 5 insertions, 22 deletions
diff --git a/src/cmd_vouchers.c b/src/cmd_vouchers.c
index 8977878..f6f0146 100644
--- a/src/cmd_vouchers.c
+++ b/src/cmd_vouchers.c
@@ -265,28 +265,11 @@ static yyjson_mut_val *h_voucher_post(struct req *r)
static yyjson_mut_val *voucher_json(struct req *r, sqlite3_stmt *st)
{
- yyjson_mut_val *o = yyjson_mut_obj(r->rdoc);
- yyjson_mut_obj_add_int(r->rdoc, o, "id", sqlite3_column_int64(st, 0));
- yyjson_mut_obj_add_int(r->rdoc, o, "fiscal_year_id",
- sqlite3_column_int64(st, 1));
- yyjson_mut_obj_add_strcpy(r->rdoc, o, "series",
- sq(sqlite3_column_text(st, 2)));
- yyjson_mut_obj_add_int(r->rdoc, o, "number", sqlite3_column_int64(st, 3));
- yyjson_mut_obj_add_strcpy(r->rdoc, o, "date",
- sq(sqlite3_column_text(st, 4)));
- yyjson_mut_obj_add_strcpy(r->rdoc, o, "description",
- sq(sqlite3_column_text(st, 5)));
- yyjson_mut_obj_add_strcpy(r->rdoc, o, "source",
- sq(sqlite3_column_text(st, 6)));
- if (sqlite3_column_type(st, 7) == SQLITE_NULL)
- yyjson_mut_obj_add_null(r->rdoc, o, "corrects_voucher_id");
- else
- yyjson_mut_obj_add_int(r->rdoc, o, "corrects_voucher_id",
- sqlite3_column_int64(st, 7));
- yyjson_mut_obj_add_strcpy(r->rdoc, o, "created_at",
- sq(sqlite3_column_text(st, 8)));
- yyjson_mut_obj_add_int(r->rdoc, o, "created_by_user",
- sqlite3_column_int64(st, 9));
+ yyjson_mut_val *o = db_row_json(r->rdoc, st,
+ "id:i,fiscal_year_id:i,series:s,number:i,"
+ "date:s,description:s,source:s,"
+ "corrects_voucher_id:r,created_at:s,"
+ "created_by_user:i");
char hex[65];
const void *hb = sqlite3_column_blob(st, 10);
if (hb && sqlite3_column_bytes(st, 10) == 32) {