fix: resolved fixes for permission changes

This commit is contained in:
=
2024-10-08 00:01:04 +05:30
parent acfb4693ee
commit 6db8c100ba
5 changed files with 22 additions and 15 deletions

View File

@@ -153,7 +153,7 @@ export const useGetUserProjectPermissions = ({ workspaceId }: TGetUserProjectPer
return (entity) => {
const rulesStrippedOfWildcard = omit(
rules,
Object.keys(entity).filter((el) => entity[el].includes("*"))
Object.keys(entity).filter((el) => entity[el]?.includes("*"))
);
const baseMatcher = conditionsMatcher(rulesStrippedOfWildcard);
return baseMatcher(entity);

View File

@@ -337,7 +337,7 @@ export const PROJECT_PERMISSION_OBJECT: TProjectPermissionObject = {
]
},
[ProjectPermissionSub.SecretImports]: {
title: "Secret Folders",
title: "Secret Imports",
actions: [
{ label: "Read", value: "read" },
{ label: "Create", value: "create" },
@@ -346,7 +346,7 @@ export const PROJECT_PERMISSION_OBJECT: TProjectPermissionObject = {
]
},
[ProjectPermissionSub.DynamicSecrets]: {
title: "Secret Folders",
title: "Dynamic Secrets",
actions: [
{ label: "Read", value: "read" },
{ label: "Create", value: "create" },

View File

@@ -57,6 +57,8 @@ export const SecretPermissionConditions = ({ position = 0, isDisabled }: Props)
>
<SelectItem value="environment">Environment Slug</SelectItem>
<SelectItem value="secretPath">Secret Path</SelectItem>
<SelectItem value="secretName">Secret Name</SelectItem>
<SelectItem value="secretTags">Secret Tags</SelectItem>
</Select>
</FormControl>
)}

View File

@@ -86,6 +86,7 @@ export const SecretMainPage = () => {
secretTags: ["*"]
})
);
const canReadSecretImports = permission.can(
ProjectPermissionActions.Read,
subject(ProjectPermissionSub.SecretImports, { environment, secretPath })
@@ -377,7 +378,7 @@ export const SecretMainPage = () => {
<div className="flex-grow px-4 py-2">Value</div>
</div>
)}
{canReadSecretImports && imports?.length && (
{canReadSecretImports && Boolean(imports?.length) && (
<SecretImportListView
searchTerm={debouncedSearchFilter}
secretImports={imports}
@@ -388,7 +389,7 @@ export const SecretMainPage = () => {
importedSecrets={importedSecrets}
/>
)}
{folders?.length && (
{Boolean(folders?.length) && (
<FolderListView
folders={folders}
environment={environment}
@@ -397,7 +398,7 @@ export const SecretMainPage = () => {
onNavigateToFolder={handleResetFilter}
/>
)}
{canReadDynamicSecret && dynamicSecrets?.length && (
{canReadDynamicSecret && Boolean(dynamicSecrets?.length) && (
<DynamicSecretListView
environment={environment}
projectSlug={projectSlug}
@@ -405,7 +406,7 @@ export const SecretMainPage = () => {
dynamicSecrets={dynamicSecrets}
/>
)}
{canReadSecret && secrets?.length && (
{canReadSecret && Boolean(secrets?.length) && (
<SecretListView
secrets={secrets}
tags={tags}

View File

@@ -84,12 +84,15 @@ export const SecretDetailSidebar = ({
resolver: zodResolver(formSchema),
values: secret
});
const { permission } = useProjectPermission();
const { fields, append, remove } = useFieldArray({
control,
name: "tags"
});
const secretKey = secret?.key || "";
const selectedTags = watch("tags", []) || [];
const selectedTagsGroupById = selectedTags.reduce<Record<string, boolean>>(
(prev, curr) => ({ ...prev, [curr.id]: true }),
@@ -102,7 +105,7 @@ export const SecretDetailSidebar = ({
subject(ProjectPermissionSub.Secrets, {
environment,
secretPath,
secretName: secret.key,
secretName: secretKey,
secretTags: selectTagSlugs
})
);
@@ -112,7 +115,7 @@ export const SecretDetailSidebar = ({
subject(ProjectPermissionSub.Secrets, {
environment,
secretPath,
secretName: secret.key,
secretName: secretKey,
secretTags: selectTagSlugs
})
) && cannotEditSecret;
@@ -209,7 +212,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, {
environment,
secretPath,
secretName: secret.key,
secretName: secretKey,
secretTags: selectTagSlugs
})}
>
@@ -241,7 +244,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, {
environment,
secretPath,
secretName: secret.key,
secretName: secretKey,
secretTags: selectTagSlugs
})}
>
@@ -302,7 +305,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, {
environment,
secretPath,
secretName: secret.key,
secretName: secretKey,
secretTags: selectTagSlugs
})}
>
@@ -394,6 +397,7 @@ export const SecretDetailSidebar = ({
variant="outline_bg"
leftIcon={<FontAwesomeIcon icon={faClock} />}
onClick={() => setCreateReminderFormOpen.on()}
isDisabled={cannotEditSecret}
>
Create Reminder
</Button>
@@ -418,7 +422,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, {
environment,
secretPath,
secretName: secret.key,
secretName: secretKey,
secretTags: selectTagSlugs
})}
>
@@ -485,7 +489,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, {
environment,
secretPath,
secretName: secret.key,
secretName: secretKey,
secretTags: selectTagSlugs
})}
>
@@ -505,7 +509,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, {
environment,
secretPath,
secretName: secret.key,
secretName: secretKey,
secretTags: selectTagSlugs
})}
>