@@ -1227,13 +1227,12 @@ async function get_user(req) {
12271227async 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) {
14331431async 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) {
14751465async 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) {
15041486async 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 ) ;
0 commit comments