aboutsummaryrefslogtreecommitdiff
path: root/src/cmd_settings.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_settings.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_settings.c')
-rw-r--r--src/cmd_settings.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd_settings.c b/src/cmd_settings.c
index 8ae60ed..066dc55 100644
--- a/src/cmd_settings.c
+++ b/src/cmd_settings.c
@@ -116,7 +116,7 @@ static yyjson_mut_val *h_settings_set(struct req *r)
" AND key=?2";
if (sqlite3_prepare_v2(r->db, sql, -1, &st, NULL) != SQLITE_OK) {
free(stored);
- return fail(r, "INTERNAL", "database error");
+ return db_error(r);
}
sqlite3_bind_int64(st, 1, r->org_id);
sqlite3_bind_text(st, 2, key, -1, SQLITE_TRANSIENT);
@@ -126,7 +126,7 @@ static yyjson_mut_val *h_settings_set(struct req *r)
sqlite3_finalize(st);
free(stored);
if (rc != SQLITE_DONE)
- return fail(r, "INTERNAL", sqlite3_errmsg(r->db));
+ return db_sqlite_error(r);
char *reqjson = settings_secret_audit_json(key);
audit_append(r->db, r->org_id, r->sess->user_id, r->sess->token_id,
"settings.set", reqjson, "OK", NULL);
@@ -193,14 +193,14 @@ static yyjson_mut_val *h_settings_set(struct req *r)
"INSERT INTO settings(org_id,key,value) VALUES(?1,?2,?3)"
" ON CONFLICT(org_id,key) DO UPDATE SET value=excluded.value",
-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, key, -1, SQLITE_TRANSIENT);
sqlite3_bind_text(st, 3, value, -1, SQLITE_TRANSIENT);
int rc = sqlite3_step(st);
sqlite3_finalize(st);
if (rc != SQLITE_DONE)
- return fail(r, "INTERNAL", sqlite3_errmsg(r->db));
+ return db_sqlite_error(r);
char *reqjson = audit_args_json(r->args);
audit_append(r->db, r->org_id, r->sess->user_id, r->sess->token_id,
"settings.set", reqjson, "OK", NULL);