@@ -21,7 +21,7 @@ use std::collections::{HashMap, HashSet};
21
21
use crate :: {
22
22
rbac:: {
23
23
self ,
24
- map:: { read_user_groups, roles, write_user_groups } ,
24
+ map:: { read_user_groups, roles} ,
25
25
role:: model:: DefaultPrivilege ,
26
26
user,
27
27
utils:: to_prism_user,
@@ -116,14 +116,11 @@ pub async fn post_user(
116
116
return Err ( RBACError :: RoleValidationError ) ;
117
117
} else {
118
118
let mut non_existent_roles = Vec :: new ( ) ;
119
- user_roles
120
- . iter ( )
121
- . map ( |r| {
122
- if !roles ( ) . contains_key ( r) {
123
- non_existent_roles. push ( r. clone ( ) ) ;
124
- }
125
- } )
126
- . for_each ( drop) ;
119
+ for role in & user_roles {
120
+ if !roles ( ) . contains_key ( role) {
121
+ non_existent_roles. push ( role. clone ( ) ) ;
122
+ }
123
+ }
127
124
if !non_existent_roles. is_empty ( ) {
128
125
return Err ( RBACError :: RolesDoNotExist ( non_existent_roles) ) ;
129
126
}
@@ -244,24 +241,6 @@ pub async fn delete_user(username: web::Path<String>) -> Result<impl Responder,
244
241
// delete from parseable.json first
245
242
let mut metadata = get_metadata ( ) . await ?;
246
243
metadata. users . retain ( |user| user. username ( ) != username) ;
247
-
248
- // Remove user from all groups
249
- let user_groups = Users . get_user_groups ( & username) ;
250
- {
251
- let mut groups = write_user_groups ( ) ;
252
- for group_name in & user_groups {
253
- if let Some ( group) = groups. get_mut ( group_name) {
254
- group. remove_users ( HashSet :: from_iter ( [ username. clone ( ) ] ) ) ?;
255
- }
256
- }
257
- }
258
-
259
- // Update metadata with modified groups
260
- for group in metadata. user_groups . iter_mut ( ) {
261
- if user_groups. contains ( & group. name ) {
262
- group. users . retain ( |u| u != & username) ;
263
- }
264
- }
265
244
put_metadata ( & metadata) . await ?;
266
245
267
246
// update in mem table
@@ -284,11 +263,11 @@ pub async fn add_roles_to_user(
284
263
let mut non_existent_roles = Vec :: new ( ) ;
285
264
286
265
// check if the role exists
287
- roles_to_add. iter ( ) . for_each ( |r| {
288
- if roles ( ) . get ( r ) . is_none ( ) {
289
- non_existent_roles. push ( r . clone ( ) ) ;
266
+ for role in & roles_to_add {
267
+ if ! roles ( ) . contains_key ( role ) {
268
+ non_existent_roles. push ( role . clone ( ) ) ;
290
269
}
291
- } ) ;
270
+ }
292
271
293
272
if !non_existent_roles. is_empty ( ) {
294
273
return Err ( RBACError :: RolesDoNotExist ( non_existent_roles) ) ;
@@ -329,11 +308,11 @@ pub async fn remove_roles_from_user(
329
308
let mut non_existent_roles = Vec :: new ( ) ;
330
309
331
310
// check if the role exists
332
- roles_to_remove. iter ( ) . for_each ( |r| {
333
- if roles ( ) . get ( r ) . is_none ( ) {
334
- non_existent_roles. push ( r . clone ( ) ) ;
311
+ for role in & roles_to_remove {
312
+ if ! roles ( ) . contains_key ( role ) {
313
+ non_existent_roles. push ( role . clone ( ) ) ;
335
314
}
336
- } ) ;
315
+ }
337
316
338
317
if !non_existent_roles. is_empty ( ) {
339
318
return Err ( RBACError :: RolesDoNotExist ( non_existent_roles) ) ;
0 commit comments