Skip to content

Commit 4e40ea7

Browse files
authored
Merge pull request #9330 from shirady/iam-remove-system-store-calls
IAM | Remove Unneeded `system_store` Calls - Part 1
2 parents 964df01 + 4ddc131 commit 4e40ea7

File tree

1 file changed

+33
-69
lines changed

1 file changed

+33
-69
lines changed

src/sdk/accountspace_nb.js

Lines changed: 33 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,9 @@
1-
/* Copyright (C) 2024 NooBaa */
1+
/* Copyright (C) 2025 NooBaa */
22
'use strict';
33

44
const account_util = require('../util/account_util');
5-
const system_store = require('..//server/system_services/system_store').get_instance();
65
const { IAM_DEFAULT_PATH} = require('../endpoint/iam/iam_constants');
76

8-
/*
9-
TODO: DISCUSS:
10-
1. IAM API only for account created using IAM API and OBC accounts not from admin, support,
11-
operator and account created using noobaa.
12-
2. Do we need to have two access keys
13-
3. get_access_key_last_used() API call could return dummy values?
14-
*/
15-
167
/**
178
* @implements {nb.AccountSpace}
189
*/
@@ -30,27 +21,24 @@ class AccountSpaceNB {
3021
this.stats = stats;
3122
}
3223

33-
//////////////////////
34-
// ACCOUNT METHODS //
35-
//////////////////////
24+
////////////////////
25+
// USER METHODS //
26+
///////////////////
3627

3728
async create_user(params, account_sdk) {
38-
39-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
40-
const account_email_wrapped = account_util.get_account_email_from_username(params.username, requesting_account._id.toString());
29+
const requesting_account = account_sdk.requesting_account;
30+
const account_email_wrapped = account_util.get_account_email_from_username(params.username, requesting_account._id);
4131
const req = {
4232
name: params.username, // actual username saved
4333
email: account_email_wrapped, // unique email generated from username lowercase and root account id
4434
has_login: false,
4535
s3_access: true,
4636
allow_bucket_creation: true,
47-
owner: requesting_account._id.toString(),
37+
owner: requesting_account._id,
4838
iam_path: params.iam_path,
4939
roles: ['admin'],
50-
// TODO: default_resource remove
51-
default_resource: requesting_account.default_resource.name,
5240
};
53-
const iam_account = await account_sdk.rpc_client.account.create_user(req, requesting_account);
41+
const iam_account = await account_sdk.rpc_client.account.create_user(req);
5442
// TODO : Clean account cache
5543
// TODO : Send Event
5644
return {
@@ -63,110 +51,86 @@ class AccountSpaceNB {
6351
}
6452

6553
async get_user(params, account_sdk) {
66-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
67-
return await account_sdk.rpc_client.account.get_user(params, requesting_account);
54+
return account_sdk.rpc_client.account.get_user(params);
6855
}
6956

7057
async update_user(params, account_sdk) {
71-
72-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
73-
return await account_sdk.rpc_client.account.update_user(params, requesting_account);
58+
return account_sdk.rpc_client.account.update_user(params);
7459
// TODO : Clean account cache
7560
// TODO : Send Event
7661
}
7762

7863
async delete_user(params, account_sdk) {
79-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
80-
return await account_sdk.rpc_client.account.delete_user(params, requesting_account);
64+
return account_sdk.rpc_client.account.delete_user(params);
8165
// TODO : clean account cache
8266

8367
}
8468

8569
async list_users(params, account_sdk) {
86-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
87-
return await account_sdk.rpc_client.account.list_users(params, requesting_account);
70+
return account_sdk.rpc_client.account.list_users(params);
8871

8972
}
9073

91-
/////////////////////////////////
92-
// ACCOUNT ACCESS KEY METHODS //
93-
/////////////////////////////////
74+
///////////////////////////////
75+
// USER ACCESS KEY METHODS //
76+
//////////////////////////////
9477

9578
async create_access_key(params, account_sdk) {
96-
97-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
98-
return await account_sdk.rpc_client.account.create_access_key(params, requesting_account);
79+
return account_sdk.rpc_client.account.create_access_key(params);
9980
}
10081

10182
async get_access_key_last_used(params, account_sdk) {
102-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
103-
return await account_sdk.rpc_client.account.get_access_key_last_used(params, requesting_account);
83+
return account_sdk.rpc_client.account.get_access_key_last_used(params);
10484
}
10585

10686
async update_access_key(params, account_sdk) {
107-
108-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
109-
return await account_sdk.rpc_client.account.update_access_key(params, requesting_account);
87+
return account_sdk.rpc_client.account.update_access_key(params);
11088
// TODO : clean account cache
11189
}
11290

11391
async delete_access_key(params, account_sdk) {
114-
115-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
116-
return await account_sdk.rpc_client.account.delete_access_key(params, requesting_account);
92+
return account_sdk.rpc_client.account.delete_access_key(params);
11793
// TODO : clean account cache
11894
}
11995

12096
async list_access_keys(params, account_sdk) {
121-
122-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
123-
return await account_sdk.rpc_client.account.list_access_keys(params, requesting_account);
97+
return account_sdk.rpc_client.account.list_access_keys(params);
12498
}
12599

126-
///////////////////////////
127-
// ACCOUNT TAGS METHODS //
128-
///////////////////////////
100+
////////////////////////
101+
// USER TAGS METHODS //
102+
////////////////////////
129103

130104
async tag_user(params, account_sdk) {
131-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
132-
return await account_sdk.rpc_client.account.tag_user(params, requesting_account);
105+
return account_sdk.rpc_client.account.tag_user(params);
133106
}
134107

135108
async untag_user(params, account_sdk) {
136-
137-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
138-
return await account_sdk.rpc_client.account.untag_user(params, requesting_account);
109+
return account_sdk.rpc_client.account.untag_user(params);
139110
}
140111

141112
async list_user_tags(params, account_sdk) {
142-
143-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
144-
return await account_sdk.rpc_client.account.list_user_tags(params, requesting_account);
145-
113+
return account_sdk.rpc_client.account.list_user_tags(params);
146114
}
147115

148-
////////////////////
149-
// POLICY METHODS //
150-
////////////////////
116+
/////////////////////
117+
// POLICY METHODS //
118+
/////////////////////
151119

152120
async put_user_policy(params, account_sdk) {
153-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
154-
return await account_sdk.rpc_client.account.put_user_policy(params, requesting_account);
121+
return account_sdk.rpc_client.account.put_user_policy(params);
155122
}
156123

157124
async get_user_policy(params, account_sdk) {
158-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
159-
return await account_sdk.rpc_client.account.get_user_policy(params, requesting_account);
125+
return account_sdk.rpc_client.account.get_user_policy(params);
160126
}
161127

162128
async delete_user_policy(params, account_sdk) {
163-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
164-
return await account_sdk.rpc_client.account.delete_user_policy(params, requesting_account);
129+
return account_sdk.rpc_client.account.delete_user_policy(params);
165130
}
166131

167132
async list_user_policies(params, account_sdk) {
168-
const requesting_account = system_store.get_account_by_email(account_sdk.requesting_account.email);
169-
return await account_sdk.rpc_client.account.list_user_policies(params, requesting_account);
133+
return account_sdk.rpc_client.account.list_user_policies(params);
170134
}
171135
}
172136

0 commit comments

Comments
 (0)