Compare commits

...

1 Commits

Author SHA1 Message Date
9a8607ee99 fix: filter project template policies based on type 2025-05-06 11:57:44 -07:00

View File

@ -12,11 +12,14 @@ import {
SelectItem SelectItem
} from "@app/components/v2"; } from "@app/components/v2";
import { ProjectPermissionSub } from "@app/context"; import { ProjectPermissionSub } from "@app/context";
import { useGetProjectTypeFromRoute } from "@app/hooks";
import { ProjectType } from "@app/hooks/api/workspace/types";
import { import {
isConditionalSubjects, isConditionalSubjects,
PROJECT_PERMISSION_OBJECT, PROJECT_PERMISSION_OBJECT,
projectRoleFormSchema, projectRoleFormSchema,
ProjectTypePermissionSubjects,
TFormSchema TFormSchema
} from "./ProjectRoleModifySection.utils"; } from "./ProjectRoleModifySection.utils";
@ -37,12 +40,14 @@ export const NewPermissionRule = ({ onClose }: Props) => {
.extend({ type: z.nativeEnum(ProjectPermissionSub) }) .extend({ type: z.nativeEnum(ProjectPermissionSub) })
), ),
defaultValues: { defaultValues: {
type: ProjectPermissionSub.Secrets type: ProjectPermissionSub.Project
} }
}); });
const selectedSubject = form.watch("type"); const selectedSubject = form.watch("type");
const projectType = useGetProjectTypeFromRoute();
return ( return (
<div> <div>
<Controller <Controller
@ -57,7 +62,14 @@ export const NewPermissionRule = ({ onClose }: Props) => {
onValueChange={(e) => onChange(e)} onValueChange={(e) => onChange(e)}
className="w-full" className="w-full"
> >
{Object.keys(PROJECT_PERMISSION_OBJECT).map((subject) => ( {Object.keys(PROJECT_PERMISSION_OBJECT)
.filter(
(subject) =>
ProjectTypePermissionSubjects[projectType ?? ProjectType.SecretManager][
subject as ProjectPermissionSub
]
)
.map((subject) => (
<SelectItem value={subject} key={`permission-create-${subject}`}> <SelectItem value={subject} key={`permission-create-${subject}`}>
{PROJECT_PERMISSION_OBJECT[subject as ProjectPermissionSub].title} {PROJECT_PERMISSION_OBJECT[subject as ProjectPermissionSub].title}
</SelectItem> </SelectItem>