feat(rbac): implemented project based permission loading and role management

This commit is contained in:
Akhil Mohan
2023-09-08 21:22:36 +05:30
parent aac3168c80
commit 520a553ea1
63 changed files with 2237 additions and 488 deletions
@@ -1,7 +1,7 @@
import { useTranslation } from "react-i18next";
import Head from "next/head";
import { OrgGeneralPermissionActions, OrgPermissionSubjects, TOrgPermission } from "@app/context";
import { GeneralPermissionActions, OrgPermissionSubjects, TOrgPermission } from "@app/context";
import { withPermission } from "@app/hoc";
import { BillingSettingsPage } from "@app/views/Settings/BillingSettingsPage";
@@ -20,7 +20,7 @@ const SettingsBilling = withPermission<{}, TOrgPermission>(
</div>
);
},
{ action: OrgGeneralPermissionActions.Delete, subject: OrgPermissionSubjects.Billing }
{ action: GeneralPermissionActions.Delete, subject: OrgPermissionSubjects.Billing }
);
Object.assign(SettingsBilling, { requireAuth: true });
@@ -45,8 +45,8 @@ import {
} from "@app/components/v2";
import { useFetchServerStatus } from "@app/hooks/api/serverDetails";
import {
GeneralPermissionActions,
OrgPermissionSubjects,
OrgWorkspacePermissionActions,
useSubscription,
useUser,
useWorkspace
@@ -590,7 +590,7 @@ const OrganizationPage = withPermission(
leftIcon={<FontAwesomeIcon icon={faMagnifyingGlass} />}
/>
<OrgPermissionCan
I={OrgWorkspacePermissionActions.Create}
I={GeneralPermissionActions.Create}
an={OrgPermissionSubjects.Workspace}
>
{(isAllowed) => (
@@ -877,7 +877,7 @@ const OrganizationPage = withPermission(
);
},
{
action: OrgWorkspacePermissionActions.Read,
action: GeneralPermissionActions.Read,
subject: OrgPermissionSubjects.Workspace
}
);
@@ -4,7 +4,7 @@ import { useRouter } from "next/router";
import { OrgPermissionCan } from "@app/components/permissions";
import { Button } from "@app/components/v2";
import { OrgGeneralPermissionActions, OrgPermissionSubjects } from "@app/context";
import { GeneralPermissionActions, OrgPermissionSubjects } from "@app/context";
import { withPermission } from "@app/hoc";
import { SecretScanningLogsTable } from "@app/views/SecretScanning/components";
@@ -101,7 +101,7 @@ const SecretScanning = withPermission(
) : (
<div className="flex items-center h-[3.25rem]">
<OrgPermissionCan
I={OrgGeneralPermissionActions.Create}
I={GeneralPermissionActions.Create}
a={OrgPermissionSubjects.SecretScanning}
>
{(isAllowed) => (
@@ -125,7 +125,7 @@ const SecretScanning = withPermission(
</div>
);
},
{ action: OrgGeneralPermissionActions.Read, subject: OrgPermissionSubjects.SecretScanning }
{ action: GeneralPermissionActions.Read, subject: OrgPermissionSubjects.SecretScanning }
);
Object.assign(SecretScanning, { requireAuth: true });