1- /* Copyright (C) 2024 NooBaa */
1+ /* Copyright (C) 2025 NooBaa */
22'use strict' ;
33
44const account_util = require ( '../util/account_util' ) ;
5- const system_store = require ( '..//server/system_services/system_store' ) . get_instance ( ) ;
65const { 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