Skip to content

Commit 8194dd7

Browse files
authored
Add Request Data Access button support for collate side (#27569)
* Add Request Data Access button support for collate side * fix unit test * Added support of request data access * extend entity type to collate side * Add unit test
1 parent d0362d1 commit 8194dd7

22 files changed

Lines changed: 73 additions & 0 deletions

File tree

openmetadata-ui/src/main/resources/ui/src/components/DataAssets/DataAssetsHeader/DataAssetsHeader.component.tsx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ export const DataAssetsHeader = ({
159159
const [isAutoPilotTriggering, setIsAutoPilotTriggering] = useState(false);
160160
const { entityRules } = useEntityRules(entityType);
161161
const [dataContract, setDataContract] = useState<DataContract>();
162+
const [isRequestDataAccessOpen, setIsRequestDataAccessOpen] = useState(false);
162163

163164
const fetchDataContract = async (entityId: string) => {
164165
try {
@@ -586,6 +587,25 @@ export const DataAssetsHeader = ({
586587
permissions.Trigger,
587588
]);
588589

590+
const requestDataAccessButton = useMemo(() => {
591+
if (
592+
!tableClassBase.getShowRequestDataAccess() ||
593+
SERVICE_TYPES.includes(entityType) ||
594+
deleted
595+
) {
596+
return null;
597+
}
598+
599+
return (
600+
<Button
601+
className="source-url-button font-semibold"
602+
data-testid="request-data-access-button"
603+
onClick={() => setIsRequestDataAccessOpen(true)}>
604+
{t('label.request-data-access')}
605+
</Button>
606+
);
607+
}, [entityType, deleted]);
608+
589609
useEffect(() => {
590610
if (dataAsset.id) {
591611
fetchDataContract(dataAsset.id);
@@ -687,6 +707,7 @@ export const DataAssetsHeader = ({
687707
</Typography.Link>
688708
</Tooltip>
689709
)}
710+
{requestDataAccessButton}
690711
<ManageButton
691712
isAsyncDelete
692713
afterDeleteAction={afterDeleteAction}
@@ -895,6 +916,14 @@ export const DataAssetsHeader = ({
895916
onClose={handleCloseAnnouncementDrawer}
896917
/>
897918
)}
919+
920+
{tableClassBase.getRequestDataAccessDrawer(
921+
isRequestDataAccessOpen,
922+
() => setIsRequestDataAccessOpen(false),
923+
dataAsset.fullyQualifiedName ?? '',
924+
getEntityName(dataAsset),
925+
entityType
926+
)}
898927
</>
899928
);
900929
};

openmetadata-ui/src/main/resources/ui/src/components/DataAssets/DataAssetsHeader/DataAssetsHeader.test.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@ jest.mock('../../../utils/TableClassBase', () => ({
185185
getAlertEnableStatus: jest
186186
.fn()
187187
.mockImplementation(() => mockIsAlertSupported),
188+
getShowRequestDataAccess: jest.fn().mockImplementation(() => false),
189+
getRequestDataAccessDrawer: jest.fn().mockImplementation(() => null),
188190
}));
189191

190192
jest.mock('../../../rest/lineageAPI', () => ({
@@ -606,6 +608,14 @@ describe('DataAssetsHeader component', () => {
606608
expect(button).toBeEnabled();
607609
});
608610

611+
it('should not render the request data access button on OSS', () => {
612+
render(<DataAssetsHeader {...mockProps} />);
613+
614+
expect(
615+
screen.queryByTestId('request-data-access-button')
616+
).not.toBeInTheDocument();
617+
});
618+
609619
describe('dataContractLatestResultButton', () => {
610620
const mockGetDataContractStatusIcon =
611621
getDataContractStatusIcon as jest.Mock;

openmetadata-ui/src/main/resources/ui/src/locale/languages/ar-sa.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,7 @@
17211721
"reposition": "إعادة تموضع",
17221722
"repository-url": "Repository URL",
17231723
"request": "طلب",
1724+
"request-data-access": "طلب الوصول إلى البيانات",
17241725
"request-method": "طريقة الطلب",
17251726
"request-schema-field": "حقل مخطط الطلب",
17261727
"request-tag-plural": "طلب وسوم",

openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,7 @@
17211721
"reposition": "Neu positionieren",
17221722
"repository-url": "Repository-URL",
17231723
"request": "Anfrage",
1724+
"request-data-access": "Datenzugriff anfordern",
17241725
"request-method": "Anfrage Methode",
17251726
"request-schema-field": "Anfrage Feld Schema",
17261727
"request-tag-plural": "Tag-Anfragen",

openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,7 @@
17211721
"reposition": "Reposition",
17221722
"repository-url": "Repository URL",
17231723
"request": "Request",
1724+
"request-data-access": "Request Data Access",
17241725
"request-method": "Request Method",
17251726
"request-schema-field": "Request Schema Field",
17261727
"request-tag-plural": "Request Tags",

openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,7 @@
17211721
"reposition": "Reposicionar",
17221722
"repository-url": "URL del Repositorio",
17231723
"request": "Petición",
1724+
"request-data-access": "Solicitar acceso a datos",
17241725
"request-method": "Petición Método",
17251726
"request-schema-field": "Petición Campo del Esquema",
17261727
"request-tag-plural": "Etiquetas de solicitud",

openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,7 @@
17211721
"reposition": "Repositionner",
17221722
"repository-url": "URL du Dépôt",
17231723
"request": "Requête",
1724+
"request-data-access": "Demander l'accès aux données",
17241725
"request-method": "Méthode de Requête",
17251726
"request-schema-field": "Champ de Schéma de Requête",
17261727
"request-tag-plural": "Demander l'ajout de tags",

openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,7 @@
17211721
"reposition": "Reposicionar",
17221722
"repository-url": "URL do Repositorio",
17231723
"request": "Solicitude",
1724+
"request-data-access": "Solicitar acceso a datos",
17241725
"request-method": "Método de solicitude",
17251726
"request-schema-field": "Campo de esquema de solicitude",
17261727
"request-tag-plural": "Solicitar etiquetas",

openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,7 @@
17211721
"reposition": "שנה מיקום",
17221722
"repository-url": "כתובת URL של המאגר",
17231723
"request": "בקשה",
1724+
"request-data-access": "בקש גישה לנתונים",
17241725
"request-method": "שיטת בקשה",
17251726
"request-schema-field": "שדה סכמת בקשה",
17261727
"request-tag-plural": "בקשת תגיות",

openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,7 @@
17211721
"reposition": "位置変更",
17221722
"repository-url": "リポジトリURL",
17231723
"request": "リクエスト",
1724+
"request-data-access": "データアクセスを要求",
17241725
"request-method": "リクエストメソッド",
17251726
"request-schema-field": "リクエストスキーマフィールド",
17261727
"request-tag-plural": "タグをリクエスト",

0 commit comments

Comments
 (0)