Skip to content

Commit

Permalink
fix: edit description permission for domain owner
Browse files Browse the repository at this point in the history
  • Loading branch information
pranita09 committed Jan 22, 2025
1 parent a09f6e4 commit ece8e08
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,12 @@ const DataProductsDetailsPage = ({
];
}, [dataProduct.domain]);

const isEditDescription = useMemo(() => {
return (
dataProductPermission.EditAll || dataProductPermission.EditDescription
);
}, [dataProductPermission]);

const [name, displayName] = useMemo(() => {
const defaultName = dataProduct.name;
const defaultDisplayName = dataProduct.displayName;
Expand Down Expand Up @@ -415,6 +421,7 @@ const DataProductsDetailsPage = ({
dataProductPermission.EditCustomFields) &&
!isVersionsView
}
isEditDescription={isEditDescription}
isVersionsView={isVersionsView}
type={DocumentationEntity.DATA_PRODUCT}
viewAllPermission={dataProductPermission.ViewAll}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,10 @@ const DomainDetailsPage = ({
return domainPermission.EditAll || domainPermission.EditDisplayName;
}, [domainPermission]);

const editDescriptionPermission = useMemo(() => {
return domainPermission.EditAll || domainPermission.EditDescription;
}, [domainPermission]);

const addButtonContent = [
{
label: t('label.asset-plural'),
Expand Down Expand Up @@ -509,6 +513,7 @@ const DomainDetailsPage = ({
children: (
<DocumentationTab
domain={domain}
isEditDescription={editDescriptionPermission}
isVersionsView={isVersionsView}
onUpdate={(data: Domain | DataProduct) => onUpdate(data as Domain)}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ const DocumentationTab = ({
viewAllPermission,
isVersionsView = false,
type = DocumentationEntity.DOMAIN,
isEditDescription,
}: DocumentationTabProps) => {
const { t } = useTranslation();
const { permissions } = usePermissionProvider();
Expand All @@ -72,40 +73,39 @@ const DocumentationTab = ({
? ResourceEntity.DOMAIN
: ResourceEntity.DATA_PRODUCT;

const { editDescriptionPermission, editOwnerPermission, editAllPermission } =
useMemo(() => {
if (isVersionsView) {
return {
editDescriptionPermission: false,
editOwnerPermission: false,
editAllPermission: false,
};
}
const { editOwnerPermission, editAllPermission } = useMemo(() => {
if (isVersionsView) {
return {
editDescriptionPermission: false,
editOwnerPermission: false,
editAllPermission: false,
};
}

const editDescription = checkPermission(
Operation.EditDescription,
resourceType,
permissions
);
const editDescription = checkPermission(
Operation.EditDescription,
resourceType,
permissions
);

const editOwner = checkPermission(
Operation.EditOwners,
resourceType,
permissions
);
const editOwner = checkPermission(
Operation.EditOwners,
resourceType,
permissions
);

const editAll = checkPermission(
Operation.EditAll,
resourceType,
permissions
);
const editAll = checkPermission(
Operation.EditAll,
resourceType,
permissions
);

return {
editDescriptionPermission: editDescription || editAll,
editOwnerPermission: editOwner || editAll,
editAllPermission: editAll,
};
}, [permissions, isVersionsView, resourceType]);
return {
editDescriptionPermission: editDescription || editAll,
editOwnerPermission: editOwner || editAll,
editAllPermission: editAll,
};
}, [permissions, isVersionsView, resourceType]);

const description = useMemo(
() =>
Expand Down Expand Up @@ -183,7 +183,7 @@ const DocumentationTab = ({
description={description}
entityName={getEntityName(domain)}
entityType={EntityType.DOMAIN}
hasEditAccess={editDescriptionPermission}
hasEditAccess={isEditDescription}
isEdit={isDescriptionEditable}
showCommentsIcon={false}
onCancel={() => setIsDescriptionEditable(false)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export interface DocumentationTabProps {
onExtensionUpdate?: (updatedDataProduct: DataProduct) => Promise<void>;
editCustomAttributePermission?: boolean;
viewAllPermission?: boolean;
isEditDescription?: boolean;
}

export enum DocumentationEntity {
Expand Down

0 comments on commit ece8e08

Please sign in to comment.