refactor(enums): recon - include ReconOps variant in PermissionsGroup for backwards compatibility with data in DB (#6767)

This commit is contained in:
Kashif
2024-12-10 16:33:31 +05:30
committed by GitHub
parent b9c04c3988
commit a52828296a
3 changed files with 6 additions and 6 deletions

View File

@ -2828,10 +2828,9 @@ pub enum PermissionGroup {
ReconReportsView,
ReconReportsManage,
ReconOpsView,
// Alias is added for backward compatibility with database
// TODO: Remove alias post migration
#[serde(alias = "recon_ops")]
ReconOpsManage,
// TODO: To be deprecated, make sure DB is migrated before removing
ReconOps,
}
#[derive(Clone, Debug, serde::Serialize, PartialEq, Eq, Hash, strum::EnumIter)]

View File

@ -43,7 +43,7 @@ fn get_group_description(group: PermissionGroup) -> &'static str {
PermissionGroup::ReconReportsView => "View and access reconciliation reports and analytics",
PermissionGroup::ReconReportsManage => "Manage reconciliation reports",
PermissionGroup::ReconOpsView => "View and access reconciliation operations",
PermissionGroup::ReconOpsManage => "Manage reconciliation operations",
PermissionGroup::ReconOpsManage | PermissionGroup::ReconOps => "Manage reconciliation operations",
}
}

View File

@ -33,6 +33,7 @@ impl PermissionGroupExt for PermissionGroup {
| Self::OrganizationManage
| Self::AccountManage
| Self::ReconOpsManage
| Self::ReconOps
| Self::ReconReportsManage => PermissionScope::Write,
}
}
@ -49,7 +50,7 @@ impl PermissionGroupExt for PermissionGroup {
| Self::MerchantDetailsManage
| Self::AccountView
| Self::AccountManage => ParentGroup::Account,
Self::ReconOpsView | Self::ReconOpsManage => ParentGroup::ReconOps,
Self::ReconOpsView | Self::ReconOpsManage | Self::ReconOps => ParentGroup::ReconOps,
Self::ReconReportsView | Self::ReconReportsManage => ParentGroup::ReconReports,
}
}
@ -81,7 +82,7 @@ impl PermissionGroupExt for PermissionGroup {
}
Self::ReconOpsView => vec![Self::ReconOpsView],
Self::ReconOpsManage => vec![Self::ReconOpsView, Self::ReconOpsManage],
Self::ReconOpsManage | Self::ReconOps => vec![Self::ReconOpsView, Self::ReconOpsManage],
Self::ReconReportsView => vec![Self::ReconReportsView],
Self::ReconReportsManage => vec![Self::ReconReportsView, Self::ReconReportsManage],