From d7e468f9be4f8110df9979d7ebf98c7fc61b5d00 Mon Sep 17 00:00:00 2001 From: Venu Madhav Bandarupalli <110053886+VenuMadhav2541@users.noreply.github.com> Date: Mon, 22 Sep 2025 19:26:50 +0530 Subject: [PATCH] fix(user_role): Filter out internal roles in list roles API (#9402) Co-authored-by: Mani Chandra <84711804+ThisIsMani@users.noreply.github.com> Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com> --- crates/router/src/core/user_role/role.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/router/src/core/user_role/role.rs b/crates/router/src/core/user_role/role.rs index 25388c1381..697d0213d8 100644 --- a/crates/router/src/core/user_role/role.rs +++ b/crates/router/src/core/user_role/role.rs @@ -1,4 +1,4 @@ -use std::{cmp, collections::HashSet}; +use std::{cmp, collections::HashSet, ops::Not}; use api_models::user_role::role as role_api; use common_enums::{EntityType, ParentGroup, PermissionGroup}; @@ -450,7 +450,11 @@ pub async fn list_roles_with_info( .into()); } - let mut role_info_vec = PREDEFINED_ROLES.values().cloned().collect::>(); + let mut role_info_vec = PREDEFINED_ROLES + .values() + .filter(|role| role.is_internal().not()) + .cloned() + .collect::>(); let user_role_entity = user_role_info.get_entity_type(); let is_lineage_data_required = request.entity_type.is_none();