fix: hide environments that users does not have read access too

This commit is contained in:
Scott Wilson
2024-09-14 06:50:45 -07:00
parent 8bab6d87bb
commit 8578208f2d
5 changed files with 34 additions and 11 deletions

View File

@@ -50,7 +50,7 @@ type Props = {
) => void;
};
const INIT_PER_PAGE = 10;
const INIT_PER_PAGE = 50;
export const IdentityTable = ({ handlePopUpOpen }: Props) => {
const router = useRouter();

View File

@@ -56,7 +56,7 @@ import { IdentityModal } from "./components/IdentityModal";
import { IdentityRoleForm } from "./components/IdentityRoleForm";
const MAX_ROLES_TO_BE_SHOWN_IN_TABLE = 2;
const INIT_PER_PAGE = 10;
const INIT_PER_PAGE = 50;
const formatRoleName = (role: string, customRoleName?: string) => {
if (role === ProjectMembershipRole.Custom) return customRoleName;
if (role === ProjectMembershipRole.Member) return "Developer";

View File

@@ -47,7 +47,7 @@ const LOADER_TEXT = [
"Getting secret import links..."
];
const INIT_PER_PAGE = 10;
const INIT_PER_PAGE = 50;
export const SecretMainPage = () => {
const { t } = useTranslation();
const { currentWorkspace, isLoading: isWorkspaceLoading } = useWorkspace();

View File

@@ -85,7 +85,7 @@ enum RowType {
Secret = "Secret"
}
const INIT_PER_PAGE = 10;
const INIT_PER_PAGE = 50;
export const SecretOverviewPage = () => {
const { t } = useTranslation();
@@ -173,10 +173,30 @@ export const SecretOverviewPage = () => {
}, [isWorkspaceLoading, workspaceId, router.isReady]);
const userAvailableEnvs = currentWorkspace?.environments || [];
const [visibleEnvs, setVisibleEnvs] = useState(userAvailableEnvs);
const [visibleEnvs, setVisibleEnvs] = useState(
userAvailableEnvs?.filter(({ slug }) =>
permission.can(
ProjectPermissionActions.Read,
subject(ProjectPermissionSub.Secrets, {
environment: slug,
secretPath
})
)
)
);
useEffect(() => {
setVisibleEnvs(userAvailableEnvs);
setVisibleEnvs(
userAvailableEnvs?.filter(({ slug }) =>
permission.can(
ProjectPermissionActions.Read,
subject(ProjectPermissionSub.Secrets, {
environment: slug,
secretPath
})
)
)
);
}, [userAvailableEnvs]);
const {

View File

@@ -13,7 +13,7 @@ import { twMerge } from "tailwind-merge";
import { Button, Checkbox, TableContainer, Td, Tooltip, Tr } from "@app/components/v2";
import { useToggle } from "@app/hooks";
import { SecretType,SecretV3RawSanitized } from "@app/hooks/api/secrets/types";
import { SecretType, SecretV3RawSanitized } from "@app/hooks/api/secrets/types";
import { WorkspaceEnv } from "@app/hooks/api/types";
import { SecretEditRow } from "./SecretEditRow";
@@ -53,6 +53,8 @@ export const SecretOverviewTableRow = ({
onSecretDelete,
isImportedSecretPresentInEnv,
getImportedSecretByKey,
// temporary until below todo is resolved
// eslint-disable-next-line @typescript-eslint/no-unused-vars
expandableColWidth,
onToggleSecretSelect,
isSelected
@@ -150,10 +152,11 @@ export const SecretOverviewTableRow = ({
}`}
>
<div
className="ml-2 p-2"
style={{
width: `calc(${expandableColWidth}px - 1rem)`
}}
className="ml-2 w-[99%] p-2"
// TODO: scott expandableColWidth sometimes 0 due to parent ref not mounting, opting for relative width until resolved
// style={{
// width: `calc(${expandableColWidth} - 1rem)`
// }}
>
<SecretRenameRow
secretKey={secretKey}