Skip to content

Commit 1a4d22d

Browse files
authored
Merge pull request #9335 from shirady/iam-remove-system-store-calls-part-2
IAM | Remove Unneeded `system_store` Calls - Part 2
2 parents 1f497fa + 01cc125 commit 1a4d22d

File tree

2 files changed

+8
-34
lines changed

2 files changed

+8
-34
lines changed

src/server/system_services/account_server.js

Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1227,13 +1227,12 @@ async function get_user(req) {
12271227
async function update_user(req) {
12281228

12291229
const action = IAM_ACTIONS.UPDATE_USER;
1230-
const requesting_account = system_store.get_account_by_email(req.account.email);
1230+
const requesting_account = req.account;
12311231
const old_account_email_wrapped = account_util.get_account_email_from_username(
12321232
req.rpc_params.username, requesting_account._id.toString());
12331233
account_util._check_if_requesting_account_is_root_account(action, requesting_account,
12341234
{ username: req.rpc_params.username, iam_path: req.rpc_params.new_iam_path });
1235-
account_util._check_if_account_exists(action, old_account_email_wrapped, req.rpc_params.username);
1236-
const requested_account = system_store.get_account_by_email(old_account_email_wrapped);
1235+
const requested_account = account_util._check_if_account_exists(action, old_account_email_wrapped, req.rpc_params.username);
12371236
let iam_path = requested_account.iam_path;
12381237
let user_name = req.rpc_params.username;
12391238
// Change to complete user name
@@ -1279,8 +1278,7 @@ async function delete_user(req) {
12791278
const requesting_account = req.account;
12801279
const account_email_wrapped = account_util.get_account_email_from_username(req.rpc_params.username, requesting_account._id.toString());
12811280
account_util._check_if_requesting_account_is_root_account(action, requesting_account, { username: req.rpc_params.username });
1282-
account_util._check_if_account_exists(action, account_email_wrapped, req.rpc_params.username);
1283-
const requested_account = system_store.get_account_by_email(account_email_wrapped);
1281+
const requested_account = account_util._check_if_account_exists(action, account_email_wrapped, req.rpc_params.username);
12841282
account_util._check_if_requested_account_is_root_account_or_IAM_user(action, requesting_account, requested_account);
12851283
account_util._check_if_requested_is_owned_by_root_account(action, requesting_account, requested_account);
12861284
account_util._check_if_user_does_not_have_resources_before_deletion(action, requested_account);
@@ -1433,15 +1431,7 @@ async function delete_access_key(req) {
14331431
async function tag_user(req) {
14341432
const action = IAM_ACTIONS.TAG_USER;
14351433
const requesting_account = req.account;
1436-
const account_email_wrapped = account_util.get_account_email_from_username(req.rpc_params.username, requesting_account._id.toString());
1437-
1438-
account_util._check_if_requesting_account_is_root_account(action, requesting_account, { username: req.rpc_params.username });
1439-
account_util._check_if_account_exists(action, account_email_wrapped, req.rpc_params.username);
1440-
1441-
const requested_account = system_store.get_account_by_email(account_email_wrapped);
1442-
account_util._check_if_requested_account_is_root_account_or_IAM_user(action, requesting_account, requested_account);
1443-
account_util._check_if_requested_is_owned_by_root_account(action, requesting_account, requested_account);
1444-
1434+
const requested_account = account_util.validate_and_return_requested_account(req.rpc_params, action, requesting_account);
14451435
const existing_tags = requested_account.tagging || [];
14461436

14471437
const tags_map = new Map();
@@ -1475,15 +1465,7 @@ async function tag_user(req) {
14751465
async function untag_user(req) {
14761466
const action = IAM_ACTIONS.UNTAG_USER;
14771467
const requesting_account = req.account;
1478-
const account_email_wrapped = account_util.get_account_email_from_username(req.rpc_params.username, requesting_account._id.toString());
1479-
1480-
account_util._check_if_requesting_account_is_root_account(action, requesting_account, { username: req.rpc_params.username });
1481-
account_util._check_if_account_exists(action, account_email_wrapped, req.rpc_params.username);
1482-
1483-
const requested_account = system_store.get_account_by_email(account_email_wrapped);
1484-
account_util._check_if_requested_account_is_root_account_or_IAM_user(action, requesting_account, requested_account);
1485-
account_util._check_if_requested_is_owned_by_root_account(action, requesting_account, requested_account);
1486-
1468+
const requested_account = account_util.validate_and_return_requested_account(req.rpc_params, action, requesting_account);
14871469
const existing_tags = requested_account.tagging || [];
14881470

14891471
const tag_keys_set = new Set(req.rpc_params.tag_keys);
@@ -1504,15 +1486,7 @@ async function untag_user(req) {
15041486
async function list_user_tags(req) {
15051487
const action = IAM_ACTIONS.LIST_USER_TAGS;
15061488
const requesting_account = req.account;
1507-
const account_email_wrapped = account_util.get_account_email_from_username(req.rpc_params.username, requesting_account._id.toString());
1508-
1509-
account_util._check_if_requesting_account_is_root_account(action, requesting_account, { username: req.rpc_params.username });
1510-
account_util._check_if_account_exists(action, account_email_wrapped, req.rpc_params.username);
1511-
1512-
const requested_account = system_store.get_account_by_email(account_email_wrapped);
1513-
account_util._check_if_requested_account_is_root_account_or_IAM_user(action, requesting_account, requested_account);
1514-
account_util._check_if_requested_is_owned_by_root_account(action, requesting_account, requested_account);
1515-
1489+
const requested_account = account_util.validate_and_return_requested_account(req.rpc_params, action, requesting_account);
15161490
// TODO: Pagination not supported - currently returns all tags, ignoring marker and max_items params
15171491
const tags = account_util.get_sorted_list_tags_for_user(requested_account.tagging);
15181492
dbg.log1('AccountSpaceNB.list_user_tags: returning', tags, 'tags for user', req.rpc_params.username);

src/util/account_util.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,7 @@ function _check_if_account_exists(action, email_wrapped, username) {
329329
const message_with_details = `The user with name ${username} cannot be found.`;
330330
throw new RpcError('NO_SUCH_ENTITY', message_with_details);
331331
}
332+
return account;
332333
}
333334

334335
function _check_root_account_owns_user(root_account, user_account) {
@@ -738,8 +739,7 @@ function validate_and_return_requested_account(params, action, requesting_accoun
738739
} else {
739740
_check_if_requesting_account_is_root_account(action, requesting_account, { username: params.username });
740741
const account_email = get_account_email_from_username(params.username, requesting_account._id.toString());
741-
_check_if_account_exists(action, account_email, params.username);
742-
requested_account = system_store.get_account_by_email(account_email);
742+
requested_account = _check_if_account_exists(action, account_email, params.username);
743743
_check_if_requested_account_is_root_account_or_IAM_user(action, requesting_account, requested_account);
744744
_check_if_requested_is_owned_by_root_account(action, requesting_account, requested_account);
745745
}

0 commit comments

Comments
 (0)