mirror of
https://codeberg.org/wownero/wownero-lws
synced 2026-01-10 23:55:16 -08:00
Add support for admin REST server (#62)
This commit is contained in:
committed by
Lee *!* Clagett
parent
c958ac7963
commit
7b1e1e58f8
@@ -81,7 +81,7 @@ namespace db
|
||||
enum account_flags : std::uint8_t
|
||||
{
|
||||
default_account = 0,
|
||||
admin_account = 1, //!< Not currently used, for future extensions
|
||||
admin_account = 1, //!< Indicates `key` can be used for admin requests
|
||||
account_generated_locally = 2 //!< Flag sent by client on initial login request
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -194,7 +194,7 @@ namespace db
|
||||
|
||||
|
||||
//! Add an account, for immediate inclusion in the active list.
|
||||
expect<void> add_account(account_address const& address, crypto::secret_key const& key) noexcept;
|
||||
expect<void> add_account(account_address const& address, crypto::secret_key const& key, account_flags flags = account_flags::default_account) noexcept;
|
||||
|
||||
//! Reset `addresses` to `height` for scanning.
|
||||
expect<std::vector<account_address>>
|
||||
|
||||
Reference in New Issue
Block a user