feat(roles): Change list roles, get role and authorization info api to respond with groups (#3837)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Mani Chandra
2024-02-27 18:26:46 +05:30
committed by GitHub
parent 04e9734800
commit fbe9d2f19e
13 changed files with 310 additions and 110 deletions

View File

@ -1,3 +1,4 @@
use common_enums::PermissionGroup;
use common_utils::pii;
use crate::user::DashboardEntryResponse;
@ -51,7 +52,14 @@ pub enum PermissionModule {
}
#[derive(Debug, serde::Serialize)]
pub struct AuthorizationInfoResponse(pub Vec<ModuleInfo>);
pub struct AuthorizationInfoResponse(pub Vec<AuthorizationInfo>);
#[derive(Debug, serde::Serialize)]
#[serde(untagged)]
pub enum AuthorizationInfo {
Module(ModuleInfo),
Group(GroupInfo),
}
#[derive(Debug, serde::Serialize)]
pub struct ModuleInfo {
@ -60,6 +68,13 @@ pub struct ModuleInfo {
pub permissions: Vec<PermissionInfo>,
}
#[derive(Debug, serde::Serialize)]
pub struct GroupInfo {
pub group: PermissionGroup,
pub description: &'static str,
pub permissions: Vec<PermissionInfo>,
}
#[derive(Debug, serde::Serialize)]
pub struct PermissionInfo {
pub enum_name: Permission,