feat(rbac): grouped folder and imports permission into secret permission

This commit is contained in:
Akhil Mohan
2023-09-13 22:30:56 +05:30
parent c3c16f4e42
commit 2333675262
15 changed files with 110 additions and 174 deletions
@@ -2,7 +2,6 @@ import { useEffect, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import Link from "next/link";
import { useRouter } from "next/router";
import { subject } from "@casl/ability";
import {
faArrowDown,
faArrowUp,
@@ -30,13 +29,7 @@ import {
Tooltip,
Tr
} from "@app/components/v2";
import {
ProjectPermissionActions,
ProjectPermissionSub,
useOrganization,
useProjectPermission,
useWorkspace
} from "@app/context";
import { useOrganization, useWorkspace } from "@app/context";
import {
useCreateSecretV3,
useDeleteSecretV3,
@@ -82,7 +75,6 @@ export const SecretOverviewPage = () => {
const { data: latestFileKey } = useGetUserWsKey(workspaceId);
const [searchFilter, setSearchFilter] = useState("");
const secretPath = (router.query?.secretPath as string) || "/";
const permission = useProjectPermission();
useEffect(() => {
if (!isWorkspaceLoading && !workspaceId && router.isReady) {
@@ -90,22 +82,7 @@ export const SecretOverviewPage = () => {
}
}, [isWorkspaceLoading, workspaceId, router.isReady]);
const userAvailableEnvs =
currentWorkspace?.environments?.filter(
({ slug }) =>
permission.can(
ProjectPermissionActions.Read,
subject(ProjectPermissionSub.Secrets, { environment: slug, secretPath })
) ||
permission.can(
ProjectPermissionActions.Read,
subject(ProjectPermissionSub.Folders, { environment: slug, secretPath })
) ||
permission.can(
ProjectPermissionActions.Read,
subject(ProjectPermissionSub.SecretImports, { environment: slug, secretPath })
)
) || [];
const userAvailableEnvs = currentWorkspace?.environments || [];
const {
data: secrets,