From b1956aa73a533702ccbc3d7713ea90dd5ae44b9b Mon Sep 17 00:00:00 2001 From: Anders Betts Date: Mon, 21 Sep 2026 09:47:50 +0200 Subject: commands: db_row_json and db_exec_bound helpers Co-Authored-By: Claude Opus 5 --- src/cmd_rules.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'src/cmd_rules.c') diff --git a/src/cmd_rules.c b/src/cmd_rules.c index d9a1594..080009d 100644 --- a/src/cmd_rules.c +++ b/src/cmd_rules.c @@ -327,17 +327,9 @@ static yyjson_mut_val *h_report_rule_delete(struct req *r) yyjson_mut_obj_add_bool(r->rdoc, o, "dry_run", true); return o; } - sqlite3_stmt *st = NULL; - if (sqlite3_prepare_v2( - r->db, "DELETE FROM report_rules WHERE org_id=?1 AND id=?2", -1, - &st, NULL) != SQLITE_OK) - return db_error(r); - sqlite3_bind_int64(st, 1, r->org_id); - sqlite3_bind_int64(st, 2, id); - int rc = sqlite3_step(st); - sqlite3_finalize(st); - if (rc != SQLITE_DONE) - return db_sqlite_error(r); + if (req_exec(r, "DELETE FROM report_rules WHERE org_id=?1 AND id=?2", + "ii", r->org_id, id) != 0) + return NULL; if (sqlite3_changes(r->db) == 0) return fail(r, "NOT_FOUND", "report rule not found"); char *reqjson = audit_args_json(r->args); -- cgit v1.3