feat: resolved permission rendering for sub org

This commit is contained in:
=
2025-10-21 15:42:21 +05:30
parent 229f6fb305
commit 4247c09b66
3 changed files with 65 additions and 14 deletions
@@ -28,8 +28,8 @@ import { OrgUser } from "@app/hooks/api/users/types";
import { usePopUp } from "@app/hooks/usePopUp";
import { AddOrgMemberModal } from "./AddOrgMemberModal";
import { OrgMembersTable } from "./OrgMembersTable";
import { AddSubOrgMemberModal } from "./AddSubOrgMemberModal";
import { OrgMembersTable } from "./OrgMembersTable";
export const OrgMembersSection = () => {
const { subscription } = useSubscription();
@@ -77,8 +77,18 @@ type Props = {
roleId: string;
};
const INVALID_SUBORG_PERMISSIONS = [
OrgPermissionSubjects.Sso,
OrgPermissionSubjects.Ldap,
OrgPermissionSubjects.Scim,
OrgPermissionSubjects.GithubOrgSync,
OrgPermissionSubjects.GithubOrgSyncManual,
OrgPermissionSubjects.Billing,
OrgPermissionSubjects.SubOrganization
];
export const RolePermissionsSection = ({ roleId }: Props) => {
const { currentOrg } = useOrganization();
const { currentOrg, isRootOrganization } = useOrganization();
const orgId = currentOrg?.id || "";
const { data: role } = useGetOrgRole(orgId, roleId);
@@ -153,7 +163,11 @@ export const RolePermissionsSection = ({ roleId }: Props) => {
<TableContainer>
<Table>
<TBody>
{SIMPLE_PERMISSION_OPTIONS.map((permission) => {
{SIMPLE_PERMISSION_OPTIONS.filter((el) =>
isRootOrganization
? true
: !INVALID_SUBORG_PERMISSIONS.includes(el.formName as OrgPermissionSubjects)
).map((permission) => {
return (
<RolePermissionRow
title={permission.title}
@@ -195,11 +209,13 @@ export const RolePermissionsSection = ({ roleId }: Props) => {
setValue={setValue}
isEditable={isCustomRole}
/>
<OrgPermissionBillingRow
control={control}
setValue={setValue}
isEditable={isCustomRole}
/>
{isRootOrganization && (
<OrgPermissionBillingRow
control={control}
setValue={setValue}
isEditable={isCustomRole}
/>
)}
<OrgPermissionSecretShareRow
control={control}
setValue={setValue}
@@ -225,11 +241,13 @@ export const RolePermissionsSection = ({ roleId }: Props) => {
setValue={setValue}
isEditable={isCustomRole}
/>
<OrgPermissionSubOrgRow
control={control}
setValue={setValue}
isEditable={isCustomRole}
/>
{isRootOrganization && (
<OrgPermissionSubOrgRow
control={control}
setValue={setValue}
isEditable={isCustomRole}
/>
)}
</TBody>
</Table>
</TableContainer>