fix: resolved fixes for permission changes

This commit is contained in:
=
2024-10-18 00:33:35 +05:30
parent acfb4693ee
commit 6db8c100ba
5 changed files with 22 additions and 15 deletions
+1 -1
View File
@@ -153,7 +153,7 @@ export const useGetUserProjectPermissions = ({ workspaceId }: TGetUserProjectPer
return (entity) => { return (entity) => {
const rulesStrippedOfWildcard = omit( const rulesStrippedOfWildcard = omit(
rules, rules,
Object.keys(entity).filter((el) => entity[el].includes("*")) Object.keys(entity).filter((el) => entity[el]?.includes("*"))
); );
const baseMatcher = conditionsMatcher(rulesStrippedOfWildcard); const baseMatcher = conditionsMatcher(rulesStrippedOfWildcard);
return baseMatcher(entity); return baseMatcher(entity);
@@ -337,7 +337,7 @@ export const PROJECT_PERMISSION_OBJECT: TProjectPermissionObject = {
] ]
}, },
[ProjectPermissionSub.SecretImports]: { [ProjectPermissionSub.SecretImports]: {
title: "Secret Folders", title: "Secret Imports",
actions: [ actions: [
{ label: "Read", value: "read" }, { label: "Read", value: "read" },
{ label: "Create", value: "create" }, { label: "Create", value: "create" },
@@ -346,7 +346,7 @@ export const PROJECT_PERMISSION_OBJECT: TProjectPermissionObject = {
] ]
}, },
[ProjectPermissionSub.DynamicSecrets]: { [ProjectPermissionSub.DynamicSecrets]: {
title: "Secret Folders", title: "Dynamic Secrets",
actions: [ actions: [
{ label: "Read", value: "read" }, { label: "Read", value: "read" },
{ label: "Create", value: "create" }, { label: "Create", value: "create" },
@@ -57,6 +57,8 @@ export const SecretPermissionConditions = ({ position = 0, isDisabled }: Props)
> >
<SelectItem value="environment">Environment Slug</SelectItem> <SelectItem value="environment">Environment Slug</SelectItem>
<SelectItem value="secretPath">Secret Path</SelectItem> <SelectItem value="secretPath">Secret Path</SelectItem>
<SelectItem value="secretName">Secret Name</SelectItem>
<SelectItem value="secretTags">Secret Tags</SelectItem>
</Select> </Select>
</FormControl> </FormControl>
)} )}
@@ -86,6 +86,7 @@ export const SecretMainPage = () => {
secretTags: ["*"] secretTags: ["*"]
}) })
); );
const canReadSecretImports = permission.can( const canReadSecretImports = permission.can(
ProjectPermissionActions.Read, ProjectPermissionActions.Read,
subject(ProjectPermissionSub.SecretImports, { environment, secretPath }) subject(ProjectPermissionSub.SecretImports, { environment, secretPath })
@@ -377,7 +378,7 @@ export const SecretMainPage = () => {
<div className="flex-grow px-4 py-2">Value</div> <div className="flex-grow px-4 py-2">Value</div>
</div> </div>
)} )}
{canReadSecretImports && imports?.length && ( {canReadSecretImports && Boolean(imports?.length) && (
<SecretImportListView <SecretImportListView
searchTerm={debouncedSearchFilter} searchTerm={debouncedSearchFilter}
secretImports={imports} secretImports={imports}
@@ -388,7 +389,7 @@ export const SecretMainPage = () => {
importedSecrets={importedSecrets} importedSecrets={importedSecrets}
/> />
)} )}
{folders?.length && ( {Boolean(folders?.length) && (
<FolderListView <FolderListView
folders={folders} folders={folders}
environment={environment} environment={environment}
@@ -397,7 +398,7 @@ export const SecretMainPage = () => {
onNavigateToFolder={handleResetFilter} onNavigateToFolder={handleResetFilter}
/> />
)} )}
{canReadDynamicSecret && dynamicSecrets?.length && ( {canReadDynamicSecret && Boolean(dynamicSecrets?.length) && (
<DynamicSecretListView <DynamicSecretListView
environment={environment} environment={environment}
projectSlug={projectSlug} projectSlug={projectSlug}
@@ -405,7 +406,7 @@ export const SecretMainPage = () => {
dynamicSecrets={dynamicSecrets} dynamicSecrets={dynamicSecrets}
/> />
)} )}
{canReadSecret && secrets?.length && ( {canReadSecret && Boolean(secrets?.length) && (
<SecretListView <SecretListView
secrets={secrets} secrets={secrets}
tags={tags} tags={tags}
@@ -84,12 +84,15 @@ export const SecretDetailSidebar = ({
resolver: zodResolver(formSchema), resolver: zodResolver(formSchema),
values: secret values: secret
}); });
const { permission } = useProjectPermission(); const { permission } = useProjectPermission();
const { fields, append, remove } = useFieldArray({ const { fields, append, remove } = useFieldArray({
control, control,
name: "tags" name: "tags"
}); });
const secretKey = secret?.key || "";
const selectedTags = watch("tags", []) || []; const selectedTags = watch("tags", []) || [];
const selectedTagsGroupById = selectedTags.reduce<Record<string, boolean>>( const selectedTagsGroupById = selectedTags.reduce<Record<string, boolean>>(
(prev, curr) => ({ ...prev, [curr.id]: true }), (prev, curr) => ({ ...prev, [curr.id]: true }),
@@ -102,7 +105,7 @@ export const SecretDetailSidebar = ({
subject(ProjectPermissionSub.Secrets, { subject(ProjectPermissionSub.Secrets, {
environment, environment,
secretPath, secretPath,
secretName: secret.key, secretName: secretKey,
secretTags: selectTagSlugs secretTags: selectTagSlugs
}) })
); );
@@ -112,7 +115,7 @@ export const SecretDetailSidebar = ({
subject(ProjectPermissionSub.Secrets, { subject(ProjectPermissionSub.Secrets, {
environment, environment,
secretPath, secretPath,
secretName: secret.key, secretName: secretKey,
secretTags: selectTagSlugs secretTags: selectTagSlugs
}) })
) && cannotEditSecret; ) && cannotEditSecret;
@@ -209,7 +212,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, { a={subject(ProjectPermissionSub.Secrets, {
environment, environment,
secretPath, secretPath,
secretName: secret.key, secretName: secretKey,
secretTags: selectTagSlugs secretTags: selectTagSlugs
})} })}
> >
@@ -241,7 +244,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, { a={subject(ProjectPermissionSub.Secrets, {
environment, environment,
secretPath, secretPath,
secretName: secret.key, secretName: secretKey,
secretTags: selectTagSlugs secretTags: selectTagSlugs
})} })}
> >
@@ -302,7 +305,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, { a={subject(ProjectPermissionSub.Secrets, {
environment, environment,
secretPath, secretPath,
secretName: secret.key, secretName: secretKey,
secretTags: selectTagSlugs secretTags: selectTagSlugs
})} })}
> >
@@ -394,6 +397,7 @@ export const SecretDetailSidebar = ({
variant="outline_bg" variant="outline_bg"
leftIcon={<FontAwesomeIcon icon={faClock} />} leftIcon={<FontAwesomeIcon icon={faClock} />}
onClick={() => setCreateReminderFormOpen.on()} onClick={() => setCreateReminderFormOpen.on()}
isDisabled={cannotEditSecret}
> >
Create Reminder Create Reminder
</Button> </Button>
@@ -418,7 +422,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, { a={subject(ProjectPermissionSub.Secrets, {
environment, environment,
secretPath, secretPath,
secretName: secret.key, secretName: secretKey,
secretTags: selectTagSlugs secretTags: selectTagSlugs
})} })}
> >
@@ -485,7 +489,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, { a={subject(ProjectPermissionSub.Secrets, {
environment, environment,
secretPath, secretPath,
secretName: secret.key, secretName: secretKey,
secretTags: selectTagSlugs secretTags: selectTagSlugs
})} })}
> >
@@ -505,7 +509,7 @@ export const SecretDetailSidebar = ({
a={subject(ProjectPermissionSub.Secrets, { a={subject(ProjectPermissionSub.Secrets, {
environment, environment,
secretPath, secretPath,
secretName: secret.key, secretName: secretKey,
secretTags: selectTagSlugs secretTags: selectTagSlugs
})} })}
> >