diff --git a/src/sdk/accountspace_nb.js b/src/sdk/accountspace_nb.js index 5a289cdcdc..6894a289c4 100644 --- a/src/sdk/accountspace_nb.js +++ b/src/sdk/accountspace_nb.js @@ -1,18 +1,9 @@ -/* Copyright (C) 2024 NooBaa */ +/* Copyright (C) 2025 NooBaa */ 'use strict'; const account_util = require('../util/account_util'); -const system_store = require('..//server/system_services/system_store').get_instance(); const { IAM_DEFAULT_PATH} = require('../endpoint/iam/iam_constants'); -/* - TODO: DISCUSS: - 1. IAM API only for account created using IAM API and OBC accounts not from admin, support, - operator and account created using noobaa. - 2. Do we need to have two access keys - 3. get_access_key_last_used() API call could return dummy values? -*/ - /** * @implements {nb.AccountSpace} */ @@ -30,27 +21,24 @@ class AccountSpaceNB { this.stats = stats; } - ////////////////////// - // ACCOUNT METHODS // - ////////////////////// + //////////////////// + // USER METHODS // + /////////////////// async create_user(params, account_sdk) { - - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - const account_email_wrapped = account_util.get_account_email_from_username(params.username, requesting_account._id.toString()); + const requesting_account = account_sdk.requesting_account; + const account_email_wrapped = account_util.get_account_email_from_username(params.username, requesting_account._id); const req = { name: params.username, // actual username saved email: account_email_wrapped, // unique email generated from username lowercase and root account id has_login: false, s3_access: true, allow_bucket_creation: true, - owner: requesting_account._id.toString(), + owner: requesting_account._id, iam_path: params.iam_path, roles: ['admin'], - // TODO: default_resource remove - default_resource: requesting_account.default_resource.name, }; - const iam_account = await account_sdk.rpc_client.account.create_user(req, requesting_account); + const iam_account = await account_sdk.rpc_client.account.create_user(req); // TODO : Clean account cache // TODO : Send Event return { @@ -63,110 +51,86 @@ class AccountSpaceNB { } async get_user(params, account_sdk) { - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.get_user(params, requesting_account); + return account_sdk.rpc_client.account.get_user(params); } async update_user(params, account_sdk) { - - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.update_user(params, requesting_account); + return account_sdk.rpc_client.account.update_user(params); // TODO : Clean account cache // TODO : Send Event } async delete_user(params, account_sdk) { - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.delete_user(params, requesting_account); + return account_sdk.rpc_client.account.delete_user(params); // TODO : clean account cache } async list_users(params, account_sdk) { - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.list_users(params, requesting_account); + return account_sdk.rpc_client.account.list_users(params); } - ///////////////////////////////// - // ACCOUNT ACCESS KEY METHODS // - ///////////////////////////////// + /////////////////////////////// + // USER ACCESS KEY METHODS // + ////////////////////////////// async create_access_key(params, account_sdk) { - - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.create_access_key(params, requesting_account); + return account_sdk.rpc_client.account.create_access_key(params); } async get_access_key_last_used(params, account_sdk) { - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.get_access_key_last_used(params, requesting_account); + return account_sdk.rpc_client.account.get_access_key_last_used(params); } async update_access_key(params, account_sdk) { - - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.update_access_key(params, requesting_account); + return account_sdk.rpc_client.account.update_access_key(params); // TODO : clean account cache } async delete_access_key(params, account_sdk) { - - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.delete_access_key(params, requesting_account); + return account_sdk.rpc_client.account.delete_access_key(params); // TODO : clean account cache } async list_access_keys(params, account_sdk) { - - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.list_access_keys(params, requesting_account); + return account_sdk.rpc_client.account.list_access_keys(params); } - /////////////////////////// - // ACCOUNT TAGS METHODS // - /////////////////////////// + //////////////////////// + // USER TAGS METHODS // + //////////////////////// async tag_user(params, account_sdk) { - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.tag_user(params, requesting_account); + return account_sdk.rpc_client.account.tag_user(params); } async untag_user(params, account_sdk) { - - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.untag_user(params, requesting_account); + return account_sdk.rpc_client.account.untag_user(params); } async list_user_tags(params, account_sdk) { - - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.list_user_tags(params, requesting_account); - + return account_sdk.rpc_client.account.list_user_tags(params); } - //////////////////// - // POLICY METHODS // - //////////////////// + ///////////////////// + // POLICY METHODS // + ///////////////////// async put_user_policy(params, account_sdk) { - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.put_user_policy(params, requesting_account); + return account_sdk.rpc_client.account.put_user_policy(params); } async get_user_policy(params, account_sdk) { - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.get_user_policy(params, requesting_account); + return account_sdk.rpc_client.account.get_user_policy(params); } async delete_user_policy(params, account_sdk) { - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.delete_user_policy(params, requesting_account); + return account_sdk.rpc_client.account.delete_user_policy(params); } async list_user_policies(params, account_sdk) { - const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email); - return await account_sdk.rpc_client.account.list_user_policies(params, requesting_account); + return account_sdk.rpc_client.account.list_user_policies(params); } }