diff options
Diffstat (limited to 'src/cmd_users.c')
| -rw-r--r-- | src/cmd_users.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/cmd_users.c b/src/cmd_users.c index f327c13..7fae2cc 100644 --- a/src/cmd_users.c +++ b/src/cmd_users.c @@ -57,7 +57,7 @@ static yyjson_mut_val *h_user_list(struct req *r) "SELECT id,username,display_name,is_admin,created_at,disabled_at" " FROM users ORDER BY id", -1, &st, NULL) != SQLITE_OK) - return fail(r, "INTERNAL", "database error"); + return db_error(r); while (sqlite3_step(st) == SQLITE_ROW) { yyjson_mut_val *o = yyjson_mut_arr_add_obj(r->rdoc, items); yyjson_mut_obj_add_int(r->rdoc, o, "id", sqlite3_column_int64(st, 0)); @@ -138,7 +138,7 @@ static yyjson_mut_val *h_token_create(struct req *r) "created_at,expires_at) VALUES(?1,?2,?3,?4,?5,?6,?7)", -1, &st, NULL) != SQLITE_OK) { free(token); - return fail(r, "INTERNAL", "database error"); + return db_error(r); } sqlite3_bind_int64(st, 1, r->org_id); sqlite3_bind_int64(st, 2, r->sess->user_id); @@ -146,15 +146,12 @@ static yyjson_mut_val *h_token_create(struct req *r) sqlite3_bind_blob(st, 4, th, 32, SQLITE_TRANSIENT); sqlite3_bind_text(st, 5, scopes, -1, SQLITE_TRANSIENT); sqlite3_bind_text(st, 6, ts, -1, SQLITE_TRANSIENT); - if (expires_at) - sqlite3_bind_text(st, 7, expires_at, -1, SQLITE_TRANSIENT); - else - sqlite3_bind_null(st, 7); + bind_text_or_null(st, 7, expires_at); int rc = sqlite3_step(st); sqlite3_finalize(st); if (rc != SQLITE_DONE) { free(token); - return fail(r, "INTERNAL", sqlite3_errmsg(r->db)); + return db_sqlite_error(r); } int64_t token_id = db_last_id(r->db); char *reqjson = audit_args_json(r->args); @@ -184,7 +181,7 @@ static yyjson_mut_val *h_token_list(struct req *r) "revoked_at FROM api_tokens WHERE org_id=?1 AND user_id=?2" " ORDER BY id", -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, r->sess->user_id); while (sqlite3_step(st) == SQLITE_ROW) { @@ -234,7 +231,7 @@ static yyjson_mut_val *h_token_revoke(struct req *r) : "UPDATE api_tokens SET revoked_at=?1 WHERE id=?2 AND org_id=?3" " AND user_id=?4", -1, &st, NULL) != SQLITE_OK) - return fail(r, "INTERNAL", "database error"); + return db_error(r); sqlite3_bind_text(st, 1, ts, -1, SQLITE_TRANSIENT); sqlite3_bind_int64(st, 2, id); sqlite3_bind_int64(st, 3, r->org_id); @@ -243,7 +240,7 @@ static yyjson_mut_val *h_token_revoke(struct req *r) 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); if (sqlite3_changes(r->db) == 0) return fail(r, "NOT_FOUND", "token not found"); audit_append(r->db, r->org_id, r->sess->user_id, id, "token.revoke", "{}", |
