Skip to content

Commit

Permalink
fix: usage of permissions prop
Browse files Browse the repository at this point in the history
  • Loading branch information
pranita09 committed Jan 22, 2025
1 parent ece8e08 commit 88ea511
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -132,12 +132,6 @@ 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 @@ -421,8 +415,8 @@ const DataProductsDetailsPage = ({
dataProductPermission.EditCustomFields) &&
!isVersionsView
}
isEditDescription={isEditDescription}
isVersionsView={isVersionsView}
permissions={dataProductPermission}
type={DocumentationEntity.DATA_PRODUCT}
viewAllPermission={dataProductPermission.ViewAll}
onExtensionUpdate={handelExtensionUpdate}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,10 +200,6 @@ 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 @@ -513,8 +509,8 @@ const DomainDetailsPage = ({
children: (
<DocumentationTab
domain={domain}
isEditDescription={editDescriptionPermission}
isVersionsView={isVersionsView}
permissions={domainPermission}
onUpdate={(data: Domain | DataProduct) => onUpdate(data as Domain)}
/>
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,13 @@ import DomainTypeSelectForm from '../../../../components/Domain/DomainTypeSelect
import { DE_ACTIVE_COLOR } from '../../../../constants/constants';
import { EntityField } from '../../../../constants/Feeds.constants';
import { COMMON_RESIZABLE_PANEL_CONFIG } from '../../../../constants/ResizablePanel.constants';
import { usePermissionProvider } from '../../../../context/PermissionProvider/PermissionProvider';
import { ResourceEntity } from '../../../../context/PermissionProvider/PermissionProvider.interface';
import { EntityType, TabSpecificField } from '../../../../enums/entity.enum';
import { DataProduct } from '../../../../generated/entity/domains/dataProduct';
import {
Domain,
DomainType,
} from '../../../../generated/entity/domains/domain';
import { Operation } from '../../../../generated/entity/policies/policy';
import {
ChangeDescription,
EntityReference,
Expand All @@ -42,7 +40,6 @@ import {
getEntityVersionByField,
getOwnerVersionLabel,
} from '../../../../utils/EntityVersionUtils';
import { checkPermission } from '../../../../utils/PermissionsUtils';
import { CustomPropertyTable } from '../../../common/CustomPropertyTable/CustomPropertyTable';
import FormItemLabel from '../../../common/Form/FormItemLabel';
import ResizablePanels from '../../../common/ResizablePanels/ResizablePanels';
Expand All @@ -61,10 +58,9 @@ const DocumentationTab = ({
viewAllPermission,
isVersionsView = false,
type = DocumentationEntity.DOMAIN,
isEditDescription,
permissions,
}: DocumentationTabProps) => {
const { t } = useTranslation();
const { permissions } = usePermissionProvider();
const [isDescriptionEditable, setIsDescriptionEditable] =
useState<boolean>(false);
const [editDomainType, setEditDomainType] = useState(false);
Expand All @@ -73,39 +69,28 @@ const DocumentationTab = ({
? ResourceEntity.DOMAIN
: ResourceEntity.DATA_PRODUCT;

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

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

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

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

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 +168,7 @@ const DocumentationTab = ({
description={description}
entityName={getEntityName(domain)}
entityType={EntityType.DOMAIN}
hasEditAccess={isEditDescription}
hasEditAccess={editDescriptionPermission}
isEdit={isDescriptionEditable}
showCommentsIcon={false}
onCancel={() => setIsDescriptionEditable(false)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { OperationPermission } from '../../../../context/PermissionProvider/PermissionProvider.interface';
import { DataProduct } from '../../../../generated/entity/domains/dataProduct';
import { Domain } from '../../../../generated/entity/domains/domain';

Expand All @@ -21,7 +22,7 @@ export interface DocumentationTabProps {
onExtensionUpdate?: (updatedDataProduct: DataProduct) => Promise<void>;
editCustomAttributePermission?: boolean;
viewAllPermission?: boolean;
isEditDescription?: boolean;
permissions?: OperationPermission;
}

export enum DocumentationEntity {
Expand Down

0 comments on commit 88ea511

Please sign in to comment.