Add support for admin REST server (#62)

This commit is contained in:
Lee *!* Clagett
2023-02-10 07:18:15 -05:00
committed by Lee *!* Clagett
parent c958ac7963
commit 7b1e1e58f8
13 changed files with 659 additions and 118 deletions

View File

@@ -1211,9 +1211,10 @@ namespace db
return {lws::error::bad_view_key};
}
const account_by_address by_address{
user.address, {user.id, account_status::active}
};
const account_status status =
user.flags == account_flags::admin_account ?
account_status::hidden : account_status::active;
const account_by_address by_address{user.address, {user.id, status}};
MDB_val key = lmdb::to_val(by_address_version);
MDB_val value = lmdb::to_val(by_address);
@@ -1239,10 +1240,10 @@ namespace db
}
} // anonymous
expect<void> storage::add_account(account_address const& address, crypto::secret_key const& key) noexcept
expect<void> storage::add_account(account_address const& address, crypto::secret_key const& key, const account_flags flags) noexcept
{
MONERO_PRECOND(db != nullptr);
return db->try_write([this, &address, &key] (MDB_txn& txn) -> expect<void>
return db->try_write([this, &address, &key, flags] (MDB_txn& txn) -> expect<void>
{
const expect<db::account_time> current_time = get_account_time();
if (!current_time)
@@ -1283,7 +1284,7 @@ namespace db
user.scan_height = *height;
user.access = *current_time;
user.creation = *current_time;
// ... leave flags set to zero ...
user.flags = flags;
return do_add_account(
*accounts_cur, *accounts_ba_cur, *accounts_bh_cur, user