From f33a4afb260e74d841e2f06b228ada6d8f737e30 Mon Sep 17 00:00:00 2001 From: Sriharsha Chintalapani Date: Sat, 18 Apr 2026 10:11:38 -0700 Subject: [PATCH 01/73] Add Context Center: Migrate Knowledge Center , Images/ PDFs document support --- .../native/2.0.0/mysql/schemaChanges.sql | 156 +++- .../native/2.0.0/postgres/schemaChanges.sql | 131 ++- .../openmetadata/it/drive/ContextFileIT.java | 387 +++++++++ .../it/drive/DriveFileUploadIT.java | 720 ++++++++++++++++ .../openmetadata/it/drive/DriveTestUsers.java | 23 + .../org/openmetadata/it/drive/FolderIT.java | 377 ++++++++ .../it/knowledge/KnowledgeCenterIT.java | 238 +++++ .../test/resources/2mb-jpg-example-file.jpg | Bin 0 -> 2423235 bytes .../src/test/resources/drive/sample-data.csv | 4 + .../src/test/resources/drive/sample-notes.txt | 2 + .../test/resources/drive/sample-pricing.xlsx | 3 + .../test/resources/drive/sample-report.pdf | Bin 0 -> 340 bytes openmetadata-sdk/pom.xml | 59 +- .../sdk/test/auth/JwtAuthProvider.java | 84 ++ .../sdk/test/util/RestClient.java | 200 +++++ .../sdk/test/util/SdkClients.java | 168 ++++ .../sdk/test/util/TestNamespace.java | 70 ++ .../sdk/test/util/TestNamespaceExtension.java | 51 ++ openmetadata-service/pom.xml | 46 + .../java/org/openmetadata/service/Entity.java | 3 + .../service/attachments/AssetService.java | 33 + .../attachments/AssetServiceFactory.java | 86 ++ .../attachments/AzureAssetService.java | 158 ++++ .../attachments/InMemoryAssetService.java | 134 +++ .../service/attachments/NoOpAssetService.java | 28 + .../attachments/ObjectDeleteQueueService.java | 170 ++++ .../attachments/QueuedDeleteAssetService.java | 86 ++ .../service/attachments/S3AssetService.java | 220 +++++ .../context/ContextEntityPromptLoader.java | 11 + .../context/ContextEntityPromptService.java | 305 +++++++ .../context/ContextPromptInjectionResult.java | 13 + .../DefaultContextEntityPromptLoader.java | 195 +++++ .../context/ResolvedContextEntity.java | 12 + .../service/context/TokenCounter.java | 27 + .../drive/ContextFileExtractionService.java | 213 +++++ .../drive/ContextFileTextExtractor.java | 357 ++++++++ .../service/jdbi3/AssetRepository.java | 124 +++ .../service/jdbi3/CollectionDAO.java | 184 ++++ .../jdbi3/ContextFileContentRepository.java | 113 +++ .../service/jdbi3/ContextFileRepository.java | 240 ++++++ .../service/jdbi3/DaoListFilter.java | 46 + .../service/jdbi3/FolderRepository.java | 177 ++++ .../jdbi3/KnowledgePageRepository.java | 707 +++++++++++++++ .../attachments/AttachmentResource.java | 365 ++++++++ .../resources/drive/ContextFileMapper.java | 28 + .../resources/drive/ContextFileResource.java | 452 ++++++++++ .../drive/ContextFileUploadSupport.java | 198 +++++ .../service/resources/drive/FolderMapper.java | 19 + .../resources/drive/FolderResource.java | 222 +++++ .../knowledge/KnowledgePageMapper.java | 32 + .../knowledge/KnowledgePageResource.java | 768 +++++++++++++++++ .../service/search/SearchIndexFactory.java | 9 + .../search/indexes/ContextFileIndex.java | 59 ++ .../service/search/indexes/FolderIndex.java | 41 + .../service/search/indexes/PageIndex.java | 43 + .../ContextEntityPromptServiceTest.java | 126 +++ .../DefaultContextEntityPromptLoaderTest.java | 122 +++ .../ContextFileExtractionServiceTest.java | 216 +++++ .../drive/ContextFileTextExtractorTest.java | 245 ++++++ .../drive/ContextFileResourceTest.java | 76 ++ .../drive/ContextFileUploadSupportTest.java | 97 +++ .../resources/drive/DriveMapperTest.java | 45 + .../search/indexes/ContextFileIndexTest.java | 83 ++ .../search/indexes/FolderIndexTest.java | 79 ++ .../service/search/indexes/PageIndexTest.java | 114 +++ .../en/context_file_search_index.json | 84 ++ .../elasticsearch/en/folder_search_index.json | 73 ++ .../en/knowledge_page_search_index.json | 450 ++++++++++ .../resources/elasticsearch/indexMapping.json | 21 + .../jp/context_file_search_index.json | 84 ++ .../elasticsearch/jp/folder_search_index.json | 73 ++ .../jp/knowledge_page_search_index.json | 467 ++++++++++ .../ru/context_file_search_index.json | 84 ++ .../elasticsearch/ru/folder_search_index.json | 73 ++ .../ru/knowledge_page_search_index.json | 508 +++++++++++ .../zh/context_file_search_index.json | 84 ++ .../elasticsearch/zh/folder_search_index.json | 73 ++ .../zh/knowledge_page_search_index.json | 453 ++++++++++ .../schema/api/attachments/createAsset.json | 32 + .../schema/api/data/createContextFile.json | 86 ++ .../json/schema/api/data/createFolder.json | 57 ++ .../json/schema/api/data/createPage.json | 80 ++ .../json/schema/attachments/asset.json | 82 ++ .../json/schema/entity/data/article.json | 19 + .../json/schema/entity/data/contextFile.json | 187 ++++ .../entity/data/contextFileContent.json | 108 +++ .../json/schema/entity/data/folder.json | 104 +++ .../json/schema/entity/data/page.json | 146 ++++ .../schema/entity/data/pageHierarchy.json | 65 ++ .../json/schema/entity/data/quickLink.json | 17 + .../ui/src/assets/svg/AIChatApplication.svg | 21 + .../resources/ui/src/assets/svg/Automator.svg | 7 + .../src/assets/svg/CollateAIApplication.svg | 4 + .../svg/CollateAIQualityAgentApplication.svg | 9 + .../svg/CollateAITierAgentApplication.svg | 22 + .../ui/src/assets/svg/CollateSupport.svg | 28 + .../svg/DayOneExperienceApplication.svg | 28 + .../svg/MetadataExporterApplication.svg | 12 + .../src/assets/svg/OnboardingApplication.svg | 19 + .../ui/src/assets/svg/QueryRunner.svg | 16 + .../ui/src/assets/svg/ReverseMetadata.svg | 26 + .../ui/src/assets/svg/SlackApplication.svg | 1 + .../ui/src/assets/svg/TeamsApplication.svg | 22 + .../src/assets/svg/TelemetryApplication.svg | 1 + .../ui/src/assets/svg/agent-logo.svg | 10 + .../ui/src/assets/svg/area-chart.svg | 3 + .../src/assets/svg/askcollate-header-logo.svg | 22 + .../ui/src/assets/svg/askcollate-icon.svg | 21 + .../resources/ui/src/assets/svg/bar-chart.svg | 3 + .../resources/ui/src/assets/svg/billing.svg | 8 + .../ui/src/assets/svg/bring-metadata.svg | 7 + .../ui/src/assets/svg/chat-message.svg | 10 + .../src/assets/svg/collate-ai-two-stars.svg | 4 + .../ui/src/assets/svg/collate-logo.svg | 6 + .../ui/src/assets/svg/collateService.svg | 17 + .../ui/src/assets/svg/completed-outlined.svg | 4 + .../resources/ui/src/assets/svg/completed.svg | 5 + .../svg/data-quality-no-data-placeholder.svg | 11 + .../ui/src/assets/svg/dataAssets.svg | 27 + .../ui/src/assets/svg/external-link.svg | 3 + .../ui/src/assets/svg/file_colored_icon.svg | 12 + .../ui/src/assets/svg/filter_copy.svg | 1 + .../ui/src/assets/svg/get-started.svg | 14 + .../resources/ui/src/assets/svg/home-02.svg | 3 + .../resources/ui/src/assets/svg/ic-abort.svg | 4 + .../ui/src/assets/svg/ic-active-toggle.svg | 7 + .../src/assets/svg/ic-ai-learning-model.svg | 5 + .../ui/src/assets/svg/ic-article.svg | 3 + .../ui/src/assets/svg/ic-articles.svg | 7 + .../ui/src/assets/svg/ic-bar-chart.svg | 7 + .../ui/src/assets/svg/ic-bookmark.svg | 3 + .../ui/src/assets/svg/ic-bookmarked.svg | 1 + .../resources/ui/src/assets/svg/ic-clock.svg | 6 + .../ui/src/assets/svg/ic-close-heptagon.svg | 7 + .../ui/src/assets/svg/ic-collate-ai.svg | 15 + .../ui/src/assets/svg/ic-conversation.svg | 3 + .../ui/src/assets/svg/ic-custom-dashboard.svg | 3 + .../src/assets/svg/ic-data-quality-widget.svg | 9 + .../ui/src/assets/svg/ic-drag-indicator.svg | 6 + .../ui/src/assets/svg/ic-external-link.svg | 4 + .../resources/ui/src/assets/svg/ic-eye.svg | 4 + .../resources/ui/src/assets/svg/ic-failed.svg | 4 + .../ui/src/assets/svg/ic-featured.svg | 4 + .../resources/ui/src/assets/svg/ic-gears.svg | 3 + .../ui/src/assets/svg/ic-inactive-toggle.svg | 8 + .../ui/src/assets/svg/ic-inherited-link.svg | 4 + .../assets/svg/ic-knowledge-center-widget.svg | 11 + .../ui/src/assets/svg/ic-knowledge-page.svg | 10 + .../resources/ui/src/assets/svg/ic-link.svg | 4 + .../ui/src/assets/svg/ic-manage-charts.svg | 4 + .../src/assets/svg/ic-negative-up-arrow.svg | 4 + .../ui/src/assets/svg/ic-onboarding.svg | 4 + .../assets/svg/ic-overview-test-summary.svg | 9 + .../ui/src/assets/svg/ic-overview.svg | 7 + .../assets/svg/ic-pipeline-status-widget.svg | 6 + .../src/assets/svg/ic-positive-down-arrow.svg | 4 + .../resources/ui/src/assets/svg/ic-queued.svg | 11 + .../ui/src/assets/svg/ic-quick-link.svg | 10 + .../ui/src/assets/svg/ic-sample-data.svg | 18 + .../resources/ui/src/assets/svg/ic-saved.svg | 3 + .../ui/src/assets/svg/ic-success.svg | 4 + .../resources/ui/src/assets/svg/ic-sun.svg | 18 + .../ui/src/assets/svg/ic-table-add.svg | 6 + .../ui/src/assets/svg/ic-terminal.svg | 3 + .../ui/src/assets/svg/ic-trash-grey.svg | 3 + .../ui/src/assets/svg/ic-unsaved.svg | 3 + .../ui/src/assets/svg/ic-updated.svg | 11 + .../ui/src/assets/svg/ic-workflow-bg.svg | 8 + .../ui/src/assets/svg/ic-workflow.svg | 19 + .../resources/ui/src/assets/svg/ic_action.svg | 4 + .../resources/ui/src/assets/svg/ic_add.svg | 1 + .../ui/src/assets/svg/ic_add_workflow.svg | 4 + .../svg/ic_canvas-check-description.svg | 9 + .../ui/src/assets/svg/ic_canvas-end.svg | 4 + .../ui/src/assets/svg/ic_canvas-start.svg | 4 + .../assets/svg/ic_check-condition-node.svg | 8 + .../ui/src/assets/svg/ic_check-condition.svg | 7 + .../assets/svg/ic_check-description-node.svg | 8 + .../resources/ui/src/assets/svg/ic_click.svg | 31 + .../src/assets/svg/ic_data-completeness.svg | 4 + .../assets/svg/ic_data_completeness-node.svg | 5 + .../ui/src/assets/svg/ic_discount.svg | 6 + .../ui/src/assets/svg/ic_end-node.svg | 4 + .../ui/src/assets/svg/ic_git-sink-node.svg | 9 + .../ui/src/assets/svg/ic_git-sink.svg | 8 + .../ui/src/assets/svg/ic_git-sync-node.svg | 8 + .../ui/src/assets/svg/ic_git-sync.svg | 7 + .../resources/ui/src/assets/svg/ic_redo.svg | 3 + .../ui/src/assets/svg/ic_request-approval.svg | 4 + .../ui/src/assets/svg/ic_revert-changes.svg | 5 + .../src/assets/svg/ic_revert_changes-node.svg | 6 + .../ui/src/assets/svg/ic_set-action-node.svg | 5 + .../ui/src/assets/svg/ic_set-action.svg | 4 + .../ui/src/assets/svg/ic_sink-node.svg | 5 + .../resources/ui/src/assets/svg/ic_sink.svg | 4 + .../resources/ui/src/assets/svg/ic_star.svg | 4 + .../ui/src/assets/svg/ic_start-node.svg | 4 + .../resources/ui/src/assets/svg/ic_undo.svg | 3 + .../src/assets/svg/ic_user_approval-node.svg | 5 + .../ui/src/assets/svg/ingestion-runner.svg | 21 + .../ui/src/assets/svg/install-sample-data.svg | 6 + .../ui/src/assets/svg/invite-user.svg | 8 + .../knowledge-center-no-data-placeholder.svg | 3 + .../ui/src/assets/svg/knowledge-center.svg | 20 + .../ui/src/assets/svg/line-chart.svg | 3 + .../ui/src/assets/svg/loading-01.svg | 3 + .../ui/src/assets/svg/message-dots-circle.svg | 3 + .../ui/src/assets/svg/metadata-button.svg | 10 + .../ui/src/assets/svg/new-chat-icon.svg | 4 + .../svg/notification-template-colored-new.svg | 8 + .../main/resources/ui/src/assets/svg/one.svg | 5 + .../svg/pipeline-no-data-placeholder.svg | 11 + .../resources/ui/src/assets/svg/plans.svg | 15 + .../ui/src/assets/svg/preferences-collate.svg | 6 + .../assets/svg/query-runner-empty-state.svg | 4 + .../assets/svg/query-runner-illustration.svg | 365 ++++++++ .../ui/src/assets/svg/sample-data-button.svg | 8 + .../assets/svg/security-service-colored.svg | 24 + .../ui/src/assets/svg/service-icon-access.svg | 18 + .../ui/src/assets/svg/service-icon-fabric.svg | 1 + .../assets/svg/service-icon-sharepoint.svg | 59 ++ .../ui/src/assets/svg/setting-sso.svg | 9 + .../resources/ui/src/assets/svg/sidebar.svg | 3 + .../ui/src/assets/svg/star-gradient.svg | 14 + .../ui/src/assets/svg/summary-chart.svg | 11 + .../ui/src/assets/svg/test-connection.svg | 19 + .../main/resources/ui/src/assets/svg/two.svg | 5 + .../resources/ui/src/assets/svg/usage.svg | 4 + .../resources/ui/src/assets/svg/user-icon.svg | 8 + .../ui/src/assets/svg/users-button.svg | 10 + .../ui/src/assets/svg/vpc-connector.svg | 17 + .../ui/src/assets/svg/welcome-screen.svg | 280 ++++++ .../ui/src/assets/svg/workflow-task.svg | 6 + .../resources/ui/src/assets/svg/workflow.svg | 3 + .../ui/src/assets/svg/x-outlined.svg | 3 + .../AppRouter/AuthenticatedAppRouter.tsx | 35 + .../BookMarkWidget/BookMarkWidget.test.tsx | 151 ++++ .../BookMarkWidget/BookMarkWidget.tsx | 91 ++ .../KnowledgeCard/KnowledgeCard.mock.ts | 274 ++++++ .../KnowledgeCard/KnowledgeCard.test.tsx | 466 ++++++++++ .../KnowledgeCard/KnowledgeCard.tsx | 494 +++++++++++ .../KnowledgeCard/knowledge-card.less | 38 + .../KnowledgeCenterLayout.test.tsx | 36 + .../KnowledgeCenterLayout.tsx | 126 +++ .../SizeAwareElement.test.tsx | 72 ++ .../SizeAwareElement/SizeAwareElement.tsx | 46 + .../knowledge-center-layout.less | 198 +++++ .../KnowledgeCenterWidget.less | 97 +++ .../KnowledgeCenterWidget.test.tsx | 182 ++++ .../KnowledgeCenterWidget.tsx | 224 +++++ .../KnowledgeDetailPageHeader.test.tsx | 207 +++++ .../KnowledgeDetailPageHeader.tsx | 417 +++++++++ .../KnowledgePageDetailComponent.tsx | 763 ++++++++++++++++ .../KnowledgePageDetailSkeleton.tsx | 25 + .../KnowledgePageDetailRightPanel.tsx | 154 ++++ .../KnowledgePageDetailRightPanelSkeleton.tsx | 33 + .../knowledge-page.less | 5 + .../KnowledgePageListComponent.tsx | 519 +++++++++++ .../knowledge-page-list.less | 5 + .../KnowledgePageListRightPanel.mock.ts | 77 ++ .../KnowledgePageListRightPanel.test.tsx | 137 +++ .../KnowledgePageListRightPanel.tsx | 256 ++++++ .../KnowledgePageOwners.tsx | 88 ++ .../KnowledgePageSummary.test.tsx | 76 ++ .../KnowledgePageSummary.tsx | 98 +++ .../KnowledgePageVersion.mock.ts | 95 ++ .../KnowledgePageVersion.test.tsx | 135 +++ .../KnowledgePageVersion.tsx | 222 +++++ .../KnowledgePages/KnowledgePages.test.tsx | 195 +++++ .../KnowledgePages/KnowledgePages.tsx | 163 ++++ .../KnowledgePagesHierarchy.test.tsx | 631 ++++++++++++++ .../KnowledgePagesHierarchy.tsx | 816 ++++++++++++++++++ .../knowledge-pages-hierarchy.less | 122 +++ .../QuickLinkFormModal.test.tsx | 113 +++ .../QuickLinkFormModal/QuickLinkFormModal.tsx | 387 +++++++++ .../RelatedDataAssets.test.tsx | 257 ++++++ .../RelatedDataAssets/RelatedDataAssets.tsx | 236 +++++ .../RelatedDataAssetsForm.test.tsx | 60 ++ .../RelatedDataAssetsForm.tsx | 84 ++ .../related-data-assets.less | 16 + .../TitleComponent/TitleComponent.test.tsx | 81 ++ .../TitleComponent/TitleComponent.tsx | 46 + .../TitleComponent/title-component.less | 18 + .../src/constants/KnowledgeCenter.constant.ts | 94 ++ .../ui/src/constants/LeftSidebar.constants.ts | 7 + .../resources/ui/src/constants/constants.ts | 11 + .../ui/src/constants/docs.constant.ts | 2 + .../PermissionProvider.interface.ts | 1 + .../ui/src/enums/CustomizeDetailPage.enum.ts | 1 + .../generated/api/attachments/createAsset.ts | 48 ++ .../generated/api/data/createContextFile.ts | 379 ++++++++ .../ui/src/generated/api/data/createFolder.ts | 309 +++++++ .../ui/src/generated/api/data/createPage.ts | 371 ++++++++ .../ui/src/generated/attachments/asset.ts | 76 ++ .../ui/src/generated/entity/data/article.ts | 81 ++ .../src/generated/entity/data/contextFile.ts | 529 ++++++++++++ .../entity/data/contextFileContent.ts | 240 ++++++ .../ui/src/generated/entity/data/folder.ts | 428 +++++++++ .../ui/src/generated/entity/data/page.ts | 584 +++++++++++++ .../generated/entity/data/pageHierarchy.ts | 166 ++++ .../ui/src/generated/entity/data/quickLink.ts | 21 + .../interface/knowledge-center.interface.ts | 126 +++ .../ui/src/locale/languages/ar-sa.json | 11 + .../ui/src/locale/languages/de-de.json | 11 + .../ui/src/locale/languages/en-us.json | 11 + .../ui/src/locale/languages/es-es.json | 11 + .../ui/src/locale/languages/fr-fr.json | 11 + .../ui/src/locale/languages/gl-es.json | 11 + .../ui/src/locale/languages/he-he.json | 11 + .../ui/src/locale/languages/ja-jp.json | 11 + .../ui/src/locale/languages/ko-kr.json | 11 + .../ui/src/locale/languages/mr-in.json | 11 + .../ui/src/locale/languages/nl-nl.json | 11 + .../ui/src/locale/languages/pr-pr.json | 11 + .../ui/src/locale/languages/pt-br.json | 11 + .../ui/src/locale/languages/pt-pt.json | 11 + .../ui/src/locale/languages/ru-ru.json | 11 + .../ui/src/locale/languages/th-th.json | 11 + .../ui/src/locale/languages/tr-tr.json | 11 + .../ui/src/locale/languages/zh-cn.json | 11 + .../ui/src/locale/languages/zh-tw.json | 11 + .../KnowledgeCenterFilterPage.tsx | 249 ++++++ .../KnowledgeCenterListPage.mock.ts | 483 +++++++++++ .../KnowledgeCenterPage.tsx | 275 ++++++ .../knowledge-center-page.less | 73 ++ .../pages/KnowledgePage/KnowledgePage.mock.ts | 134 +++ .../KnowledgePageVersionPage.tsx | 213 +++++ .../ui/src/rest/knowledgeCenterAPI.ts | 194 +++++ .../resources/ui/src/styles/variables.less | 3 + .../ui/src/utils/KnowledgeComponentUtils.tsx | 14 + .../ui/src/utils/KnowledgePageUtils.test.tsx | 542 ++++++++++++ .../ui/src/utils/KnowledgePageUtils.tsx | 492 +++++++++++ .../src/main/resources/ui/tsconfig.json | 1 + 333 files changed, 30613 insertions(+), 4 deletions(-) create mode 100644 openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/ContextFileIT.java create mode 100644 openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/DriveFileUploadIT.java create mode 100644 openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/DriveTestUsers.java create mode 100644 openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/FolderIT.java create mode 100644 openmetadata-integration-tests/src/test/java/org/openmetadata/it/knowledge/KnowledgeCenterIT.java create mode 100644 openmetadata-integration-tests/src/test/resources/2mb-jpg-example-file.jpg create mode 100644 openmetadata-integration-tests/src/test/resources/drive/sample-data.csv create mode 100644 openmetadata-integration-tests/src/test/resources/drive/sample-notes.txt create mode 100644 openmetadata-integration-tests/src/test/resources/drive/sample-pricing.xlsx create mode 100644 openmetadata-integration-tests/src/test/resources/drive/sample-report.pdf create mode 100644 openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/auth/JwtAuthProvider.java create mode 100644 openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/RestClient.java create mode 100644 openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/SdkClients.java create mode 100644 openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/TestNamespace.java create mode 100644 openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/TestNamespaceExtension.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/attachments/AssetService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/attachments/AssetServiceFactory.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/attachments/AzureAssetService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/attachments/InMemoryAssetService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/attachments/NoOpAssetService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/attachments/ObjectDeleteQueueService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/attachments/QueuedDeleteAssetService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/attachments/S3AssetService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/context/ContextEntityPromptLoader.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/context/ContextEntityPromptService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/context/ContextPromptInjectionResult.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/context/DefaultContextEntityPromptLoader.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/context/ResolvedContextEntity.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/context/TokenCounter.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/drive/ContextFileExtractionService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/drive/ContextFileTextExtractor.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AssetRepository.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ContextFileContentRepository.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ContextFileRepository.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DaoListFilter.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/FolderRepository.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/KnowledgePageRepository.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/attachments/AttachmentResource.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileMapper.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileResource.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileUploadSupport.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/FolderMapper.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/FolderResource.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/knowledge/KnowledgePageMapper.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/knowledge/KnowledgePageResource.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/ContextFileIndex.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/FolderIndex.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/PageIndex.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/context/ContextEntityPromptServiceTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/context/DefaultContextEntityPromptLoaderTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/drive/ContextFileExtractionServiceTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/drive/ContextFileTextExtractorTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/ContextFileResourceTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/ContextFileUploadSupportTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/DriveMapperTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/ContextFileIndexTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/FolderIndexTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/PageIndexTest.java create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/en/context_file_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/en/folder_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/en/knowledge_page_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/jp/context_file_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/jp/folder_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/jp/knowledge_page_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/ru/context_file_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/ru/folder_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/ru/knowledge_page_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/zh/context_file_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/zh/folder_search_index.json create mode 100644 openmetadata-spec/src/main/resources/elasticsearch/zh/knowledge_page_search_index.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/api/attachments/createAsset.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/api/data/createContextFile.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/api/data/createFolder.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/api/data/createPage.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/attachments/asset.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/entity/data/article.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/entity/data/contextFile.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/entity/data/contextFileContent.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/entity/data/folder.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/entity/data/page.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/entity/data/pageHierarchy.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/entity/data/quickLink.json create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/AIChatApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/Automator.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAIApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAIQualityAgentApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAITierAgentApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateSupport.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/DayOneExperienceApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/MetadataExporterApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/OnboardingApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/QueryRunner.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ReverseMetadata.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/SlackApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/TeamsApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/TelemetryApplication.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/agent-logo.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/area-chart.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/askcollate-header-logo.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/askcollate-icon.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/bar-chart.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/billing.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/bring-metadata.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/chat-message.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/collate-ai-two-stars.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/collate-logo.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/collateService.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/completed-outlined.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/completed.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/data-quality-no-data-placeholder.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/dataAssets.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/external-link.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/file_colored_icon.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/filter_copy.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/get-started.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/home-02.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-abort.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-active-toggle.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-ai-learning-model.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-article.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-articles.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bar-chart.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bookmark.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bookmarked.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-clock.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-close-heptagon.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-collate-ai.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-conversation.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-custom-dashboard.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-data-quality-widget.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-drag-indicator.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-external-link.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-eye.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-failed.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-featured.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-gears.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-inactive-toggle.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-inherited-link.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-knowledge-center-widget.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-knowledge-page.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-link.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-manage-charts.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-negative-up-arrow.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-onboarding.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-overview-test-summary.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-overview.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-pipeline-status-widget.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-positive-down-arrow.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-queued.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-quick-link.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-sample-data.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-saved.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-success.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-sun.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-table-add.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-terminal.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-trash-grey.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-unsaved.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-updated.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-workflow-bg.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-workflow.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_action.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_add.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_add_workflow.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-check-description.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-end.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-start.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-condition-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-condition.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-description-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_click.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_data-completeness.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_data_completeness-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_discount.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_end-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sink-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sink.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sync-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sync.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_redo.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_request-approval.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_revert-changes.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_revert_changes-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_set-action-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_set-action.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_sink-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_sink.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_star.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_start-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_undo.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_user_approval-node.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ingestion-runner.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/install-sample-data.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/invite-user.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/knowledge-center-no-data-placeholder.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/knowledge-center.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/line-chart.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/loading-01.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/message-dots-circle.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/metadata-button.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/new-chat-icon.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/notification-template-colored-new.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/one.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/pipeline-no-data-placeholder.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/plans.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/preferences-collate.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/query-runner-empty-state.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/query-runner-illustration.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/sample-data-button.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/security-service-colored.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-access.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-fabric.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-sharepoint.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/setting-sso.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/sidebar.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/star-gradient.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/summary-chart.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/test-connection.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/two.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/usage.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/user-icon.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/users-button.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/vpc-connector.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/welcome-screen.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/workflow-task.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/workflow.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/x-outlined.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/BookMarkWidget/BookMarkWidget.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/BookMarkWidget/BookMarkWidget.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.mock.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/knowledge-card.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/KnowledgeCenterLayout.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/KnowledgeCenterLayout.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/SizeAwareElement/SizeAwareElement.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/SizeAwareElement/SizeAwareElement.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/knowledge-center-layout.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeDetailPageHeader/KnowledgeDetailPageHeader.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeDetailPageHeader/KnowledgeDetailPageHeader.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailComponent/KnowledgePageDetailComponent.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailComponent/KnowledgePageDetailSkeleton.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/KnowledgePageDetailRightPanel.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/KnowledgePageDetailRightPanelSkeleton.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/knowledge-page.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListComponent/KnowledgePageListComponent.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListComponent/knowledge-page-list.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.mock.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageOwners/KnowledgePageOwners.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageSummary/KnowledgePageSummary.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageSummary/KnowledgePageSummary.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.mock.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePages/KnowledgePages.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePages/KnowledgePages.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/KnowledgePagesHierarchy.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/KnowledgePagesHierarchy.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/knowledge-pages-hierarchy.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/QuickLinkFormModal/QuickLinkFormModal.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/QuickLinkFormModal/QuickLinkFormModal.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssets.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssets.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssetsForm.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssetsForm.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/related-data-assets.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/TitleComponent/TitleComponent.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/TitleComponent/TitleComponent.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/TitleComponent/title-component.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/constants/KnowledgeCenter.constant.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/constants/docs.constant.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/api/attachments/createAsset.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/api/data/createContextFile.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/api/data/createFolder.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/api/data/createPage.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/attachments/asset.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/entity/data/article.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/entity/data/contextFile.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/entity/data/contextFileContent.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/entity/data/folder.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/entity/data/page.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/entity/data/pageHierarchy.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/entity/data/quickLink.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/interface/knowledge-center.interface.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/KnowledgeCenterFilterPage/KnowledgeCenterFilterPage.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/KnowledgeCenterListPage/KnowledgeCenterListPage.mock.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/KnowledgeCenterPage/KnowledgeCenterPage.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/KnowledgeCenterPage/knowledge-center-page.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/KnowledgePage/KnowledgePage.mock.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/KnowledgePageVersionPage/KnowledgePageVersionPage.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/rest/knowledgeCenterAPI.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/utils/KnowledgeComponentUtils.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/utils/KnowledgePageUtils.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/utils/KnowledgePageUtils.tsx diff --git a/bootstrap/sql/migrations/native/2.0.0/mysql/schemaChanges.sql b/bootstrap/sql/migrations/native/2.0.0/mysql/schemaChanges.sql index 326bb4b13ca9..0d73f309b960 100644 --- a/bootstrap/sql/migrations/native/2.0.0/mysql/schemaChanges.sql +++ b/bootstrap/sql/migrations/native/2.0.0/mysql/schemaChanges.sql @@ -1 +1,155 @@ --- MCP tables are created in 1.13.0 migration. This file is intentionally empty. \ No newline at end of file +-- MCP tables are created in 1.13.0 migration. + +-- Knowledge Center: page entity table (Article, QuickLink). +-- Existing Collate customers already have this table from 1.2.0-collate with +-- subsequent shape changes through 1.6.0-collate (nameHash -> fqnHash VARCHAR(756), +-- pageType generated column, composite deleted index). CREATE TABLE IF NOT EXISTS +-- is a no-op for them and creates the final shape for fresh OpenMetadata installs. +CREATE TABLE IF NOT EXISTS knowledge_center ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL, + fqnHash VARCHAR(756) NOT NULL COLLATE ascii_bin, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.name') NOT NULL, + json JSON NOT NULL, + updatedAt BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.updatedAt') NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.updatedBy') NOT NULL, + deleted BOOLEAN GENERATED ALWAYS AS (json -> '$.deleted'), + pageType VARCHAR(16) GENERATED ALWAYS AS (json ->> '$.pageType') NOT NULL, + PRIMARY KEY (id), + UNIQUE (fqnHash), + INDEX knowledge_center_name_index (name), + INDEX index_knowledge_center_deleted (fqnHash, deleted) +); + +-- Context Center Drive: Folder entity table. +CREATE TABLE IF NOT EXISTS drive_folder ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.name') STORED NOT NULL, + nameHash VARCHAR(256) NOT NULL COLLATE ascii_bin, + json JSON NOT NULL, + updatedAt BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.updatedAt') STORED NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.updatedBy') STORED NOT NULL, + deleted BOOLEAN GENERATED ALWAYS AS (json -> '$.deleted') STORED, + PRIMARY KEY (id), + UNIQUE KEY unique_drive_folder_name (nameHash), + INDEX idx_drive_folder_updated_at (updatedAt) +) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- Context Center Drive: File entity table (uploaded PDF/image/spreadsheet/office docs). +CREATE TABLE IF NOT EXISTS context_file ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.name') STORED NOT NULL, + nameHash VARCHAR(256) NOT NULL COLLATE ascii_bin, + json JSON NOT NULL, + updatedAt BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.updatedAt') STORED NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.updatedBy') STORED NOT NULL, + deleted BOOLEAN GENERATED ALWAYS AS (json -> '$.deleted') STORED, + PRIMARY KEY (id), + UNIQUE KEY unique_context_file_name (nameHash), + INDEX idx_context_file_updated_at (updatedAt) +) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- Attachments: Asset entity table for uploaded file blobs referenced by ContextFiles, Pages, etc. +-- Existing Collate customers have this from 1.7.0-collate. CREATE TABLE IF NOT EXISTS is a no-op for them. +CREATE TABLE IF NOT EXISTS asset_entity ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.fileName') NOT NULL, + url VARCHAR(1024) GENERATED ALWAYS AS (json ->> '$.url') STORED NOT NULL, + fullyQualifiedName VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.fullyQualifiedName') NOT NULL, + assetType VARCHAR(100) GENERATED ALWAYS AS (json ->> '$.assetType') NOT NULL, + json JSON NOT NULL, + updatedAt BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.updatedAt') NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.updatedBy') NOT NULL, + fqnHash VARCHAR(768) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL, + deleted BOOLEAN GENERATED ALWAYS AS (json -> '$.deleted'), + INDEX fqnhash_index (fqnHash), + INDEX asset_type_index (assetType), + INDEX idx_asset_deleted (deleted) +); + +-- Context Center Drive: File content snapshot table (revisions, extracted text). +CREATE TABLE IF NOT EXISTS context_file_content ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.name') STORED NOT NULL, + nameHash VARCHAR(256) NOT NULL COLLATE ascii_bin, + json JSON NOT NULL, + updatedAt BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.updatedAt') STORED NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.updatedBy') STORED NOT NULL, + deleted BOOLEAN GENERATED ALWAYS AS (json -> '$.deleted') STORED, + PRIMARY KEY (id), + UNIQUE KEY unique_context_file_content_name (nameHash), + INDEX idx_context_file_content_updated_at (updatedAt) +) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- Add tag_usage.metadata column if missing (newer tag usage payloads carry metadata). +SET @ddl = ( + SELECT IF( + EXISTS ( + SELECT 1 + FROM information_schema.columns + WHERE table_schema = DATABASE() + AND table_name = 'tag_usage' + AND column_name = 'metadata' + ), + 'SELECT 1', + 'ALTER TABLE tag_usage ADD COLUMN metadata JSON NULL' + ) +); +PREPARE stmt FROM @ddl; +EXECUTE stmt; +DEALLOCATE PREPARE stmt; + +-- Add audit_log_event.search_text column if missing (searchable audit log text). +SET @ddl = ( + SELECT IF( + EXISTS ( + SELECT 1 + FROM information_schema.columns + WHERE table_schema = DATABASE() + AND table_name = 'audit_log_event' + AND column_name = 'search_text' + ), + 'SELECT 1', + 'ALTER TABLE audit_log_event ADD COLUMN search_text LONGTEXT NULL' + ) +); +PREPARE stmt FROM @ddl; +EXECUTE stmt; +DEALLOCATE PREPARE stmt; + +-- Distributed reindex job tracking. +CREATE TABLE IF NOT EXISTS search_index_job ( + id VARCHAR(64) NOT NULL, + status VARCHAR(64) NOT NULL, + jobConfiguration JSON NOT NULL, + targetIndexPrefix VARCHAR(256) NOT NULL, + stagedIndexMapping JSON DEFAULT NULL, + totalRecords BIGINT NOT NULL DEFAULT 0, + processedRecords BIGINT NOT NULL DEFAULT 0, + successRecords BIGINT NOT NULL DEFAULT 0, + failedRecords BIGINT NOT NULL DEFAULT 0, + stats JSON NOT NULL, + createdBy VARCHAR(256) NOT NULL, + createdAt BIGINT NOT NULL, + startedAt BIGINT DEFAULT NULL, + completedAt BIGINT DEFAULT NULL, + updatedAt BIGINT NOT NULL, + errorMessage LONGTEXT DEFAULT NULL, + registrationDeadline BIGINT DEFAULT NULL, + registeredServerCount INT DEFAULT NULL, + PRIMARY KEY (id), + KEY idx_search_index_job_status_created_at (status, createdAt DESC) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- Retry queue for failed search-index writes. +CREATE TABLE IF NOT EXISTS search_index_retry_queue ( + entityId VARCHAR(64) NOT NULL, + entityFqn VARCHAR(700) NOT NULL, + failureReason LONGTEXT DEFAULT NULL, + status VARCHAR(64) NOT NULL, + entityType VARCHAR(128) NOT NULL, + retryCount INT NOT NULL DEFAULT 0, + claimedAt TIMESTAMP NULL DEFAULT NULL, + PRIMARY KEY (entityId, entityFqn), + KEY idx_search_index_retry_queue_status (status), + KEY idx_search_index_retry_queue_claimed_at (claimedAt) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; diff --git a/bootstrap/sql/migrations/native/2.0.0/postgres/schemaChanges.sql b/bootstrap/sql/migrations/native/2.0.0/postgres/schemaChanges.sql index 326bb4b13ca9..21c1ecd74bbb 100644 --- a/bootstrap/sql/migrations/native/2.0.0/postgres/schemaChanges.sql +++ b/bootstrap/sql/migrations/native/2.0.0/postgres/schemaChanges.sql @@ -1 +1,130 @@ --- MCP tables are created in 1.13.0 migration. This file is intentionally empty. \ No newline at end of file +-- MCP tables are created in 1.13.0 migration. + +-- Knowledge Center: page entity table (Article, QuickLink). +-- Existing Collate customers already have this table from 1.2.0-collate with +-- subsequent shape changes through 1.6.0-collate (nameHash -> fqnHash VARCHAR(756), +-- pageType generated column, composite deleted index). CREATE TABLE IF NOT EXISTS +-- is a no-op for them and creates the final shape for fresh OpenMetadata installs. +CREATE TABLE IF NOT EXISTS knowledge_center ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL, + fqnHash VARCHAR(756) NOT NULL, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> 'name') STORED NOT NULL, + json JSONB NOT NULL, + updatedAt BIGINT GENERATED ALWAYS AS ((json ->> 'updatedAt')::bigint) STORED NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> 'updatedBy') STORED NOT NULL, + deleted BOOLEAN GENERATED ALWAYS AS ((json ->> 'deleted')::boolean) STORED, + pageType VARCHAR(16) GENERATED ALWAYS AS (json ->> 'pageType') STORED NOT NULL, + PRIMARY KEY (id), + UNIQUE (fqnHash) +); +CREATE INDEX IF NOT EXISTS knowledge_center_name_index ON knowledge_center (name); +CREATE INDEX IF NOT EXISTS index_knowledge_center_deleted ON knowledge_center (fqnHash, deleted); + +-- Context Center Drive: Folder entity table. +CREATE TABLE IF NOT EXISTS drive_folder ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> 'name') STORED NOT NULL, + nameHash VARCHAR(256) NOT NULL, + json JSONB NOT NULL, + updatedAt BIGINT GENERATED ALWAYS AS ((json ->> 'updatedAt')::bigint) STORED NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> 'updatedBy') STORED NOT NULL, + deleted BOOLEAN GENERATED ALWAYS AS ((json ->> 'deleted')::boolean) STORED, + PRIMARY KEY (id), + UNIQUE (nameHash) +); +CREATE INDEX IF NOT EXISTS idx_drive_folder_updated_at ON drive_folder (updatedAt); + +-- Context Center Drive: File entity table (uploaded PDF/image/spreadsheet/office docs). +CREATE TABLE IF NOT EXISTS context_file ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> 'name') STORED NOT NULL, + nameHash VARCHAR(256) NOT NULL, + json JSONB NOT NULL, + updatedAt BIGINT GENERATED ALWAYS AS ((json ->> 'updatedAt')::bigint) STORED NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> 'updatedBy') STORED NOT NULL, + deleted BOOLEAN GENERATED ALWAYS AS ((json ->> 'deleted')::boolean) STORED, + PRIMARY KEY (id), + UNIQUE (nameHash) +); +CREATE INDEX IF NOT EXISTS idx_context_file_updated_at ON context_file (updatedAt); + +-- Attachments: Asset entity table for uploaded file blobs referenced by ContextFiles, Pages, etc. +-- Existing Collate customers have this from 1.7.0-collate. CREATE TABLE IF NOT EXISTS is a no-op for them. +CREATE TABLE IF NOT EXISTS asset_entity ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> 'fileName') STORED NOT NULL, + url VARCHAR(1024) GENERATED ALWAYS AS (json ->> 'url') STORED NOT NULL, + fullyQualifiedName VARCHAR(256) GENERATED ALWAYS AS (json ->> 'fullyQualifiedName') STORED NOT NULL, + assetType VARCHAR(100) GENERATED ALWAYS AS (json ->> 'assetType') STORED NOT NULL, + json JSONB NOT NULL, + updatedAt BIGINT GENERATED ALWAYS AS ((json ->> 'updatedAt')::bigint) STORED NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> 'updatedBy') STORED NOT NULL, + fqnHash VARCHAR(768) NOT NULL, + deleted BOOLEAN GENERATED ALWAYS AS (CAST(json ->> 'deleted' AS BOOLEAN)) STORED, + PRIMARY KEY (id) +); +CREATE INDEX IF NOT EXISTS fqnhash_index ON asset_entity (fqnHash); +CREATE INDEX IF NOT EXISTS asset_type_index ON asset_entity (assetType); +CREATE INDEX IF NOT EXISTS idx_asset_deleted ON asset_entity (deleted); + +-- Context Center Drive: File content snapshot table (revisions, extracted text). +CREATE TABLE IF NOT EXISTS context_file_content ( + id VARCHAR(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL, + name VARCHAR(256) GENERATED ALWAYS AS (json ->> 'name') STORED NOT NULL, + nameHash VARCHAR(256) NOT NULL, + json JSONB NOT NULL, + updatedAt BIGINT GENERATED ALWAYS AS ((json ->> 'updatedAt')::bigint) STORED NOT NULL, + updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> 'updatedBy') STORED NOT NULL, + deleted BOOLEAN GENERATED ALWAYS AS ((json ->> 'deleted')::boolean) STORED, + PRIMARY KEY (id), + UNIQUE (nameHash) +); +CREATE INDEX IF NOT EXISTS idx_context_file_content_updated_at ON context_file_content (updatedAt); + +-- Add tag_usage.metadata column if missing (newer tag usage payloads carry metadata). +ALTER TABLE IF EXISTS tag_usage + ADD COLUMN IF NOT EXISTS metadata JSONB; + +-- Add audit_log_event.search_text column if missing (searchable audit log text). +ALTER TABLE IF EXISTS audit_log_event + ADD COLUMN IF NOT EXISTS search_text TEXT; + +-- Distributed reindex job tracking. +CREATE TABLE IF NOT EXISTS search_index_job ( + id VARCHAR(64) PRIMARY KEY, + status VARCHAR(64) NOT NULL, + jobConfiguration JSONB NOT NULL, + targetIndexPrefix VARCHAR(256) NOT NULL, + stagedIndexMapping JSONB NULL, + totalRecords BIGINT NOT NULL DEFAULT 0, + processedRecords BIGINT NOT NULL DEFAULT 0, + successRecords BIGINT NOT NULL DEFAULT 0, + failedRecords BIGINT NOT NULL DEFAULT 0, + stats JSONB NOT NULL DEFAULT '{}'::jsonb, + createdBy VARCHAR(256) NOT NULL, + createdAt BIGINT NOT NULL, + startedAt BIGINT NULL, + completedAt BIGINT NULL, + updatedAt BIGINT NOT NULL, + errorMessage TEXT NULL, + registrationDeadline BIGINT NULL, + registeredServerCount INTEGER NULL +); +CREATE INDEX IF NOT EXISTS idx_search_index_job_status_created_at + ON search_index_job (status, createdAt DESC); + +-- Retry queue for failed search-index writes. +CREATE TABLE IF NOT EXISTS search_index_retry_queue ( + entityId VARCHAR(64) NOT NULL, + entityFqn VARCHAR(768) NOT NULL, + failureReason TEXT NULL, + status VARCHAR(64) NOT NULL, + entityType VARCHAR(128) NOT NULL, + retryCount INTEGER NOT NULL DEFAULT 0, + claimedAt TIMESTAMP NULL, + PRIMARY KEY (entityId, entityFqn) +); +CREATE INDEX IF NOT EXISTS idx_search_index_retry_queue_status + ON search_index_retry_queue (status); +CREATE INDEX IF NOT EXISTS idx_search_index_retry_queue_claimed_at + ON search_index_retry_queue (claimedAt); diff --git a/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/ContextFileIT.java b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/ContextFileIT.java new file mode 100644 index 000000000000..e7a16ab9846a --- /dev/null +++ b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/ContextFileIT.java @@ -0,0 +1,387 @@ +package org.openmetadata.it.drive; + +import static org.awaitility.Awaitility.await; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import jakarta.ws.rs.core.Response; +import java.time.Duration; +import java.util.List; +import java.util.UUID; +import org.apache.http.client.HttpResponseException; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.openmetadata.schema.api.data.CreateContextFile; +import org.openmetadata.schema.api.data.CreateFolder; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileSourceType; +import org.openmetadata.schema.entity.data.ContextFileType; +import org.openmetadata.schema.entity.data.Folder; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import org.openmetadata.schema.entity.teams.User; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.sdk.test.util.RestClient; +import org.openmetadata.sdk.test.util.TestNamespace; +import org.openmetadata.sdk.test.util.TestNamespaceExtension; + +@ExtendWith(TestNamespaceExtension.class) +class ContextFileIT { + + private static final String FILE_PATH = "v1/drive/files"; + private static final String FOLDER_PATH = "v1/drive/folders"; + + private ContextFile createFile(RestClient rest, CreateContextFile request) + throws HttpResponseException { + return rest.create(FILE_PATH, request, ContextFile.class); + } + + private ContextFile getFile(RestClient rest, UUID id, String fields) + throws HttpResponseException { + return rest.getById(FILE_PATH, id, fields, ContextFile.class); + } + + private Folder createFolder(RestClient rest, CreateFolder request) + throws HttpResponseException { + return rest.create(FOLDER_PATH, request, Folder.class); + } + + // --- CRUD --- + + @Test + void testCreateContextFile(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + CreateContextFile create = + new CreateContextFile() + .withName(ns.prefix("report-pdf")) + .withDisplayName("Annual Report 2023") + .withFileType(ContextFileType.PDF) + .withFileSize(4200000.0) + .withContentType("application/pdf") + .withFileExtension("pdf") + .withProcessingStatus(ProcessingStatus.Uploaded); + + ContextFile file = createFile(rest, create); + assertNotNull(file.getId()); + assertEquals("Annual Report 2023", file.getDisplayName()); + assertEquals(ContextFileType.PDF, file.getFileType()); + assertEquals(4200000.0, file.getFileSize()); + } + + @Test + void testCreateSpreadsheet(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + CreateContextFile create = + new CreateContextFile() + .withName(ns.prefix("pricing-xlsx")) + .withDisplayName("Product Pricing") + .withFileType(ContextFileType.Spreadsheet) + .withFileSize(128000.0) + .withContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + .withFileExtension("xlsx") + .withProcessingStatus(ProcessingStatus.Uploaded); + + ContextFile file = createFile(rest, create); + assertEquals(ContextFileType.Spreadsheet, file.getFileType()); + } + + @Test + void testGetFileById(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + ContextFile created = + createFile( + rest, + new CreateContextFile() + .withName(ns.prefix("get-test")) + .withFileType(ContextFileType.CSV) + .withProcessingStatus(ProcessingStatus.Uploaded)); + + ContextFile fetched = getFile(rest, created.getId(), ""); + assertEquals(created.getId(), fetched.getId()); + assertEquals(ContextFileType.CSV, fetched.getFileType()); + } + + @Test + void testDeleteFile(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + ContextFile file = + createFile( + rest, + new CreateContextFile() + .withName(ns.prefix("delete-test")) + .withProcessingStatus(ProcessingStatus.Uploaded)); + + rest.delete(FILE_PATH, file.getId()); + + HttpResponseException ex = + assertThrows(HttpResponseException.class, () -> getFile(rest, file.getId(), "")); + assertEquals(404, ex.getStatusCode()); + + try (Response deletedResponse = rest.rawGet(FILE_PATH + "/" + file.getId() + "?include=all")) { + assertEquals(200, deletedResponse.getStatus()); + assertTrue(deletedResponse.readEntity(String.class).contains("\"deleted\":true")); + } + } + + @Test + void testRestoreSoftDeletedFile(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + ContextFile file = + createFile( + rest, + new CreateContextFile() + .withName(ns.prefix("restore-test")) + .withProcessingStatus(ProcessingStatus.Uploaded)); + + rest.delete(FILE_PATH, file.getId()); + ContextFile restored = rest.restore(FILE_PATH, file.getId(), ContextFile.class); + + assertEquals(file.getId(), restored.getId()); + assertTrue(!Boolean.TRUE.equals(restored.getDeleted())); + assertEquals(file.getId(), getFile(rest, file.getId(), "").getId()); + } + + @Test + void testHardDeleteFileIsAsync(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + ContextFile file = + createFile( + rest, + new CreateContextFile() + .withName(ns.prefix("perm-delete-test")) + .withProcessingStatus(ProcessingStatus.Uploaded)); + + try (Response deleteResponse = + rest.rawDelete(FILE_PATH + "/" + file.getId() + "?hardDelete=true")) { + assertEquals(202, deleteResponse.getStatus()); + assertTrue(deleteResponse.readEntity(String.class).contains("\"hardDelete\":true")); + } + + await() + .atMost(Duration.ofSeconds(10)) + .untilAsserted( + () -> { + try (Response deletedResponse = + rest.rawGet(FILE_PATH + "/" + file.getId() + "?include=all")) { + assertEquals(404, deletedResponse.getStatus()); + } + }); + } + + // --- File in Folder --- + + @Test + void testFileInFolder(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder folder = createFolder(rest, new CreateFolder().withName(ns.prefix("docs-folder"))); + + ContextFile file = + createFile( + rest, + new CreateContextFile() + .withName(ns.prefix("file-in-folder")) + .withDisplayName("Report in Folder") + .withFileType(ContextFileType.PDF) + .withFolder(folder.getFullyQualifiedName()) + .withProcessingStatus(ProcessingStatus.Uploaded)); + + ContextFile fetched = getFile(rest, file.getId(), "folder"); + assertNotNull(fetched.getFolder()); + assertEquals(folder.getId(), fetched.getFolder().getId()); + + // FQN should include folder name + assertTrue( + fetched.getFullyQualifiedName().contains(folder.getName()), + "File FQN should include folder name"); + } + + @Test + void testFileInNestedFolder(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder root = createFolder(rest, new CreateFolder().withName(ns.prefix("root"))); + Folder child = + createFolder( + rest, + new CreateFolder() + .withName(ns.prefix("child")) + .withParent(root.getFullyQualifiedName())); + + ContextFile file = + createFile( + rest, + new CreateContextFile() + .withName(ns.prefix("deep-file")) + .withFolder(child.getFullyQualifiedName()) + .withProcessingStatus(ProcessingStatus.Uploaded)); + + ContextFile fetched = getFile(rest, file.getId(), "folder"); + assertTrue( + fetched.getFullyQualifiedName().contains(root.getName()), + "File FQN should contain root folder"); + assertTrue( + fetched.getFullyQualifiedName().contains(child.getName()), + "File FQN should contain child folder"); + } + + // --- Source Provenance --- + + @Test + void testFileSourceProvenance(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + CreateContextFile create = + new CreateContextFile() + .withName(ns.prefix("synced-file")) + .withFileType(ContextFileType.Document) + .withSourceType(ContextFileSourceType.Confluence) + .withSourceId("page-12345") + .withSourceUrl(java.net.URI.create("https://wiki.example.com/page/12345")) + .withProcessingStatus(ProcessingStatus.Processed); + + ContextFile file = createFile(rest, create); + assertEquals(ContextFileSourceType.Confluence, file.getSourceType()); + assertEquals("page-12345", file.getSourceId()); + } + + // --- Processing Status Update --- + + @Test + void testUpdateProcessingStatus(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + ContextFile file = + createFile( + rest, + new CreateContextFile() + .withName(ns.prefix("status-test")) + .withFileType(ContextFileType.PDF) + .withProcessingStatus(ProcessingStatus.Uploaded)); + + assertEquals(ProcessingStatus.Uploaded, file.getProcessingStatus()); + + // Patch to Processed + String original = JsonUtils.pojoToJson(file); + file.setProcessingStatus(ProcessingStatus.Processed); + ContextFile updated = rest.patch(FILE_PATH, file.getId(), original, file, ContextFile.class); + + assertEquals(ProcessingStatus.Processed, updated.getProcessingStatus()); + } + + // --- Permissions --- + + @Test + void testUnprivilegedUserCannotDeleteFile(TestNamespace ns) throws HttpResponseException { + RestClient adminRest = RestClient.admin(); + User owner = DriveTestUsers.createUser(ns, "file-owner"); + + ContextFile file = + createFile( + adminRest, + new CreateContextFile() + .withName(ns.prefix("perm-delete")) + .withFileType(ContextFileType.PDF) + .withProcessingStatus(ProcessingStatus.Uploaded) + .withOwners(List.of(owner.getEntityReference()))); + + RestClient consumerRest = + RestClient.forUser("test@open-metadata.org", new String[] {}); + + HttpResponseException ex = + assertThrows( + HttpResponseException.class, () -> consumerRest.hardDelete(FILE_PATH, file.getId())); + + assertTrue( + ex.getStatusCode() == 403 || ex.getStatusCode() == 401, + "Expected 403/401, got " + ex.getStatusCode()); + } + + @Test + void testUnprivilegedUserCannotUpdateOthersFile(TestNamespace ns) throws HttpResponseException { + RestClient adminRest = RestClient.admin(); + User owner = DriveTestUsers.createUser(ns, "file-editor"); + + ContextFile file = + createFile( + adminRest, + new CreateContextFile() + .withName(ns.prefix("perm-update")) + .withDisplayName("Admin's File") + .withFileType(ContextFileType.PDF) + .withProcessingStatus(ProcessingStatus.Uploaded) + .withOwners(List.of(owner.getEntityReference()))); + + RestClient consumerRest = + RestClient.forUser("test@open-metadata.org", new String[] {}); + + String original = JsonUtils.pojoToJson(file); + file.setDisplayName("Hacked"); + + HttpResponseException ex = + assertThrows( + HttpResponseException.class, + () -> consumerRest.patch(FILE_PATH, file.getId(), original, file, ContextFile.class)); + + assertTrue( + ex.getStatusCode() == 403 || ex.getStatusCode() == 401, + "Expected 403/401, got " + ex.getStatusCode()); + } + + @Test + void testOwnerCanUpdateOwnFile(TestNamespace ns) throws HttpResponseException { + RestClient adminRest = RestClient.admin(); + User owner = DriveTestUsers.createUser(ns, "file-self-owner"); + + ContextFile file = + createFile( + adminRest, + new CreateContextFile() + .withName(ns.prefix("owner-update")) + .withDisplayName("Owner's File") + .withFileType(ContextFileType.PDF) + .withProcessingStatus(ProcessingStatus.Uploaded) + .withOwners(List.of(owner.getEntityReference()))); + + // The explicit owner should be able to update the file. + RestClient ownerRest = RestClient.forUser(owner.getEmail(), new String[] {}); + + String original = JsonUtils.pojoToJson(file); + file.setDisplayName("Updated by Owner"); + + ContextFile updated = + ownerRest.patch(FILE_PATH, file.getId(), original, file, ContextFile.class); + assertEquals("Updated by Owner", updated.getDisplayName()); + } + + // --- Search --- + + @Test + void testFileAppearsInSearch(TestNamespace ns) throws Exception { + RestClient rest = RestClient.admin(); + + String uniqueName = ns.prefix("searchable-file"); + createFile( + rest, + new CreateContextFile() + .withName(uniqueName) + .withDisplayName("Searchable PDF") + .withFileType(ContextFileType.PDF) + .withProcessingStatus(ProcessingStatus.Processed)); + + // Give ES time to index + Thread.sleep(2000); + + jakarta.ws.rs.core.Response searchResp = + rest.rawGet( + "v1/search/query?q=" + uniqueName + "&index=context_file_search_index&from=0&size=10"); + assertEquals(200, searchResp.getStatus()); + } +} diff --git a/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/DriveFileUploadIT.java b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/DriveFileUploadIT.java new file mode 100644 index 000000000000..c19c750a2488 --- /dev/null +++ b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/DriveFileUploadIT.java @@ -0,0 +1,720 @@ +package org.openmetadata.it.drive; + +import static jakarta.ws.rs.core.Response.Status.CREATED; +import static org.awaitility.Awaitility.await; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import io.dropwizard.jackson.Jackson; +import io.dropwizard.jersey.jackson.JacksonFeature; +import jakarta.ws.rs.client.Client; +import jakarta.ws.rs.client.ClientBuilder; +import jakarta.ws.rs.client.Entity; +import jakarta.ws.rs.client.WebTarget; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedHashMap; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.core.Response; +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.time.Duration; +import java.util.Comparator; +import java.util.UUID; +import javax.imageio.ImageIO; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDPageContentStream; +import org.apache.pdfbox.pdmodel.font.PDType1Font; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.glassfish.jersey.client.ClientProperties; +import org.glassfish.jersey.media.multipart.FormDataMultiPart; +import org.glassfish.jersey.media.multipart.MultiPartFeature; +import org.glassfish.jersey.media.multipart.file.StreamDataBodyPart; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.openmetadata.schema.api.data.CreateFolder; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileType; +import org.openmetadata.schema.entity.data.Folder; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.sdk.test.util.RestClient; +import org.openmetadata.sdk.test.util.SdkClients; +import org.openmetadata.sdk.test.util.TestNamespace; +import org.openmetadata.sdk.test.util.TestNamespaceExtension; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; +import software.amazon.awssdk.core.ResponseInputStream; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.S3Configuration; +import software.amazon.awssdk.services.s3.model.GetObjectRequest; +import software.amazon.awssdk.services.s3.model.GetObjectResponse; +import software.amazon.awssdk.services.s3.model.ListObjectsV2Request; +import software.amazon.awssdk.services.s3.model.S3Object; + +/** + * Integration test for Context Center Drive file upload with MinIO-backed S3 storage using + * fixture files from src/test/resources. + */ +@ExtendWith(TestNamespaceExtension.class) +class DriveFileUploadIT { + + private static final String MINIO_BUCKET = "test-bucket"; + private static final String TIKA_TESSERACT_PATH_PROPERTY = "collate.tika.tesseract.path"; + private static String serverBaseUrl; + private static Client multipartClient; + private static WebTarget uploadTarget; + + @BeforeAll + static void setup() { + String itBaseUrl = + System.getProperty( + "IT_BASE_URL", + System.getenv().getOrDefault("IT_BASE_URL", "http://localhost:8585/api")); + if (itBaseUrl.endsWith("/api")) { + serverBaseUrl = itBaseUrl.substring(0, itBaseUrl.length() - 4); + } else { + serverBaseUrl = itBaseUrl; + } + + multipartClient = ClientBuilder.newClient(); + multipartClient.register(MultiPartFeature.class); + multipartClient.register(new JacksonFeature(Jackson.newObjectMapper())); + + uploadTarget = + multipartClient + .target(serverBaseUrl + "/api/v1/drive/files/upload") + .property(ClientProperties.CONNECT_TIMEOUT, 30000) + .property(ClientProperties.READ_TIMEOUT, 30000); + } + + @AfterAll + static void tearDown() { + if (multipartClient != null) { + multipartClient.close(); + multipartClient = null; + } + } + + private static MultivaluedMap adminAuthHeaders() { + String token = SdkClients.getAdminToken(); + MultivaluedMap headers = new MultivaluedHashMap<>(); + headers.add("Authorization", "Bearer " + token); + return headers; + } + + private byte[] readFixture(String resourcePath) throws IOException { + try (InputStream inputStream = getClass().getResourceAsStream(resourcePath)) { + assertNotNull(inputStream, "Missing drive fixture: " + resourcePath); + return inputStream.readAllBytes(); + } + } + + private Response uploadFile(String fileName, byte[] content, String displayName, String folderFqn) + throws IOException { + try (FormDataMultiPart multipart = new FormDataMultiPart()) { + if (displayName != null) { + multipart.field("displayName", displayName); + } + if (folderFqn != null) { + multipart.field("folder", folderFqn); + } + multipart.bodyPart( + new StreamDataBodyPart( + "file", + new ByteArrayInputStream(content), + fileName, + MediaType.APPLICATION_OCTET_STREAM_TYPE)); + + return uploadTarget + .request() + .headers(adminAuthHeaders()) + .post(Entity.entity(multipart, multipart.getMediaType())); + } + } + + private Response uploadFixture(String resourcePath, String displayName) throws IOException { + String fileName = resourcePath.substring(resourcePath.lastIndexOf('/') + 1); + return uploadFixture(resourcePath, fileName, displayName, null); + } + + private Response uploadFixture( + String resourcePath, String uploadedFileName, String displayName, String folderFqn) + throws IOException { + return uploadFile(uploadedFileName, readFixture(resourcePath), displayName, folderFqn); + } + + private String resolveStoredObjectKey(S3Client s3Client, String assetId) { + return s3Client + .listObjectsV2Paginator(ListObjectsV2Request.builder().bucket(MINIO_BUCKET).build()) + .contents() + .stream() + .map(S3Object::key) + .filter(key -> key.equals(assetId) || key.endsWith(assetId) || key.contains(assetId)) + .findFirst() + .orElse(null); + } + + private S3Client buildMinioClient() { + return S3Client.builder() + .region(Region.US_EAST_1) + .credentialsProvider( + StaticCredentialsProvider.create(AwsBasicCredentials.create("minio", "minio123"))) + .endpointOverride( + URI.create( + System.getProperty( + "IT_MINIO_ENDPOINT", + System.getenv().getOrDefault("IT_MINIO_ENDPOINT", "http://localhost:9000")))) + .serviceConfiguration(S3Configuration.builder().pathStyleAccessEnabled(true).build()) + .build(); + } + + private void assertStoredInMinIO(String assetId, byte[] expectedBytes) { + try (S3Client s3Client = buildMinioClient()) { + await() + .atMost(Duration.ofSeconds(5)) + .untilAsserted( + () -> { + String objectKey = resolveStoredObjectKey(s3Client, assetId); + assertNotNull(objectKey, "Expected uploaded object for asset " + assetId); + try (ResponseInputStream objectStream = + s3Client.getObject( + GetObjectRequest.builder().bucket(MINIO_BUCKET).key(objectKey).build())) { + assertArrayEquals(expectedBytes, objectStream.readAllBytes()); + } + }); + } + } + + private void assertRemovedFromMinIO(String assetId) { + try (S3Client s3Client = buildMinioClient()) { + await() + .atMost(Duration.ofSeconds(10)) + .untilAsserted(() -> assertTrue(resolveStoredObjectKey(s3Client, assetId) == null)); + } + } + + private ContextFile fetchFile(UUID fileId) { + try { + return RestClient.admin().getById("v1/drive/files", fileId, "", ContextFile.class); + } catch (Exception e) { + throw new AssertionError("Failed to fetch uploaded file " + fileId, e); + } + } + + private void assertSearchContainsFile(String query, UUID fileId) { + RestClient rest = RestClient.admin(); + String encodedQuery = URLEncoder.encode(query, StandardCharsets.UTF_8); + + await() + .atMost(Duration.ofSeconds(20)) + .untilAsserted( + () -> { + try (Response searchResponse = + rest.rawGet( + "v1/search/query?q=" + + encodedQuery + + "&index=context_file_search_index&from=0&size=10")) { + assertEquals(200, searchResponse.getStatus()); + assertTrue(searchResponse.readEntity(String.class).contains(fileId.toString())); + } + }); + } + + private byte[] createPdf(String text) throws IOException { + try (PDDocument document = new PDDocument(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + PDPage page = new PDPage(); + document.addPage(page); + try (PDPageContentStream contentStream = new PDPageContentStream(document, page)) { + contentStream.beginText(); + contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12); + contentStream.newLineAtOffset(72, 720); + contentStream.showText(text); + contentStream.endText(); + } + document.save(outputStream); + return outputStream.toByteArray(); + } + } + + private byte[] createWorkbook(String sheetName, String key, String value) throws IOException { + try (Workbook workbook = new XSSFWorkbook(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + var sheet = workbook.createSheet(sheetName); + var header = sheet.createRow(0); + header.createCell(0).setCellValue("Key"); + header.createCell(1).setCellValue("Value"); + var row = sheet.createRow(1); + row.createCell(0).setCellValue(key); + row.createCell(1).setCellValue(value); + workbook.write(outputStream); + return outputStream.toByteArray(); + } + } + + private byte[] createPngWithText(String text) throws IOException { + BufferedImage image = new BufferedImage(1400, 240, BufferedImage.TYPE_INT_RGB); + Graphics2D graphics = image.createGraphics(); + try { + graphics.setColor(Color.WHITE); + graphics.fillRect(0, 0, image.getWidth(), image.getHeight()); + graphics.setColor(Color.BLACK); + graphics.setRenderingHint( + RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + graphics.setFont(new Font("Monospaced", Font.BOLD, 56)); + graphics.drawString(text, 40, 140); + } finally { + graphics.dispose(); + } + + try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + ImageIO.write(image, "png", outputStream); + return outputStream.toByteArray(); + } + } + + private Path createFakeTesseractHome(String extractedText) throws IOException { + Path home = Files.createTempDirectory("fake-tesseract-home-"); + Path executable = home.resolve("tesseract"); + Files.writeString( + executable, + "#!/bin/sh\n" + + "if [ $# -eq 0 ] || [ \"$1\" = \"--version\" ]; then\n" + + " echo \"tesseract 5.0.0\"\n" + + " exit 0\n" + + "fi\n" + + "output_base=\"$2\"\n" + + "printf '%s\\n' \"" + + extractedText + + "\" > \"${output_base}.txt\"\n", + StandardCharsets.UTF_8); + executable.toFile().setExecutable(true); + return home; + } + + private void deleteRecursively(Path root) throws IOException { + if (root == null || Files.notExists(root)) { + return; + } + try (var paths = Files.walk(root)) { + paths.sorted(Comparator.reverseOrder()).forEach(path -> path.toFile().delete()); + } + } + + @Test + void testUploadPdfToMinIO(TestNamespace ns) throws Exception { + byte[] content = readFixture("/drive/sample-report.pdf"); + ContextFile file; + try (Response response = uploadFixture("/drive/sample-report.pdf", "Annual Report")) { + String body = response.readEntity(String.class); + assertEquals( + CREATED.getStatusCode(), response.getStatus(), "Upload to MinIO failed: " + body); + + file = JsonUtils.readValue(body, ContextFile.class); + assertNotNull(file.getId()); + assertNotNull(file.getAssetId(), "File should have assetId from S3 upload"); + assertNotNull(file.getHeadContentId(), "File should point at a current content snapshot"); + assertEquals("Annual Report", file.getDisplayName()); + assertEquals((double) content.length, file.getFileSize()); + assertStoredInMinIO(file.getAssetId(), content); + } + + await() + .atMost(Duration.ofSeconds(20)) + .untilAsserted( + () -> { + ContextFile refreshed = fetchFile(file.getId()); + assertEquals(ProcessingStatus.Processed, refreshed.getProcessingStatus()); + assertTrue(refreshed.getExtractedText().contains("Context Center PDF Fixture")); + assertEquals(1, refreshed.getPageCount()); + }); + } + + @Test + void testUploadSpreadsheetToMinIO(TestNamespace ns) throws Exception { + byte[] content = readFixture("/drive/sample-pricing.xlsx"); + Response response = uploadFixture("/drive/sample-pricing.xlsx", "Pricing Sheet"); + + String body = response.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), response.getStatus(), "Upload failed: " + body); + + ContextFile file = JsonUtils.readValue(body, ContextFile.class); + assertNotNull(file.getAssetId()); + assertNotNull(file.getHeadContentId()); + assertEquals("Pricing Sheet", file.getDisplayName()); + assertEquals((double) content.length, file.getFileSize()); + } + + @Test + void testUploadCsvToMinIO(TestNamespace ns) throws Exception { + byte[] content = readFixture("/drive/sample-data.csv"); + Response response = uploadFixture("/drive/sample-data.csv", null); + + String body = response.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), response.getStatus(), "Upload failed: " + body); + + ContextFile file = JsonUtils.readValue(body, ContextFile.class); + assertNotNull(file.getAssetId()); + assertNotNull(file.getHeadContentId()); + assertEquals("sample-data.csv", file.getDisplayName()); + assertEquals((double) content.length, file.getFileSize()); + } + + @Test + void testUploadVerifyFileSize(TestNamespace ns) throws Exception { + byte[] contentBytes = readFixture("/drive/sample-notes.txt"); + try (Response response = uploadFixture("/drive/sample-notes.txt", "Sized File")) { + String body = response.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), response.getStatus(), "Upload failed: " + body); + + ContextFile file = JsonUtils.readValue(body, ContextFile.class); + assertEquals( + (double) contentBytes.length, + file.getFileSize(), + "File size should match uploaded bytes"); + assertEquals("txt", file.getFileExtension()); + assertEquals(ProcessingStatus.Uploaded, file.getProcessingStatus()); + assertNotNull(file.getHeadContentId()); + } + } + + @Test + void testUploadedTextFileIsSearchableByExtractedText(TestNamespace ns) throws Exception { + String uniqueToken = "contextneedle" + UUID.randomUUID().toString().replace("-", ""); + byte[] content = + ("User supplied context that should be searchable " + uniqueToken) + .getBytes(StandardCharsets.UTF_8); + + ContextFile file; + try (Response response = uploadFile("search-fixture.txt", content, "Search Fixture", null)) { + String body = response.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), response.getStatus(), "Upload failed: " + body); + file = JsonUtils.readValue(body, ContextFile.class); + } + + await() + .atMost(Duration.ofSeconds(20)) + .untilAsserted( + () -> { + ContextFile refreshed = fetchFile(file.getId()); + assertEquals(ProcessingStatus.Processed, refreshed.getProcessingStatus()); + assertTrue(refreshed.getExtractedText().contains(uniqueToken)); + }); + + assertSearchContainsFile(uniqueToken, file.getId()); + } + + @Test + void testUploadedPdfIsSearchableByExtractedText(TestNamespace ns) throws Exception { + String uniqueToken = "pdfneedle" + UUID.randomUUID().toString().replace("-", ""); + byte[] content = createPdf("Quarterly context for " + uniqueToken); + + ContextFile file; + try (Response response = + uploadFile("search-fixture.pdf", content, ns.shortPrefix("PDF Search"), null)) { + String body = response.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), response.getStatus(), "Upload failed: " + body); + file = JsonUtils.readValue(body, ContextFile.class); + } + + await() + .atMost(Duration.ofSeconds(20)) + .untilAsserted( + () -> { + ContextFile refreshed = fetchFile(file.getId()); + assertEquals(ProcessingStatus.Processed, refreshed.getProcessingStatus()); + assertTrue(refreshed.getExtractedText().contains(uniqueToken)); + }); + + assertSearchContainsFile(uniqueToken, file.getId()); + } + + @Test + void testUploadedSpreadsheetIsSearchableByExtractedText(TestNamespace ns) throws Exception { + String uniqueToken = "sheetneedle" + UUID.randomUUID().toString().replace("-", ""); + byte[] content = createWorkbook("Pricing", "SearchToken", uniqueToken); + + ContextFile file; + try (Response response = + uploadFile("search-fixture.xlsx", content, ns.shortPrefix("Spreadsheet Search"), null)) { + String body = response.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), response.getStatus(), "Upload failed: " + body); + file = JsonUtils.readValue(body, ContextFile.class); + } + + await() + .atMost(Duration.ofSeconds(20)) + .untilAsserted( + () -> { + ContextFile refreshed = fetchFile(file.getId()); + assertEquals(ProcessingStatus.Processed, refreshed.getProcessingStatus()); + assertTrue(refreshed.getExtractedText().contains(uniqueToken)); + }); + + assertSearchContainsFile(uniqueToken, file.getId()); + } + + @Test + void testUploadedImageIsSearchableByOcrExtractedText(TestNamespace ns) throws Exception { + String uniqueToken = + "IMAGENEEDLE" + + UUID.randomUUID().toString().replace("-", "").substring(0, 10).toUpperCase(); + Path fakeTesseractHome = createFakeTesseractHome("Revenue chart " + uniqueToken); + String originalPath = System.getProperty(TIKA_TESSERACT_PATH_PROPERTY); + + try { + System.setProperty(TIKA_TESSERACT_PATH_PROPERTY, fakeTesseractHome.toString()); + byte[] content = createPngWithText(uniqueToken); + + ContextFile file; + try (Response response = + uploadFile("search-fixture.png", content, ns.shortPrefix("Image Search"), null)) { + String body = response.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), response.getStatus(), "Upload failed: " + body); + file = JsonUtils.readValue(body, ContextFile.class); + } + + await() + .atMost(Duration.ofSeconds(20)) + .untilAsserted( + () -> { + ContextFile refreshed = fetchFile(file.getId()); + assertEquals(ProcessingStatus.Processed, refreshed.getProcessingStatus()); + assertTrue(refreshed.getExtractedText().contains(uniqueToken)); + }); + + assertSearchContainsFile(uniqueToken, file.getId()); + } finally { + if (originalPath == null) { + System.clearProperty(TIKA_TESSERACT_PATH_PROPERTY); + } else { + System.setProperty(TIKA_TESSERACT_PATH_PROPERTY, originalPath); + } + deleteRecursively(fakeTesseractHome); + } + } + + @Test + void testUploadFileIntoFolder(TestNamespace ns) throws Exception { + RestClient rest = RestClient.admin(); + Folder folder = + rest.create( + "v1/drive/folders", + new CreateFolder().withName(ns.prefix("upload-target-folder")), + Folder.class); + + Response response = + uploadFixture( + "/drive/sample-report.pdf", + "nested.pdf", + "File In Folder", + folder.getFullyQualifiedName()); + + String body = response.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), response.getStatus(), "Upload failed: " + body); + + ContextFile file = JsonUtils.readValue(body, ContextFile.class); + assertNotNull(file.getAssetId()); + assertNotNull(file.getHeadContentId()); + + ContextFile fetched = rest.getById("v1/drive/files", file.getId(), "folder", ContextFile.class); + assertNotNull(fetched.getFolder(), "File should be in folder"); + assertEquals(folder.getId(), fetched.getFolder().getId()); + } + + @Test + void testUploadMultipleFilesUniqueness(TestNamespace ns) throws Exception { + byte[] content = readFixture("/drive/sample-report.pdf"); + + Response resp1 = uploadFile("duplicate.pdf", content, "First Upload", null); + Response resp2 = uploadFile("duplicate.pdf", content, "Second Upload", null); + + String body1 = resp1.readEntity(String.class); + String body2 = resp2.readEntity(String.class); + + assertEquals(CREATED.getStatusCode(), resp1.getStatus(), "First upload failed: " + body1); + assertEquals(CREATED.getStatusCode(), resp2.getStatus(), "Second upload failed: " + body2); + + ContextFile file1 = JsonUtils.readValue(body1, ContextFile.class); + ContextFile file2 = JsonUtils.readValue(body2, ContextFile.class); + + assertTrue( + !file1.getId().equals(file2.getId()), "Two uploads of same filename should get unique IDs"); + assertTrue( + !file1.getName().equals(file2.getName()), + "Two uploads of same filename should get unique names"); + assertNotNull(file1.getHeadContentId()); + assertNotNull(file2.getHeadContentId()); + } + + @Test + void testUploadLargeFileRejected(TestNamespace ns) throws Exception { + Response response = + uploadFile("too_large.jpg", readFixture("/2mb-jpg-example-file.jpg"), "Too Large", null); + + assertTrue( + response.getStatus() >= 400, + "Oversized upload should be rejected, got " + response.getStatus()); + } + + @Test + void testUploadDetectsFileType(TestNamespace ns) throws Exception { + Response pdfResp = uploadFixture("/drive/sample-report.pdf", "PDF Test"); + ContextFile pdf = JsonUtils.readValue(pdfResp.readEntity(String.class), ContextFile.class); + + Response csvResp = uploadFixture("/drive/sample-data.csv", "CSV Test"); + ContextFile csv = JsonUtils.readValue(csvResp.readEntity(String.class), ContextFile.class); + + Response spreadsheetResp = uploadFixture("/drive/sample-pricing.xlsx", "Spreadsheet Test"); + ContextFile spreadsheet = + JsonUtils.readValue(spreadsheetResp.readEntity(String.class), ContextFile.class); + + Response textResp = uploadFixture("/drive/sample-notes.txt", "Text Test"); + ContextFile text = JsonUtils.readValue(textResp.readEntity(String.class), ContextFile.class); + + assertEquals(ContextFileType.PDF, pdf.getFileType()); + assertEquals(ContextFileType.CSV, csv.getFileType()); + assertEquals(ContextFileType.Spreadsheet, spreadsheet.getFileType()); + assertEquals(ContextFileType.Text, text.getFileType()); + } + + @Test + void testDownloadUploadedFileThroughContextFileEndpoint(TestNamespace ns) throws Exception { + byte[] content = readFixture("/drive/sample-notes.txt"); + + Response uploadResponse = uploadFixture("/drive/sample-notes.txt", "Download Test"); + String body = uploadResponse.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), uploadResponse.getStatus(), "Upload failed: " + body); + + ContextFile file = JsonUtils.readValue(body, ContextFile.class); + + await() + .atMost(Duration.ofSeconds(5)) + .untilAsserted( + () -> { + try (Response downloadResponse = + multipartClient + .target( + serverBaseUrl + + "/api/v1/drive/files/" + + file.getId() + + "/download?redirect=false") + .request() + .headers(adminAuthHeaders()) + .get(); + InputStream downloaded = downloadResponse.readEntity(InputStream.class)) { + assertEquals(200, downloadResponse.getStatus()); + assertArrayEquals(content, downloaded.readAllBytes()); + } + }); + } + + @Test + void testDownloadUploadedFileThroughSignedRedirect(TestNamespace ns) throws Exception { + byte[] content = readFixture("/drive/sample-notes.txt"); + + Response uploadResponse = uploadFixture("/drive/sample-notes.txt", "Redirect Download"); + String body = uploadResponse.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), uploadResponse.getStatus(), "Upload failed: " + body); + + ContextFile file = JsonUtils.readValue(body, ContextFile.class); + + await() + .atMost(Duration.ofSeconds(5)) + .untilAsserted( + () -> { + try (Response redirectResponse = + multipartClient + .target( + serverBaseUrl + "/api/v1/drive/files/" + file.getId() + "/download") + .property(ClientProperties.FOLLOW_REDIRECTS, false) + .request() + .headers(adminAuthHeaders()) + .get(); + Client signedUrlClient = ClientBuilder.newClient()) { + assertEquals(307, redirectResponse.getStatus()); + String signedUrl = redirectResponse.getHeaderString("Location"); + assertNotNull(signedUrl); + + try (Response signedDownload = signedUrlClient.target(signedUrl).request().get(); + InputStream downloaded = signedDownload.readEntity(InputStream.class)) { + assertEquals(200, signedDownload.getStatus()); + assertArrayEquals(content, downloaded.readAllBytes()); + } + } + }); + } + + @Test + void testSoftDeletedFileCanDownloadFromTrash(TestNamespace ns) throws Exception { + byte[] content = readFixture("/drive/sample-notes.txt"); + RestClient rest = RestClient.admin(); + + Response uploadResponse = uploadFixture("/drive/sample-notes.txt", "Trash Download"); + String body = uploadResponse.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), uploadResponse.getStatus(), "Upload failed: " + body); + + ContextFile file = JsonUtils.readValue(body, ContextFile.class); + rest.delete("v1/drive/files", file.getId()); + + try (Response downloadResponse = + multipartClient + .target( + serverBaseUrl + + "/api/v1/drive/files/" + + file.getId() + + "/download?include=all&redirect=false") + .request() + .headers(adminAuthHeaders()) + .get(); + InputStream downloaded = downloadResponse.readEntity(InputStream.class)) { + assertEquals(200, downloadResponse.getStatus()); + assertArrayEquals(content, downloaded.readAllBytes()); + } + } + + @Test + void testHardDeleteRemovesObjectFromMinIO(TestNamespace ns) throws Exception { + byte[] content = readFixture("/drive/sample-notes.txt"); + RestClient rest = RestClient.admin(); + + Response uploadResponse = uploadFixture("/drive/sample-notes.txt", "Hard Delete"); + String body = uploadResponse.readEntity(String.class); + assertEquals(CREATED.getStatusCode(), uploadResponse.getStatus(), "Upload failed: " + body); + + ContextFile file = JsonUtils.readValue(body, ContextFile.class); + assertStoredInMinIO(file.getAssetId(), content); + + rest.hardDelete("v1/drive/files", file.getId()); + + await() + .atMost(Duration.ofSeconds(10)) + .untilAsserted( + () -> { + try (Response deletedResponse = + rest.rawGet("v1/drive/files/" + file.getId() + "?include=all")) { + assertEquals(404, deletedResponse.getStatus()); + } + }); + assertRemovedFromMinIO(file.getAssetId()); + } +} diff --git a/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/DriveTestUsers.java b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/DriveTestUsers.java new file mode 100644 index 000000000000..13b59f914e0a --- /dev/null +++ b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/DriveTestUsers.java @@ -0,0 +1,23 @@ +package org.openmetadata.it.drive; + +import org.openmetadata.schema.api.teams.CreateUser; +import org.openmetadata.schema.entity.teams.User; +import org.openmetadata.sdk.services.teams.UserService; +import org.openmetadata.sdk.test.util.SdkClients; +import org.openmetadata.sdk.test.util.TestNamespace; + +final class DriveTestUsers { + + private DriveTestUsers() {} + + static User createUser(TestNamespace ns, String suffix) { + String base = (ns.shortPrefix("drive") + suffix).replaceAll("[^a-zA-Z0-9]", "").toLowerCase(); + String name = base.substring(0, Math.min(base.length(), 48)); + CreateUser createUser = + new CreateUser() + .withName(name) + .withDisplayName(name) + .withEmail(name + "@test.openmetadata.org"); + return new UserService(SdkClients.adminClient().getHttpClient()).create(createUser); + } +} diff --git a/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/FolderIT.java b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/FolderIT.java new file mode 100644 index 000000000000..693bea8d5dab --- /dev/null +++ b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/drive/FolderIT.java @@ -0,0 +1,377 @@ +package org.openmetadata.it.drive; + +import static org.awaitility.Awaitility.await; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import jakarta.ws.rs.core.Response; +import java.time.Duration; +import java.util.List; +import java.util.UUID; +import org.apache.http.client.HttpResponseException; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.openmetadata.schema.api.data.CreateContextFile; +import org.openmetadata.schema.api.data.CreateFolder; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileType; +import org.openmetadata.schema.entity.data.Folder; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import org.openmetadata.schema.entity.teams.User; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.sdk.client.OpenMetadataClient; +import org.openmetadata.sdk.services.teams.UserService; +import org.openmetadata.sdk.test.util.RestClient; +import org.openmetadata.sdk.test.util.SdkClients; +import org.openmetadata.sdk.test.util.TestNamespace; +import org.openmetadata.sdk.test.util.TestNamespaceExtension; + +@ExtendWith(TestNamespaceExtension.class) +class FolderIT { + + private static final String PATH = "v1/drive/folders"; + + private Folder createFolder(RestClient rest, CreateFolder request) + throws HttpResponseException { + return rest.create(PATH, request, Folder.class); + } + + private Folder getFolder(RestClient rest, UUID id, String fields) + throws HttpResponseException { + return rest.getById(PATH, id, fields, Folder.class); + } + + private Folder patchFolder(RestClient rest, UUID id, String origJson, Folder updated) + throws HttpResponseException { + return rest.patch(PATH, id, origJson, updated, Folder.class); + } + + // --- CRUD --- + + @Test + void testCreateFolder(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + CreateFolder create = + new CreateFolder().withName(ns.prefix("my-folder")).withDisplayName("My Folder"); + + Folder folder = createFolder(rest, create); + assertNotNull(folder.getId()); + assertEquals("My Folder", folder.getDisplayName()); + } + + @Test + void testGetFolderById(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder created = createFolder(rest, new CreateFolder().withName(ns.prefix("get-test"))); + + Folder fetched = getFolder(rest, created.getId(), ""); + assertEquals(created.getId(), fetched.getId()); + assertEquals(created.getName(), fetched.getName()); + } + + @Test + void testUpdateFolderDisplayName(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder folder = + createFolder( + rest, + new CreateFolder().withName(ns.prefix("update-test")).withDisplayName("Original Name")); + + String original = JsonUtils.pojoToJson(folder); + folder.setDisplayName("Updated Name"); + Folder updated = patchFolder(rest, folder.getId(), original, folder); + + assertEquals("Updated Name", updated.getDisplayName()); + } + + @Test + void testDeleteFolder(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder folder = createFolder(rest, new CreateFolder().withName(ns.prefix("delete-test"))); + + rest.delete(PATH, folder.getId()); + + HttpResponseException ex = + assertThrows(HttpResponseException.class, () -> getFolder(rest, folder.getId(), "")); + assertEquals(404, ex.getStatusCode()); + + try (Response deletedResponse = rest.rawGet(PATH + "/" + folder.getId() + "?include=all")) { + assertEquals(200, deletedResponse.getStatus()); + assertTrue(deletedResponse.readEntity(String.class).contains("\"deleted\":true")); + } + } + + @Test + void testRestoreSoftDeletedFolder(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder folder = createFolder(rest, new CreateFolder().withName(ns.prefix("restore-folder"))); + rest.delete(PATH, folder.getId()); + + Folder restored = rest.restore(PATH, folder.getId(), Folder.class); + assertEquals(folder.getId(), restored.getId()); + assertTrue(!Boolean.TRUE.equals(restored.getDeleted())); + } + + @Test + void testHardDeleteFolderIsAsync(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder folder = + createFolder(rest, new CreateFolder().withName(ns.prefix("hard-delete-folder"))); + + try (Response deleteResponse = + rest.rawDelete(PATH + "/" + folder.getId() + "?hardDelete=true&recursive=true")) { + assertEquals(202, deleteResponse.getStatus()); + assertTrue(deleteResponse.readEntity(String.class).contains("\"hardDelete\":true")); + } + + await() + .atMost(Duration.ofSeconds(20)) + .untilAsserted( + () -> { + try (Response deletedResponse = + rest.rawGet(PATH + "/" + folder.getId() + "?include=all")) { + assertEquals(404, deletedResponse.getStatus()); + } + }); + } + + // --- Nested Folder Hierarchy --- + + @Test + void testNestedFolders(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder root = + createFolder( + rest, new CreateFolder().withName(ns.prefix("root")).withDisplayName("Root Folder")); + + Folder child = + createFolder( + rest, + new CreateFolder() + .withName(ns.prefix("child")) + .withDisplayName("Child Folder") + .withParent(root.getFullyQualifiedName())); + + Folder grandchild = + createFolder( + rest, + new CreateFolder() + .withName(ns.prefix("grandchild")) + .withDisplayName("Grandchild Folder") + .withParent(child.getFullyQualifiedName())); + + // Verify parent-child + Folder fetchedChild = getFolder(rest, child.getId(), "parent"); + assertNotNull(fetchedChild.getParent()); + assertEquals(root.getId(), fetchedChild.getParent().getId()); + + // Verify FQN includes full path + Folder fetchedGrandchild = getFolder(rest, grandchild.getId(), "parent"); + assertTrue( + fetchedGrandchild.getFullyQualifiedName().contains(root.getName()), + "Grandchild FQN should contain root folder name"); + assertTrue( + fetchedGrandchild.getFullyQualifiedName().contains(child.getName()), + "Grandchild FQN should contain child folder name"); + } + + @Test + void testFolderWithChildren(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder parent = createFolder(rest, new CreateFolder().withName(ns.prefix("parent-list"))); + + createFolder( + rest, + new CreateFolder() + .withName(ns.prefix("child-1")) + .withParent(parent.getFullyQualifiedName())); + createFolder( + rest, + new CreateFolder() + .withName(ns.prefix("child-2")) + .withParent(parent.getFullyQualifiedName())); + + Folder fetched = getFolder(rest, parent.getId(), "children"); + assertNotNull(fetched.getChildren()); + assertEquals(2, fetched.getChildren().size()); + } + + // --- Ownership (personal vs team folder) --- + + @Test + void testFolderWithUserOwner(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + OpenMetadataClient adminClient = SdkClients.adminClient(); + UserService userSvc = new UserService(adminClient.getHttpClient()); + User admin = userSvc.getByName("admin", null); + + Folder folder = + createFolder( + rest, + new CreateFolder() + .withName(ns.prefix("personal")) + .withDisplayName("My Personal Docs") + .withOwners(List.of(admin.getEntityReference()))); + + Folder fetched = getFolder(rest, folder.getId(), "owners"); + assertNotNull(fetched.getOwners()); + assertEquals(1, fetched.getOwners().size()); + assertEquals(admin.getId(), fetched.getOwners().get(0).getId()); + } + + // --- Permissions --- + + @Test + void testUnprivilegedUserCannotDeleteFolder(TestNamespace ns) throws HttpResponseException { + RestClient adminRest = RestClient.admin(); + User owner = DriveTestUsers.createUser(ns, "folder-owner"); + + Folder folder = + createFolder( + adminRest, + new CreateFolder() + .withName(ns.prefix("perm-delete")) + .withOwners(List.of(owner.getEntityReference()))); + + RestClient consumerRest = + RestClient.forUser("test@open-metadata.org", new String[] {}); + + HttpResponseException ex = + assertThrows( + HttpResponseException.class, () -> consumerRest.hardDelete(PATH, folder.getId())); + + assertTrue( + ex.getStatusCode() == 403 || ex.getStatusCode() == 401, + "Expected 403 or 401, got " + ex.getStatusCode()); + } + + @Test + void testUnprivilegedUserCannotUpdateOthersFolder(TestNamespace ns) throws HttpResponseException { + RestClient adminRest = RestClient.admin(); + User owner = DriveTestUsers.createUser(ns, "folder-editor"); + + Folder folder = + createFolder( + adminRest, + new CreateFolder() + .withName(ns.prefix("perm-update")) + .withDisplayName("Original") + .withOwners(List.of(owner.getEntityReference()))); + + RestClient consumerRest = + RestClient.forUser("test@open-metadata.org", new String[] {}); + + String original = JsonUtils.pojoToJson(folder); + folder.setDisplayName("Hacked Name"); + + HttpResponseException ex = + assertThrows( + HttpResponseException.class, + () -> consumerRest.patch(PATH, folder.getId(), original, folder, Folder.class)); + + assertTrue( + ex.getStatusCode() == 403 || ex.getStatusCode() == 401, + "Expected 403 or 401, got " + ex.getStatusCode()); + } + + @Test + void testDeleteFolderRecursive(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + + Folder parent = createFolder(rest, new CreateFolder().withName(ns.prefix("recursive-parent"))); + + Folder child = + createFolder( + rest, + new CreateFolder() + .withName(ns.prefix("recursive-child")) + .withParent(parent.getFullyQualifiedName())); + + // Delete parent recursively + try (Response deleteResponse = + rest.rawDelete(PATH + "/" + parent.getId() + "?recursive=true&hardDelete=true")) { + assertEquals(202, deleteResponse.getStatus()); + String responseBody = deleteResponse.readEntity(String.class); + assertTrue(responseBody.contains("\"hardDelete\":true")); + assertTrue(responseBody.contains("\"recursive\":true")); + } + + // Both should be gone + await() + .atMost(Duration.ofSeconds(20)) + .untilAsserted( + () -> { + try (Response parentResponse = + rest.rawGet(PATH + "/" + parent.getId() + "?include=all"); + Response childResponse = + rest.rawGet(PATH + "/" + child.getId() + "?include=all")) { + assertEquals(404, parentResponse.getStatus()); + assertEquals(404, childResponse.getStatus()); + } + }); + } + + @Test + void testFolderContentsIncludesFoldersAndFiles(TestNamespace ns) throws Exception { + RestClient rest = RestClient.admin(); + OpenMetadataClient adminClient = SdkClients.adminClient(); + UserService userSvc = new UserService(adminClient.getHttpClient()); + User admin = userSvc.getByName("admin", null); + + Folder parent = createFolder(rest, new CreateFolder().withName(ns.prefix("contents-parent"))); + Folder child = + createFolder( + rest, + new CreateFolder() + .withName(ns.prefix("child-folder")) + .withParent(parent.getFullyQualifiedName()) + .withOwners(List.of(admin.getEntityReference()))); + + ContextFile file = + rest.create( + "v1/drive/files", + new CreateContextFile() + .withName(ns.prefix("contents-file")) + .withDisplayName("Contents File") + .withFileType(ContextFileType.PDF) + .withFolder(parent.getFullyQualifiedName()) + .withOwners(List.of(admin.getEntityReference())) + .withProcessingStatus(ProcessingStatus.Uploaded), + ContextFile.class); + + String json; + try (Response response = rest.rawGet(PATH + "/" + parent.getId() + "/contents")) { + assertEquals(200, response.getStatus()); + json = response.readEntity(String.class); + } + jakarta.json.JsonObject contents = + jakarta.json.Json.createReader(new java.io.StringReader(json)).readObject(); + jakarta.json.JsonObject folderJson = contents.getJsonArray("folders").getJsonObject(0); + jakarta.json.JsonObject fileJson = contents.getJsonArray("files").getJsonObject(0); + + assertEquals(1, contents.getInt("childrenFolderCount")); + assertEquals(1, contents.getInt("childrenFileCount")); + assertEquals(2, contents.getInt("itemCount")); + assertEquals(1, contents.getJsonArray("folders").size()); + assertEquals(1, contents.getJsonArray("files").size()); + assertEquals(child.getName(), folderJson.getString("name")); + assertEquals(parent.getId().toString(), folderJson.getJsonObject("parent").getString("id")); + assertEquals( + admin.getId().toString(), + folderJson.getJsonArray("owners").getJsonObject(0).getString("id")); + assertEquals(file.getName(), fileJson.getString("name")); + assertEquals(parent.getId().toString(), fileJson.getJsonObject("folder").getString("id")); + assertEquals( + admin.getId().toString(), fileJson.getJsonArray("owners").getJsonObject(0).getString("id")); + } +} diff --git a/openmetadata-integration-tests/src/test/java/org/openmetadata/it/knowledge/KnowledgeCenterIT.java b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/knowledge/KnowledgeCenterIT.java new file mode 100644 index 000000000000..c3eb3cb75bb9 --- /dev/null +++ b/openmetadata-integration-tests/src/test/java/org/openmetadata/it/knowledge/KnowledgeCenterIT.java @@ -0,0 +1,238 @@ +package org.openmetadata.it.knowledge; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.List; +import java.util.UUID; +import org.apache.http.client.HttpResponseException; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.openmetadata.schema.api.data.CreatePage; +import org.openmetadata.schema.api.domains.CreateDataProduct; +import org.openmetadata.schema.api.domains.CreateDomain; +import org.openmetadata.schema.entity.data.Article; +import org.openmetadata.schema.entity.data.Page; +import org.openmetadata.schema.entity.data.PageType; +import org.openmetadata.schema.entity.domains.DataProduct; +import org.openmetadata.schema.entity.domains.Domain; +import org.openmetadata.schema.entity.teams.Team; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.sdk.client.OpenMetadataClient; +import org.openmetadata.sdk.services.domains.DataProductService; +import org.openmetadata.sdk.services.domains.DomainService; +import org.openmetadata.sdk.services.teams.TeamService; +import org.openmetadata.sdk.test.util.RestClient; +import org.openmetadata.sdk.test.util.SdkClients; +import org.openmetadata.sdk.test.util.TestNamespace; +import org.openmetadata.sdk.test.util.TestNamespaceExtension; + +@ExtendWith(TestNamespaceExtension.class) +public class KnowledgeCenterIT { + + private static final String KC_PATH = "v1/knowledgeCenter"; + + private Page createPage(RestClient rest, CreatePage request) throws HttpResponseException { + return rest.create(KC_PATH, request, Page.class); + } + + private Page getPage(RestClient rest, UUID id, String fields) + throws HttpResponseException { + return rest.getById(KC_PATH, id, fields, Page.class); + } + + private Page patchPage(RestClient rest, UUID id, String originalJson, Page updated) + throws HttpResponseException { + return rest.patch(KC_PATH, id, originalJson, updated, Page.class); + } + + private CreatePage buildCreateRequest(String name, EntityReference relatedEntity) { + return new CreatePage() + .withName(name) + .withPageType(PageType.ARTICLE) + .withDescription("This is a test Description.") + .withPage(new Article()) + .withRelatedEntities(List.of(relatedEntity)); + } + + private EntityReference getOrganizationRef() { + OpenMetadataClient adminClient = SdkClients.adminClient(); + TeamService teamService = new TeamService(adminClient.getHttpClient()); + Team org = teamService.getByName("Organization", null); + return org.getEntityReference(); + } + + @Test + void testRelatedEntitiesExcludesDomainsAndDataProducts(TestNamespace ns) + throws HttpResponseException { + RestClient rest = RestClient.admin(); + OpenMetadataClient adminClient = SdkClients.adminClient(); + DomainService domainSvc = new DomainService(adminClient.getHttpClient()); + + EntityReference orgRef = getOrganizationRef(); + CreatePage createPageReq = buildCreateRequest(ns.prefix("pageExcludesDomains"), orgRef); + Page page = createPage(rest, createPageReq); + + CreateDomain createDomain = + new CreateDomain() + .withName(ns.prefix("testDomain")) + .withDomainType(CreateDomain.DomainType.AGGREGATE) + .withDescription("Test domain"); + Domain domain = domainSvc.create(createDomain); + + String original = JsonUtils.pojoToJson(page); + page.withDomains(List.of(domain.getEntityReference())); + page = patchPage(rest, page.getId(), original, page); + + Page fetchedPage = getPage(rest, page.getId(), "relatedEntities,domains,dataProducts"); + + assertEquals(1, fetchedPage.getDomains().size()); + assertEquals(domain.getName(), fetchedPage.getDomains().get(0).getName()); + + boolean domainInRelatedEntities = + fetchedPage.getRelatedEntities().stream().anyMatch(ref -> "domain".equals(ref.getType())); + assertEquals(false, domainInRelatedEntities, "Domains should not appear in relatedEntities"); + + boolean dataProductInRelatedEntities = + fetchedPage.getRelatedEntities().stream() + .anyMatch(ref -> "dataProduct".equals(ref.getType())); + assertEquals( + false, dataProductInRelatedEntities, "DataProducts should not appear in relatedEntities"); + } + + @Test + void testDomainAddUpdateRemove(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + OpenMetadataClient adminClient = SdkClients.adminClient(); + DomainService domainSvc = new DomainService(adminClient.getHttpClient()); + + EntityReference orgRef = getOrganizationRef(); + CreatePage createPageReq = buildCreateRequest(ns.prefix("pageDomainCrud"), orgRef); + Page page = createPage(rest, createPageReq); + + CreateDomain createDomain1 = + new CreateDomain() + .withName(ns.prefix("testDomain1")) + .withDomainType(CreateDomain.DomainType.AGGREGATE) + .withDescription("Test domain 1"); + Domain domain1 = domainSvc.create(createDomain1); + + CreateDomain createDomain2 = + new CreateDomain() + .withName(ns.prefix("testDomain2")) + .withDomainType(CreateDomain.DomainType.AGGREGATE) + .withDescription("Test domain 2"); + Domain domain2 = domainSvc.create(createDomain2); + + String original = JsonUtils.pojoToJson(page); + page.withDomains(List.of(domain1.getEntityReference())); + page = patchPage(rest, page.getId(), original, page); + + Page fetchedPage = getPage(rest, page.getId(), "domains,relatedEntities"); + assertEquals(1, fetchedPage.getDomains().size()); + assertEquals(domain1.getName(), fetchedPage.getDomains().get(0).getName()); + + original = JsonUtils.pojoToJson(page); + page.withDomains(List.of(domain2.getEntityReference())); + page = patchPage(rest, page.getId(), original, page); + + fetchedPage = getPage(rest, page.getId(), "domains,relatedEntities"); + assertEquals(1, fetchedPage.getDomains().size()); + assertEquals(domain2.getName(), fetchedPage.getDomains().get(0).getName()); + + boolean domain1InDomains = + fetchedPage.getDomains().stream().anyMatch(ref -> domain1.getName().equals(ref.getName())); + assertEquals(false, domain1InDomains, "Old domain should be removed after update"); + + original = JsonUtils.pojoToJson(page); + page.withDomains(null); + page = patchPage(rest, page.getId(), original, page); + + fetchedPage = getPage(rest, page.getId(), "domains,relatedEntities"); + int domainCount = fetchedPage.getDomains() == null ? 0 : fetchedPage.getDomains().size(); + assertEquals(0, domainCount, "Domain should be removed"); + + boolean anyDomainInRelatedEntities = + fetchedPage.getRelatedEntities().stream().anyMatch(ref -> "domain".equals(ref.getType())); + assertEquals( + false, anyDomainInRelatedEntities, "No domains should ever appear in relatedEntities"); + } + + @Test + void testDataProductAddUpdateRemove(TestNamespace ns) throws HttpResponseException { + RestClient rest = RestClient.admin(); + OpenMetadataClient adminClient = SdkClients.adminClient(); + DomainService domainSvc = new DomainService(adminClient.getHttpClient()); + DataProductService dpSvc = new DataProductService(adminClient.getHttpClient()); + + EntityReference orgRef = getOrganizationRef(); + CreatePage createPageReq = buildCreateRequest(ns.prefix("pageDpCrud"), orgRef); + Page page = createPage(rest, createPageReq); + + CreateDomain createDomain = + new CreateDomain() + .withName(ns.prefix("testDomainDP")) + .withDomainType(CreateDomain.DomainType.AGGREGATE) + .withDescription("Test domain for data products"); + Domain domain = domainSvc.create(createDomain); + + String original = JsonUtils.pojoToJson(page); + page.withDomains(List.of(domain.getEntityReference())); + page = patchPage(rest, page.getId(), original, page); + + page = getPage(rest, page.getId(), "domains,relatedEntities"); + + CreateDataProduct createDataProduct1 = + new CreateDataProduct() + .withName(ns.prefix("testDP1")) + .withDomains(List.of(domain.getFullyQualifiedName())) + .withDescription("Test data product 1"); + DataProduct dataProduct1 = dpSvc.create(createDataProduct1); + + CreateDataProduct createDataProduct2 = + new CreateDataProduct() + .withName(ns.prefix("testDP2")) + .withDomains(List.of(domain.getFullyQualifiedName())) + .withDescription("Test data product 2"); + DataProduct dataProduct2 = dpSvc.create(createDataProduct2); + + original = JsonUtils.pojoToJson(page); + page.withDataProducts(List.of(dataProduct1.getEntityReference())); + page = patchPage(rest, page.getId(), original, page); + + Page fetchedPage = getPage(rest, page.getId(), "dataProducts,relatedEntities,domains"); + assertEquals(1, fetchedPage.getDataProducts().size()); + assertEquals(dataProduct1.getName(), fetchedPage.getDataProducts().get(0).getName()); + + original = JsonUtils.pojoToJson(page); + page.withDataProducts(List.of(dataProduct2.getEntityReference())); + page = patchPage(rest, page.getId(), original, page); + + fetchedPage = getPage(rest, page.getId(), "dataProducts,relatedEntities,domains"); + assertEquals(1, fetchedPage.getDataProducts().size()); + assertEquals(dataProduct2.getName(), fetchedPage.getDataProducts().get(0).getName()); + + boolean dataProduct1InDataProducts = + fetchedPage.getDataProducts().stream() + .anyMatch(ref -> dataProduct1.getName().equals(ref.getName())); + assertEquals( + false, dataProduct1InDataProducts, "Old dataProduct should be removed after update"); + + original = JsonUtils.pojoToJson(page); + page.withDataProducts(null); + page = patchPage(rest, page.getId(), original, page); + + fetchedPage = getPage(rest, page.getId(), "dataProducts,relatedEntities,domains"); + int dataProductCount = + fetchedPage.getDataProducts() == null ? 0 : fetchedPage.getDataProducts().size(); + assertEquals(0, dataProductCount, "DataProduct should be removed"); + + boolean anyDataProductInRelatedEntities = + fetchedPage.getRelatedEntities().stream() + .anyMatch(ref -> "dataProduct".equals(ref.getType())); + assertEquals( + false, + anyDataProductInRelatedEntities, + "No dataProducts should ever appear in relatedEntities"); + } +} diff --git a/openmetadata-integration-tests/src/test/resources/2mb-jpg-example-file.jpg b/openmetadata-integration-tests/src/test/resources/2mb-jpg-example-file.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5bf279a9d9311d3a8406ae82da3aa9358db86733 GIT binary patch literal 2423235 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

Y`YaO;cOb}3UD1aZ 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ΜZ(^JAm33&igU2)xz)F(+P!dZY{9Y- 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%0DD2dGm8H^ijnR?kEvf&452r1+wm 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 VNIPv8d+4ppRRl=SKa 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�!NZe17!MG-|skRBBf5u^#y2{sTE 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

=SH0h?Jb7iV5Tt^Sph9h|Hxd(D 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В%~Mrc+#)z!I1%GjZi>ORZoU*oqv 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�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

*XTjpYU#E@)K{Rx3yf+U-%jCg>-2|fH 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 z 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%0A(33jm>?$^AAj)gM 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

APkD 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∾i|fnMa`<}i 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

_GkfDkeLg8sHOo}%L$yeaNP$A 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

9RUPdQ~XT-u>l;wCu4dxS=1)GibEyZJuJr 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%0AquXtKbD!CU6tk0H+}O5c5c*u=)e1UuF*qxz>r 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

Pc>UMTj=eq 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�)aLQuEEj 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ⅈPN;zdz^OU=ZG5T}tG@j?ER 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 Vt#L?Tp5dc@eS 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

mSAm5+z|=M1K@nARwbZ?0r$ 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%0DU1%s! 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 Rdez2z$vT{pWy|-H{s1>KUa|lH literal 0 HcmV?d00001 diff --git a/openmetadata-sdk/pom.xml b/openmetadata-sdk/pom.xml index f6d3f4536def..3b8ddf8bd610 100644 --- a/openmetadata-sdk/pom.xml +++ b/openmetadata-sdk/pom.xml @@ -84,6 +84,61 @@ ${json.version} + + + com.auth0 + java-jwt + ${jwt.version} + + + + + jakarta.ws.rs + jakarta.ws.rs-api + 3.1.0 + true + + + org.glassfish.jersey.core + jersey-client + 3.1.9 + true + + + org.glassfish.jersey.connectors + jersey-apache-connector + 3.1.9 + true + + + org.apache.httpcomponents + httpclient + 4.5.14 + true + + + jakarta.json + jakarta.json-api + 2.1.3 + true + + + org.eclipse.parsson + parsson + 1.1.7 + true + + + + + org.junit.jupiter + junit-jupiter-api + ${junit.version} + true + + org.junit.jupiter @@ -91,14 +146,14 @@ ${junit.version} test - + org.junit.jupiter junit-jupiter-engine ${junit.version} test - + org.mockito mockito-core diff --git a/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/auth/JwtAuthProvider.java b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/auth/JwtAuthProvider.java new file mode 100644 index 000000000000..d30e7fd0485f --- /dev/null +++ b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/auth/JwtAuthProvider.java @@ -0,0 +1,84 @@ +/* + * Copyright 2025 Collate + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openmetadata.sdk.test.auth; + +import com.auth0.jwt.JWT; +import com.auth0.jwt.algorithms.Algorithm; +import java.io.InputStream; +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.interfaces.RSAPrivateKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.time.Instant; +import java.util.Date; + +/** + * Issues short-lived RSA256 JWTs suitable for integration tests against a local OpenMetadata + * server. Loads a test-only private key from the classpath at {@code private_key.der}. The + * caller's test harness is responsible for configuring the server with a matching public key. + */ +public final class JwtAuthProvider { + + private static final String DEFAULT_ISSUER = "open-metadata.org"; + private static final String DEFAULT_KEY_ID = "test-key"; + private static final String DEFAULT_KEY_RESOURCE = "private_key.der"; + + private static volatile PrivateKey cachedKey; + + private JwtAuthProvider() {} + + public static String tokenFor(String subject, String email, String[] roles, long ttlSeconds) { + return tokenFor(subject, email, roles, ttlSeconds, DEFAULT_ISSUER, DEFAULT_KEY_ID); + } + + public static String tokenFor( + String subject, + String email, + String[] roles, + long ttlSeconds, + String issuer, + String keyId) { + Algorithm alg = Algorithm.RSA256(null, (RSAPrivateKey) loadPrivateKey()); + Instant now = Instant.now(); + var builder = + JWT.create() + .withIssuer(issuer) + .withKeyId(keyId) + .withIssuedAt(Date.from(now)) + .withExpiresAt(Date.from(now.plusSeconds(ttlSeconds))) + .withSubject(subject) + .withClaim("email", email); + if (roles != null && roles.length > 0) { + builder.withArrayClaim("roles", roles); + } + return builder.sign(alg); + } + + private static synchronized PrivateKey loadPrivateKey() { + if (cachedKey != null) { + return cachedKey; + } + try (InputStream is = + JwtAuthProvider.class.getClassLoader().getResourceAsStream(DEFAULT_KEY_RESOURCE)) { + if (is == null) { + throw new IllegalStateException(DEFAULT_KEY_RESOURCE + " not found on the test classpath"); + } + byte[] keyBytes = is.readAllBytes(); + PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes); + cachedKey = KeyFactory.getInstance("RSA").generatePrivate(spec); + return cachedKey; + } catch (Exception e) { + throw new IllegalStateException("Failed to load test private key", e); + } + } +} diff --git a/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/RestClient.java b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/RestClient.java new file mode 100644 index 000000000000..ec9894bd5dca --- /dev/null +++ b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/RestClient.java @@ -0,0 +1,200 @@ +/* + * Copyright 2025 Collate + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openmetadata.sdk.test.util; + +import jakarta.ws.rs.client.Client; +import jakarta.ws.rs.client.ClientBuilder; +import jakarta.ws.rs.client.Entity; +import jakarta.ws.rs.client.Invocation; +import jakarta.ws.rs.client.WebTarget; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import java.time.Duration; +import java.util.Map; +import java.util.UUID; +import org.apache.http.client.HttpResponseException; +import org.glassfish.jersey.apache.connector.ApacheConnectorProvider; +import org.glassfish.jersey.client.ClientConfig; +import org.glassfish.jersey.client.ClientProperties; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.sdk.test.auth.JwtAuthProvider; + +/** + * JAX-RS REST client for integration tests targeting endpoints that the main + * {@link org.openmetadata.sdk.client.OpenMetadataClient} does not (yet) cover. Useful for raw + * REST interactions — arbitrary paths, custom query params, PATCH diff requests, and the + * {@code hardDelete=true&recursive=true} flavor of delete. + * + *

All requests are authenticated via the bearer token attached when the client is built. + */ +public class RestClient { + + private static final int CONNECT_TIMEOUT_MILLIS = (int) Duration.ofSeconds(10).toMillis(); + private static final int READ_TIMEOUT_MILLIS = (int) Duration.ofSeconds(60).toMillis(); + private static final Client SHARED_CLIENT; + + static { + ClientConfig clientConfig = + new ClientConfig() + .connectorProvider(new ApacheConnectorProvider()) + .property(ClientProperties.CONNECT_TIMEOUT, CONNECT_TIMEOUT_MILLIS) + .property(ClientProperties.READ_TIMEOUT, READ_TIMEOUT_MILLIS); + SHARED_CLIENT = ClientBuilder.newBuilder().withConfig(clientConfig).build(); + } + + private final Client client; + private final String baseUrl; + private final Map authHeaders; + + private RestClient(String baseUrl, Map authHeaders) { + this.baseUrl = baseUrl; + this.authHeaders = authHeaders; + this.client = SHARED_CLIENT; + } + + public static RestClient admin() { + String url = SdkClients.getServerUrl(); + String token = SdkClients.getAdminToken(); + return new RestClient(url, Map.of("Authorization", "Bearer " + token)); + } + + public static RestClient forUser(String email, String[] roles) { + String url = SdkClients.getServerUrl(); + String token = JwtAuthProvider.tokenFor(email.split("@")[0], email, roles, 3600); + return new RestClient(url, Map.of("Authorization", "Bearer " + token)); + } + + public T create(String path, Object request, Class responseType) + throws HttpResponseException { + Response response = + target(path).post(Entity.entity(JsonUtils.pojoToJson(request), MediaType.APPLICATION_JSON)); + return handleResponse(response, responseType); + } + + public T get(String path, Class responseType) throws HttpResponseException { + Response response = target(path).get(); + return handleResponse(response, responseType); + } + + public T getById(String path, UUID id, String fields, Class responseType) + throws HttpResponseException { + WebTarget t = webTarget(path + "/" + id); + if (fields != null && !fields.isEmpty()) { + t = t.queryParam("fields", fields); + } + Response response = addHeaders(t).get(); + return handleResponse(response, responseType); + } + + public T update(String path, Object request, Class responseType) + throws HttpResponseException { + Response response = + target(path).put(Entity.entity(JsonUtils.pojoToJson(request), MediaType.APPLICATION_JSON)); + return handleResponse(response, responseType); + } + + public T patch( + String path, UUID id, String originalJson, Object updated, Class responseType) + throws HttpResponseException { + String updatedJson = JsonUtils.pojoToJson(updated); + jakarta.json.JsonPatch patch = + jakarta.json.Json.createDiff( + jakarta.json.Json.createReader(new java.io.StringReader(originalJson)).readObject(), + jakarta.json.Json.createReader(new java.io.StringReader(updatedJson)).readObject()); + + Response response = + addHeaders(webTarget(path + "/" + id)) + .method( + "PATCH", Entity.entity(patch.toString(), MediaType.APPLICATION_JSON_PATCH_JSON)); + return handleResponse(response, responseType); + } + + public void delete(String path, UUID id) throws HttpResponseException { + Response response = target(path + "/" + id).delete(); + try { + if (response.getStatus() >= 400) { + throw new HttpResponseException(response.getStatus(), response.readEntity(String.class)); + } + } finally { + response.close(); + } + } + + public void hardDelete(String path, UUID id) throws HttpResponseException { + WebTarget t = + webTarget(path + "/" + id).queryParam("hardDelete", true).queryParam("recursive", true); + Response response = addHeaders(t).delete(); + try { + if (response.getStatus() >= 400) { + throw new HttpResponseException(response.getStatus(), response.readEntity(String.class)); + } + } finally { + response.close(); + } + } + + public T restore(String path, UUID id, Class responseType) throws HttpResponseException { + Response response = + target(path + "/restore") + .put(Entity.entity("{\"id\":\"" + id + "\"}", MediaType.APPLICATION_JSON)); + return handleResponse(response, responseType); + } + + public Response rawGet(String path) { + return target(path).get(); + } + + public Response rawPost(String path, Object body) { + return target(path).post(Entity.entity(JsonUtils.pojoToJson(body), MediaType.APPLICATION_JSON)); + } + + public Response rawPut(String path, Object body) { + return target(path).put(Entity.entity(JsonUtils.pojoToJson(body), MediaType.APPLICATION_JSON)); + } + + public Response rawDelete(String path) { + return target(path).delete(); + } + + public WebTarget webTarget(String path) { + String p = path.startsWith("/") ? path : "/" + path; + // baseUrl already ends with /api, paths start with /v1/... + return client.target(baseUrl + p); + } + + private Invocation.Builder target(String path) { + return addHeaders(webTarget(path)); + } + + private Invocation.Builder addHeaders(WebTarget target) { + Invocation.Builder builder = target.request(MediaType.APPLICATION_JSON); + for (Map.Entry header : authHeaders.entrySet()) { + builder = builder.header(header.getKey(), header.getValue()); + } + return builder; + } + + private T handleResponse(Response response, Class type) throws HttpResponseException { + try (response) { + if (response.getStatus() >= 400) { + String body = response.readEntity(String.class); + throw new HttpResponseException(response.getStatus(), body); + } + if (type == String.class) { + return type.cast(response.readEntity(String.class)); + } + String json = response.readEntity(String.class); + return JsonUtils.readValue(json, type); + } + } +} diff --git a/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/SdkClients.java b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/SdkClients.java new file mode 100644 index 000000000000..ae01945f88bd --- /dev/null +++ b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/SdkClients.java @@ -0,0 +1,168 @@ +/* + * Copyright 2025 Collate + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openmetadata.sdk.test.util; + +import org.openmetadata.sdk.client.OpenMetadataClient; +import org.openmetadata.sdk.config.OpenMetadataConfig; +import org.openmetadata.sdk.test.auth.JwtAuthProvider; + +/** + * Lazily-cached {@link OpenMetadataClient} factory for integration tests. Each static accessor + * returns a client authenticated as a distinct well-known test subject (admin, ingestion-bot, + * data-steward, shared_user1, etc.), so tests can verify authorization and sharing without + * managing JWTs themselves. + * + *

Base URL is resolved from the {@code IT_BASE_URL} system property or environment variable, + * defaulting to {@code http://localhost:8585/api}. + */ +public final class SdkClients { + + private static final String BASE_URL = + System.getProperty( + "IT_BASE_URL", System.getenv().getOrDefault("IT_BASE_URL", "http://localhost:8585/api")); + + private static volatile OpenMetadataClient ADMIN_CLIENT; + private static volatile OpenMetadataClient TEST_USER_CLIENT; + private static volatile OpenMetadataClient BOT_CLIENT; + private static volatile OpenMetadataClient USER1_CLIENT; + private static volatile OpenMetadataClient USER2_CLIENT; + private static volatile OpenMetadataClient USER3_CLIENT; + private static volatile OpenMetadataClient DATA_STEWARD_CLIENT; + private static volatile OpenMetadataClient DATA_CONSUMER_CLIENT; + + private SdkClients() {} + + public static OpenMetadataClient adminClient() { + if (ADMIN_CLIENT == null) { + synchronized (SdkClients.class) { + if (ADMIN_CLIENT == null) { + ADMIN_CLIENT = createClient("admin", "admin@open-metadata.org", new String[] {"admin"}); + } + } + } + return ADMIN_CLIENT; + } + + public static OpenMetadataClient testUserClient() { + if (TEST_USER_CLIENT == null) { + synchronized (SdkClients.class) { + if (TEST_USER_CLIENT == null) { + TEST_USER_CLIENT = createClient("test", "test@open-metadata.org", new String[] {}); + } + } + } + return TEST_USER_CLIENT; + } + + public static OpenMetadataClient botClient() { + if (BOT_CLIENT == null) { + synchronized (SdkClients.class) { + if (BOT_CLIENT == null) { + BOT_CLIENT = + createClient( + "ingestion-bot", "ingestion-bot@open-metadata.org", new String[] {"bot"}); + } + } + } + return BOT_CLIENT; + } + + public static OpenMetadataClient ingestionBotClient() { + return botClient(); + } + + public static OpenMetadataClient dataStewardClient() { + if (DATA_STEWARD_CLIENT == null) { + synchronized (SdkClients.class) { + if (DATA_STEWARD_CLIENT == null) { + DATA_STEWARD_CLIENT = + createClient( + "data-steward", "data-steward@open-metadata.org", new String[] {"DataSteward"}); + } + } + } + return DATA_STEWARD_CLIENT; + } + + public static OpenMetadataClient dataConsumerClient() { + if (DATA_CONSUMER_CLIENT == null) { + synchronized (SdkClients.class) { + if (DATA_CONSUMER_CLIENT == null) { + DATA_CONSUMER_CLIENT = + createClient( + "data-consumer", + "data-consumer@open-metadata.org", + new String[] {"DataConsumer"}); + } + } + } + return DATA_CONSUMER_CLIENT; + } + + public static OpenMetadataClient user1Client() { + if (USER1_CLIENT == null) { + synchronized (SdkClients.class) { + if (USER1_CLIENT == null) { + USER1_CLIENT = + createClient("shared_user1", "shared_user1@test.openmetadata.org", new String[] {}); + } + } + } + return USER1_CLIENT; + } + + public static OpenMetadataClient user2Client() { + if (USER2_CLIENT == null) { + synchronized (SdkClients.class) { + if (USER2_CLIENT == null) { + USER2_CLIENT = + createClient("shared_user2", "shared_user2@test.openmetadata.org", new String[] {}); + } + } + } + return USER2_CLIENT; + } + + public static OpenMetadataClient user3Client() { + if (USER3_CLIENT == null) { + synchronized (SdkClients.class) { + if (USER3_CLIENT == null) { + USER3_CLIENT = + createClient("shared_user3", "shared_user3@test.openmetadata.org", new String[] {}); + } + } + } + return USER3_CLIENT; + } + + public static OpenMetadataClient createClient(String subject, String email, String[] roles) { + String token = JwtAuthProvider.tokenFor(subject, email, roles, 3600); + OpenMetadataConfig cfg = + OpenMetadataConfig.builder() + .serverUrl(BASE_URL) + .accessToken(token) + .readTimeout(300000) + .writeTimeout(300000) + .build(); + return new OpenMetadataClient(cfg); + } + + public static String getServerUrl() { + return BASE_URL; + } + + public static String getAdminToken() { + return JwtAuthProvider.tokenFor( + "admin", "admin@open-metadata.org", new String[] {"admin"}, 3600); + } +} diff --git a/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/TestNamespace.java b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/TestNamespace.java new file mode 100644 index 000000000000..2755d1fed4b5 --- /dev/null +++ b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/TestNamespace.java @@ -0,0 +1,70 @@ +/* + * Copyright 2025 Collate + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openmetadata.sdk.test.util; + +import java.util.UUID; + +/** + * Per-test-method namespace for entity names. Combines a process-wide run id, a test class id, + * and the current test method id to produce collision-free prefixes when multiple tests (or + * multiple processes running in parallel) hit the same server. Call {@link #prefix(String)} or + * {@link #shortPrefix(String)} when naming entities; call {@link #uniqueShortId()} when a fresh + * unique id is needed on every call. + */ +public class TestNamespace { + private static final String RUN_ID = UUID.randomUUID().toString().replaceAll("-", ""); + private final String classId; + private String methodId; + private String cachedShortPrefix; + + public TestNamespace(String classId) { + this.classId = classId; + } + + public void setMethodId(String methodId) { + this.methodId = methodId; + this.cachedShortPrefix = null; + } + + public String prefix(String base) { + return base + "__" + RUN_ID + "__" + classId + (methodId != null ? ("__" + methodId) : ""); + } + + /** + * Returns a short prefix suitable for database entity names with length constraints. The result + * is cached per method — calling this multiple times within the same test method returns the + * same value. Use {@link #uniqueShortId()} if you need a fresh unique id on every call. + */ + public String shortPrefix() { + if (cachedShortPrefix == null) { + String shortRun = RUN_ID.substring(0, 8); + String methodHash = + methodId != null ? Integer.toHexString(Math.abs(methodId.hashCode()) % 0xFFFF) : "0"; + String uniqueSuffix = UUID.randomUUID().toString().substring(0, 4); + cachedShortPrefix = shortRun + methodHash + uniqueSuffix; + } + return cachedShortPrefix; + } + + public String shortPrefix(String base) { + return shortPrefix() + "_" + base; + } + + public String uniqueShortId() { + String shortRun = RUN_ID.substring(0, 8); + String methodHash = + methodId != null ? Integer.toHexString(Math.abs(methodId.hashCode()) % 0xFFFF) : "0"; + String uniqueSuffix = UUID.randomUUID().toString().substring(0, 4); + return shortRun + methodHash + uniqueSuffix; + } +} diff --git a/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/TestNamespaceExtension.java b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/TestNamespaceExtension.java new file mode 100644 index 000000000000..b955013d0f73 --- /dev/null +++ b/openmetadata-sdk/src/main/java/org/openmetadata/sdk/test/util/TestNamespaceExtension.java @@ -0,0 +1,51 @@ +/* + * Copyright 2025 Collate + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openmetadata.sdk.test.util; + +import org.junit.jupiter.api.extension.BeforeEachCallback; +import org.junit.jupiter.api.extension.ExtensionContext; +import org.junit.jupiter.api.extension.ExtensionContext.Namespace; +import org.junit.jupiter.api.extension.ParameterContext; +import org.junit.jupiter.api.extension.ParameterResolver; + +/** + * JUnit 5 extension that provides a fresh {@link TestNamespace} instance to every test method. + * Annotate a test class with {@code @ExtendWith(TestNamespaceExtension.class)} and declare a + * {@code TestNamespace} parameter on any test method to receive an auto-populated namespace. + */ +public class TestNamespaceExtension implements BeforeEachCallback, ParameterResolver { + + private static final Namespace NAMESPACE = Namespace.create(TestNamespaceExtension.class); + private static final String NS_KEY = "testNamespace"; + + @Override + public void beforeEach(ExtensionContext context) { + String classId = context.getRequiredTestClass().getSimpleName(); + String methodId = context.getRequiredTestMethod().getName(); + TestNamespace ns = new TestNamespace(classId); + ns.setMethodId(methodId); + context.getStore(NAMESPACE).put(NS_KEY, ns); + } + + @Override + public boolean supportsParameter( + ParameterContext parameterContext, ExtensionContext extensionContext) { + return parameterContext.getParameter().getType().equals(TestNamespace.class); + } + + @Override + public Object resolveParameter( + ParameterContext parameterContext, ExtensionContext extensionContext) { + return extensionContext.getStore(NAMESPACE).get(NS_KEY, TestNamespace.class); + } +} diff --git a/openmetadata-service/pom.xml b/openmetadata-service/pom.xml index 4bb0d15f857f..439ddc049639 100644 --- a/openmetadata-service/pom.xml +++ b/openmetadata-service/pom.xml @@ -31,6 +31,7 @@ 1.5.25 2.3.0 24.0.0 + 3.2.3 @@ -1017,6 +1018,51 @@ owasp-java-html-sanitizer ${owasp-html-sanitizer.version} + + + com.azure + azure-storage-blob + 12.31.1 + + + software.amazon.awssdk + cloudfront + + + software.amazon.awssdk + checksums + + + + org.apache.pdfbox + pdfbox + 2.0.31 + + + org.apache.poi + poi + 5.4.1 + + + org.apache.poi + poi-ooxml + 5.4.1 + + + org.apache.poi + poi-scratchpad + 5.4.1 + + + org.apache.tika + tika-core + ${tika.version} + + + org.apache.tika + tika-parser-ocr-module + ${tika.version} + diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/Entity.java b/openmetadata-service/src/main/java/org/openmetadata/service/Entity.java index 497661f4b989..1eb71c8fe768 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/Entity.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/Entity.java @@ -201,6 +201,9 @@ public final class Entity { public static final String FILE = "file"; public static final String SPREADSHEET = "spreadsheet"; public static final String WORKSHEET = "worksheet"; + public static final String FOLDER = "folder"; + public static final String CONTEXT_FILE = "contextFile"; + public static final String CONTEXT_FILE_CONTENT = "contextFileContent"; public static final String GLOSSARY = "glossary"; public static final String GLOSSARY_TERM = "glossaryTerm"; diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/attachments/AssetService.java b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/AssetService.java new file mode 100644 index 000000000000..8f5edc90ce33 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/AssetService.java @@ -0,0 +1,33 @@ +package org.openmetadata.service.attachments; + +import org.openmetadata.schema.attachments.Asset; +import java.io.InputStream; +import java.time.Duration; +import java.util.concurrent.CompletableFuture; + +public interface AssetService { + CompletableFuture upload(Asset asset, InputStream content); + + CompletableFuture read(Asset asset); + + CompletableFuture delete(Asset asset); + + default String generateDownloadURL(Asset asset) { + return asset.getUrl(); + } + + String generateDownloadUrlWithExpiry(Asset asset, Duration expiry); + + default String determineBasePathPrefix(String[] pathParts) { + if (pathParts.length <= 1) { + return ""; + } + + String prefix = pathParts[1]; + if (!prefix.endsWith("/")) { + prefix += "/"; + } + + return prefix; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/attachments/AssetServiceFactory.java b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/AssetServiceFactory.java new file mode 100644 index 000000000000..ef999a49ebc0 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/AssetServiceFactory.java @@ -0,0 +1,86 @@ +package org.openmetadata.service.attachments; + +import java.util.Locale; +import lombok.extern.slf4j.Slf4j; +import org.openmetadata.service.OpenMetadataApplicationConfig; +import org.openmetadata.service.config.ObjectStorageConfiguration; + +@Slf4j +public class AssetServiceFactory { + private static AssetService instance; + + public static synchronized void init(OpenMetadataApplicationConfig config) { + ObjectStorageConfiguration objectStorageConfiguration = config.getObjectStorage(); + if (objectStorageConfiguration == null || !objectStorageConfiguration.isEnabled()) { + if (instance == null) { + instance = new NoOpAssetService(); + } + return; + } + + String provider = validateProvider(objectStorageConfiguration.getProvider()); + if (isInitializedForProvider(provider)) { + return; + } + + AssetService delegate; + String normalizedProvider = provider.toLowerCase(Locale.ROOT); + if ("s3".equals(normalizedProvider)) { + delegate = new S3AssetService(objectStorageConfiguration.getS3Configuration()); + } else if ("azure".equals(normalizedProvider)) { + delegate = new AzureAssetService(objectStorageConfiguration.getAzureConfiguration()); + } else if ("inmemory".equals(normalizedProvider) || "in-memory".equals(normalizedProvider)) { + LOG.info("Using InMemoryAssetService for local testing"); + delegate = new InMemoryAssetService(); + } else if ("noop".equals(normalizedProvider)) { + delegate = new NoOpAssetService(); + } else { + throw new IllegalArgumentException("Unsupported asset uploader provider: " + provider); + } + instance = new QueuedDeleteAssetService(delegate, ObjectDeleteQueueService.getInstance()); + } + + private static String validateProvider(String provider) { + if (provider == null || provider.isBlank()) { + throw new IllegalArgumentException( + "Object storage provider must be configured when object storage is enabled."); + } + return provider.trim(); + } + + private static boolean isInitializedForProvider(String provider) { + if (instance == null || provider == null || provider.isBlank()) { + return false; + } + AssetService unwrapped = unwrap(instance); + return switch (provider.toLowerCase(Locale.ROOT)) { + case "s3" -> unwrapped instanceof S3AssetService; + case "azure" -> unwrapped instanceof AzureAssetService; + case "inmemory", "in-memory" -> unwrapped instanceof InMemoryAssetService; + case "noop" -> unwrapped instanceof NoOpAssetService; + default -> false; + }; + } + + /** + * Returns the concrete {@link AssetService} implementation, stripping any wrapper layers such as + * {@link QueuedDeleteAssetService}. Callers that need to inspect provider capabilities + * (e.g. {@code instanceof S3AssetService}) should go through this helper because the wrapper + * hides the delegate from direct type checks. + */ + public static AssetService unwrap(AssetService service) { + AssetService current = service; + while (current instanceof QueuedDeleteAssetService queuedService) { + current = queuedService.getDelegate(); + } + return current; + } + + public static AssetService getService() { + if (instance == null) { + throw new IllegalStateException( + "AssetService not initialized. Please make sure ObjectStorage is configured."); + } + return instance; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/attachments/AzureAssetService.java b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/AzureAssetService.java new file mode 100644 index 000000000000..b39e5c17eb7c --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/AzureAssetService.java @@ -0,0 +1,158 @@ +package org.openmetadata.service.attachments; + +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.storage.blob.*; +import com.azure.storage.blob.models.*; +import com.azure.storage.blob.sas.*; +import com.azure.storage.common.sas.SasProtocol; +import org.openmetadata.schema.attachments.Asset; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.concurrent.CompletableFuture; +import org.apache.commons.io.IOUtils; +import org.openmetadata.sdk.exception.AssetServiceException; +import org.openmetadata.service.config.AzureConfiguration; +import org.openmetadata.service.util.AsyncService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class AzureAssetService implements AssetService { + private static final Logger LOG = LoggerFactory.getLogger(AzureAssetService.class); + + private final AzureConfiguration config; + private final BlobServiceClient blobServiceClient; + private final BlobContainerClient containerClient; + private final String basePathPrefix; + + public AzureAssetService(AzureConfiguration config) { + this.config = config; + this.basePathPrefix = String.format("%s/", config.getPrefixPath()); + + if (config.getBlobEndpoint() == null || config.getBlobEndpoint().isEmpty()) { + throw new IllegalArgumentException("blobEndpoint must be provided in Azure configuration"); + } + + this.blobServiceClient = + new BlobServiceClientBuilder() + .endpoint(config.getBlobEndpoint()) + .credential(new DefaultAzureCredentialBuilder().build()) + .buildClient(); + + this.containerClient = blobServiceClient.getBlobContainerClient(config.getContainerName()); + initializeContainer(); + } + + private void initializeContainer() { + try { + if (!containerClient.exists()) { + containerClient.create(); + LOG.info("Created Azure blob container: {}", containerClient.getBlobContainerName()); + } + createDirectoryMarker(); + } catch (Exception e) { + LOG.error("Failed to initialize Azure blob container: {}", e.getMessage(), e); + throw new RuntimeException("Failed to initialize Azure blob container", e); + } + } + + private void createDirectoryMarker() { + String markerPath = basePathPrefix + ".directory"; + BlobClient blobClient = containerClient.getBlobClient(markerPath); + if (!blobClient.exists()) { + blobClient.upload(new ByteArrayInputStream(new byte[0]), 0, true); + } + } + + @Override + public CompletableFuture upload(Asset asset, InputStream content) { + return AsyncService.executeAsync( + () -> { + try { + byte[] bytes = IOUtils.toByteArray(content); + String fullPath = basePathPrefix + asset.getId(); + BlobClient blobClient = containerClient.getBlobClient(fullPath); + + blobClient.upload(new ByteArrayInputStream(bytes), bytes.length, true); + blobClient.setHttpHeaders(new BlobHttpHeaders().setContentType(asset.getContentType())); + + return generateDownloadUrlWithExpiry(asset, Duration.ofMinutes(15)); + } catch (IOException e) { + throw AssetServiceException.byMessage( + "Failed to upload asset: " + asset.getId(), e.getMessage()); + } + }, + "Upload", + asset.getId()); + } + + @Override + public CompletableFuture read(Asset asset) { + return AsyncService.executeAsync( + () -> { + try { + LOG.debug("Reading asset {} from Azure blob storage", asset.getId()); + BlobClient blobClient = containerClient.getBlobClient(basePathPrefix + asset.getId()); + InputStream inputStream = blobClient.openInputStream(); + LOG.debug("Successfully opened input stream for asset {}", asset.getId()); + return inputStream; + } catch (Exception e) { + throw AssetServiceException.byMessage( + "Failed to read asset: " + asset.getId(), e.getMessage()); + } + }, + "Read", + asset.getId()); + } + + @Override + public CompletableFuture delete(Asset asset) { + return AsyncService.executeAsync( + () -> { + try { + BlobClient blobClient = containerClient.getBlobClient(basePathPrefix + asset.getId()); + blobClient.delete(); + LOG.debug("Successfully deleted asset {}", asset.getId()); + return null; + } catch (Exception e) { + throw AssetServiceException.byMessage( + "Failed to delete asset: " + asset.getId(), e.getMessage()); + } + }, + "Delete", + asset.getId()); + } + + @Override + public String generateDownloadUrlWithExpiry(Asset asset, Duration expiry) { + try { + String blobName = basePathPrefix + asset.getId(); + BlobClient blobClient = containerClient.getBlobClient(blobName); + + OffsetDateTime start = OffsetDateTime.now().minusMinutes(5); + OffsetDateTime end = OffsetDateTime.now().plus(expiry); + UserDelegationKey userDelegationKey = blobServiceClient.getUserDelegationKey(start, end); + + BlobSasPermission permission = new BlobSasPermission().setReadPermission(true); + BlobServiceSasSignatureValues sasValues = + new BlobServiceSasSignatureValues(end, permission) + .setStartTime(start) + .setProtocol(SasProtocol.HTTPS_ONLY) + .setBlobName(blobName) + .setContainerName(containerClient.getBlobContainerName()); + + String sasToken = blobClient.generateUserDelegationSas(sasValues, userDelegationKey); + return blobClient.getBlobUrl() + "?" + sasToken; + } catch (Exception e) { + LOG.error("Failed to generate SAS token for asset: {}", asset.getId(), e); + throw new RuntimeException("Could not generate SAS token", e); + } + } + + @Override + public String generateDownloadURL(Asset asset) { + return generateDownloadUrlWithExpiry(asset, Duration.ofMinutes(15)); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/attachments/InMemoryAssetService.java b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/InMemoryAssetService.java new file mode 100644 index 000000000000..ff8025d8103f --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/InMemoryAssetService.java @@ -0,0 +1,134 @@ +package org.openmetadata.service.attachments; + +import org.openmetadata.schema.attachments.Asset; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.time.Duration; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentHashMap; +import lombok.extern.slf4j.Slf4j; + +/** + * In-memory implementation of AssetService for local testing and development. + * Stores asset contents in memory using a ConcurrentHashMap. + * + * WARNING: This implementation is NOT suitable for production use as: + * - Data is lost on restart + * - Memory usage grows with asset size + * - Not distributed/shared across instances + */ +@Slf4j +public class InMemoryAssetService implements AssetService { + private final ConcurrentHashMap assetStore; + private final String baseUrl; + + public InMemoryAssetService() { + this("http://localhost:8585/api/v1/assets"); + } + + public InMemoryAssetService(String baseUrl) { + this.assetStore = new ConcurrentHashMap<>(); + this.baseUrl = baseUrl; + LOG.info("Initialized InMemoryAssetService for local testing (base URL: {})", baseUrl); + } + + @Override + public CompletableFuture upload(Asset asset, InputStream content) { + return CompletableFuture.supplyAsync( + () -> { + try { + // Read the input stream into a byte array + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + byte[] data = new byte[8192]; + int bytesRead; + while ((bytesRead = content.read(data, 0, data.length)) != -1) { + buffer.write(data, 0, bytesRead); + } + byte[] assetBytes = buffer.toByteArray(); + + // Store in memory + assetStore.put(asset.getId(), assetBytes); + + LOG.debug( + "Uploaded asset {} ({} bytes) to in-memory storage", + asset.getId(), + assetBytes.length); + + return "success"; + } catch (Exception e) { + LOG.error("Failed to upload asset {}: {}", asset.getId(), e.getMessage(), e); + throw new RuntimeException("Failed to upload asset", e); + } + }); + } + + @Override + public CompletableFuture read(Asset asset) { + return CompletableFuture.supplyAsync( + () -> { + byte[] assetBytes = assetStore.get(asset.getId()); + if (assetBytes == null) { + LOG.warn("Asset {} not found in in-memory storage", asset.getId()); + return null; + } + + LOG.debug( + "Retrieved asset {} ({} bytes) from in-memory storage", + asset.getId(), + assetBytes.length); + + return new ByteArrayInputStream(assetBytes); + }); + } + + @Override + public CompletableFuture delete(Asset asset) { + return CompletableFuture.runAsync( + () -> { + byte[] removed = assetStore.remove(asset.getId()); + if (removed != null) { + LOG.debug( + "Deleted asset {} ({} bytes) from in-memory storage", + asset.getId(), + removed.length); + } else { + LOG.warn("Attempted to delete non-existent asset {}", asset.getId()); + } + }); + } + + @Override + public String generateDownloadUrlWithExpiry(Asset asset, Duration expiry) { + // For in-memory storage, we just return a mock URL + // In a real implementation, this would require a separate endpoint to serve the assets + String url = baseUrl + "/" + asset.getId() + "?expiry=" + expiry.toSeconds(); + LOG.debug("Generated mock download URL for asset {}: {}", asset.getId(), url); + return url; + } + + /** + * Get the current size of the in-memory store (for debugging/monitoring) + * @return number of assets stored + */ + public int getStoreSize() { + return assetStore.size(); + } + + /** + * Get the total memory used by stored assets (approximate) + * @return total bytes stored + */ + public long getTotalBytesStored() { + return assetStore.values().stream().mapToLong(bytes -> bytes.length).sum(); + } + + /** + * Clear all assets from memory (useful for testing) + */ + public void clear() { + int size = assetStore.size(); + assetStore.clear(); + LOG.info("Cleared {} assets from in-memory storage", size); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/attachments/NoOpAssetService.java b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/NoOpAssetService.java new file mode 100644 index 000000000000..7ae9c68e5d77 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/NoOpAssetService.java @@ -0,0 +1,28 @@ +package org.openmetadata.service.attachments; + +import org.openmetadata.schema.attachments.Asset; +import java.io.InputStream; +import java.time.Duration; +import java.util.concurrent.CompletableFuture; + +public class NoOpAssetService implements AssetService { + @Override + public CompletableFuture upload(Asset asset, InputStream content) { + return CompletableFuture.completedFuture(""); + } + + @Override + public CompletableFuture read(Asset asset) { + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture delete(Asset asset) { + return CompletableFuture.completedFuture(null); + } + + @Override + public String generateDownloadUrlWithExpiry(Asset asset, Duration expiry) { + return "https://cdn.example.com/static/" + asset.getId(); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/attachments/ObjectDeleteQueueService.java b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/ObjectDeleteQueueService.java new file mode 100644 index 000000000000..64f3cb21a9e9 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/ObjectDeleteQueueService.java @@ -0,0 +1,170 @@ +package org.openmetadata.service.attachments; + +import io.dropwizard.lifecycle.Managed; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.Semaphore; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class ObjectDeleteQueueService implements Managed { + static final int DEFAULT_WORKER_COUNT = + Integer.getInteger( + "collate.object.delete.workers", + Math.max(2, Math.min(4, Runtime.getRuntime().availableProcessors()))); + static final int DEFAULT_QUEUE_CAPACITY = + Integer.getInteger("collate.object.delete.queue.capacity", 128); + static final long DEFAULT_ENQUEUE_TIMEOUT_MILLIS = + Long.getLong("collate.object.delete.enqueue.timeout.ms", 5000L); + static final long DEFAULT_KEEP_ALIVE_MILLIS = + Long.getLong("collate.object.delete.keepalive.ms", 5000L); + + private static final ObjectDeleteQueueService INSTANCE = + new ObjectDeleteQueueService( + DEFAULT_WORKER_COUNT, DEFAULT_QUEUE_CAPACITY, DEFAULT_ENQUEUE_TIMEOUT_MILLIS); + + private final ThreadPoolExecutor executorService; + private final Semaphore capacitySemaphore; + private final int workerCount; + private final int queueCapacity; + private final long enqueueTimeoutMillis; + + ObjectDeleteQueueService(int workerCount, int queueCapacity, long enqueueTimeoutMillis) { + if (workerCount <= 0) { + throw new IllegalArgumentException("workerCount must be > 0"); + } + if (queueCapacity < 0) { + throw new IllegalArgumentException("queueCapacity must be >= 0"); + } + if (enqueueTimeoutMillis < 0) { + throw new IllegalArgumentException("enqueueTimeoutMillis must be >= 0"); + } + + this.workerCount = workerCount; + this.queueCapacity = queueCapacity; + this.enqueueTimeoutMillis = enqueueTimeoutMillis; + this.capacitySemaphore = new Semaphore(workerCount + queueCapacity, true); + this.executorService = + new ThreadPoolExecutor( + workerCount, + workerCount, + DEFAULT_KEEP_ALIVE_MILLIS, + TimeUnit.MILLISECONDS, + new ArrayBlockingQueue<>(Math.max(1, queueCapacity)), + new DeleteThreadFactory(), + new ThreadPoolExecutor.AbortPolicy()); + this.executorService.allowCoreThreadTimeOut(true); + } + + public static ObjectDeleteQueueService getInstance() { + return INSTANCE; + } + + public CompletableFuture submit(String jobLabel, Runnable task) { + try { + if (!capacitySemaphore.tryAcquire(enqueueTimeoutMillis, TimeUnit.MILLISECONDS)) { + throw buildQueueSaturatedException(jobLabel); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new RejectedExecutionException( + "Interrupted while waiting for delete queue capacity", e); + } + + CompletableFuture result = new CompletableFuture<>(); + try { + executorService.execute( + () -> { + try { + task.run(); + result.complete(null); + } catch (Throwable t) { + result.completeExceptionally(t); + } finally { + capacitySemaphore.release(); + } + }); + } catch (RejectedExecutionException e) { + capacitySemaphore.release(); + if (executorService.isShutdown()) { + throw new RejectedExecutionException( + "Delete queue is shutting down, cannot accept job: " + jobLabel); + } + throw buildQueueSaturatedException(jobLabel); + } + + return result; + } + + public int getWorkerCount() { + return workerCount; + } + + public int getQueueCapacity() { + return queueCapacity; + } + + public long getEnqueueTimeoutMillis() { + return enqueueTimeoutMillis; + } + + public int getActiveCount() { + return executorService.getActiveCount(); + } + + public int getQueueDepth() { + return executorService.getQueue().size(); + } + + public int getTotalCapacity() { + return workerCount + queueCapacity; + } + + @Override + public void start() { + // Executor is initialized eagerly. + } + + @Override + public void stop() { + executorService.shutdown(); + try { + if (!executorService.awaitTermination(30, TimeUnit.SECONDS)) { + LOG.warn("Delete queue did not terminate within 30s, forcing shutdown"); + executorService.shutdownNow(); + } + } catch (InterruptedException e) { + executorService.shutdownNow(); + Thread.currentThread().interrupt(); + } + } + + private RejectedExecutionException buildQueueSaturatedException(String jobLabel) { + LOG.warn( + "Object delete queue is full for job {}. active={}, queued={}, capacity={}", + jobLabel, + getActiveCount(), + getQueueDepth(), + getTotalCapacity()); + return new RejectedExecutionException( + String.format( + "Object delete queue is full. active=%d queued=%d capacity=%d", + getActiveCount(), getQueueDepth(), getTotalCapacity())); + } + + private static final class DeleteThreadFactory implements ThreadFactory { + private final AtomicInteger counter = new AtomicInteger(1); + + @Override + public Thread newThread(Runnable runnable) { + Thread thread = new Thread(runnable, "object-delete-worker-" + counter.getAndIncrement()); + thread.setDaemon(false); + return thread; + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/attachments/QueuedDeleteAssetService.java b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/QueuedDeleteAssetService.java new file mode 100644 index 000000000000..c800aba97f95 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/QueuedDeleteAssetService.java @@ -0,0 +1,86 @@ +package org.openmetadata.service.attachments; + +import org.openmetadata.schema.attachments.Asset; +import java.io.InputStream; +import java.time.Duration; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +public class QueuedDeleteAssetService implements AssetService { + static final long DEFAULT_DELETE_WAIT_MILLIS = + Long.getLong("collate.object.delete.task.timeout.ms", 60000L); + + private final AssetService delegate; + private final ObjectDeleteQueueService deleteQueueService; + private final long deleteWaitMillis; + + public QueuedDeleteAssetService( + AssetService delegate, ObjectDeleteQueueService deleteQueueService) { + this(delegate, deleteQueueService, DEFAULT_DELETE_WAIT_MILLIS); + } + + QueuedDeleteAssetService( + AssetService delegate, ObjectDeleteQueueService deleteQueueService, long deleteWaitMillis) { + this.delegate = delegate; + this.deleteQueueService = deleteQueueService; + if (deleteWaitMillis <= 0) { + throw new IllegalArgumentException("deleteWaitMillis must be > 0"); + } + this.deleteWaitMillis = deleteWaitMillis; + } + + AssetService getDelegate() { + return delegate; + } + + @Override + public CompletableFuture upload(Asset asset, InputStream content) { + return delegate.upload(asset, content); + } + + @Override + public CompletableFuture read(Asset asset) { + return delegate.read(asset); + } + + @Override + public CompletableFuture delete(Asset asset) { + return deleteQueueService.submit( + "asset:" + asset.getId(), + () -> { + CompletableFuture deleteFuture = delegate.delete(asset); + if (deleteFuture != null) { + waitForDelete(deleteFuture, asset.getId()); + } + }); + } + + private void waitForDelete(CompletableFuture deleteFuture, String assetId) { + try { + deleteFuture.get(deleteWaitMillis, TimeUnit.MILLISECONDS); + } catch (InterruptedException e) { + deleteFuture.cancel(true); + Thread.currentThread().interrupt(); + throw new IllegalStateException("Interrupted while deleting asset " + assetId, e); + } catch (TimeoutException e) { + deleteFuture.cancel(true); + throw new IllegalStateException( + "Timed out deleting asset %s after %d ms".formatted(assetId, deleteWaitMillis), e); + } catch (ExecutionException e) { + Throwable cause = e.getCause() != null ? e.getCause() : e; + throw new IllegalStateException("Delete failed for asset " + assetId, cause); + } + } + + @Override + public String generateDownloadURL(Asset asset) { + return delegate.generateDownloadURL(asset); + } + + @Override + public String generateDownloadUrlWithExpiry(Asset asset, Duration expiry) { + return delegate.generateDownloadUrlWithExpiry(asset, expiry); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/attachments/S3AssetService.java b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/S3AssetService.java new file mode 100644 index 000000000000..ec7c717c504d --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/attachments/S3AssetService.java @@ -0,0 +1,220 @@ +package org.openmetadata.service.attachments; + +import org.openmetadata.schema.attachments.Asset; +import java.io.InputStream; +import java.net.URI; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.time.Duration; +import java.time.Instant; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; +import lombok.extern.slf4j.Slf4j; +import org.openmetadata.common.utils.CommonUtil; +import org.openmetadata.service.config.S3Configuration; +import org.openmetadata.service.util.AsyncService; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; +import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; +import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; +import software.amazon.awssdk.core.sync.RequestBody; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.cloudfront.CloudFrontUtilities; +import software.amazon.awssdk.services.cloudfront.model.CustomSignerRequest; +import software.amazon.awssdk.services.cloudfront.url.SignedUrl; +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.S3ClientBuilder; +import software.amazon.awssdk.services.s3.model.*; +import software.amazon.awssdk.services.s3.presigner.S3Presigner; +import software.amazon.awssdk.services.s3.presigner.model.GetObjectPresignRequest; +import software.amazon.awssdk.services.s3.presigner.model.PresignedGetObjectRequest; + +@Slf4j +public class S3AssetService implements AssetService { + private final S3Configuration config; + private final S3Client s3Client; + private final S3Presigner presigner; + private final CloudFrontUtilities cloudFrontUtilities; + private final String actualBucketName; + private final String prefixPath; + + public S3AssetService(S3Configuration config) { + this.config = config; + this.actualBucketName = config.getBucketName(); + this.prefixPath = formatPrefix(config.getPrefixPath()); + + AwsCredentialsProvider credentialsProvider = resolveCredentials(config); + URI endpointOverride = + CommonUtil.nullOrEmpty(config.getEndpoint()) ? null : URI.create(config.getEndpoint()); + software.amazon.awssdk.services.s3.S3Configuration serviceConfiguration = + software.amazon.awssdk.services.s3.S3Configuration.builder() + .pathStyleAccessEnabled(endpointOverride != null) + .build(); + + S3ClientBuilder builder = + S3Client.builder() + .region(Region.of(config.getRegion())) + .credentialsProvider(credentialsProvider) + .serviceConfiguration(serviceConfiguration); + + if (endpointOverride != null) { + builder.endpointOverride(endpointOverride); + } + + this.s3Client = builder.build(); + S3Presigner.Builder presignerBuilder = + S3Presigner.builder() + .region(Region.of(config.getRegion())) + .credentialsProvider(credentialsProvider) + .serviceConfiguration(serviceConfiguration); + if (endpointOverride != null) { + presignerBuilder.endpointOverride(endpointOverride); + } + this.presigner = presignerBuilder.build(); + + this.cloudFrontUtilities = CloudFrontUtilities.create(); + } + + private AwsCredentialsProvider resolveCredentials(S3Configuration config) { + if (config.getEndpoint() != null && !config.getEndpoint().isEmpty()) { + LOG.info("Custom endpoint detected, using StaticCredentialsProvider"); + return StaticCredentialsProvider.create( + AwsBasicCredentials.create(config.getAccessKey(), config.getSecretKey())); + } + try { + AwsCredentialsProvider defaultProvider = DefaultCredentialsProvider.create(); + defaultProvider.resolveCredentials(); // Triggers validation + LOG.info("Using AWS DefaultCredentialsProvider"); + return defaultProvider; + } catch (Exception e) { + LOG.warn( + "Default credentials not found. Falling back to static credentials. Reason: {}", + e.getMessage()); + return StaticCredentialsProvider.create( + AwsBasicCredentials.create(config.getAccessKey(), config.getSecretKey())); + } + } + + private String formatPrefix(String rawPrefix) { + if (CommonUtil.nullOrEmpty(rawPrefix)) return ""; + return rawPrefix.endsWith("/") ? rawPrefix : rawPrefix + "/"; + } + + private String resolveKey(String assetId) { + return prefixPath + assetId; + } + + @Override + public CompletableFuture upload(Asset asset, InputStream content) { + return AsyncService.executeAsync( + () -> { + try { + String key = resolveKey(asset.getId()); + PutObjectRequest.Builder putBuilder = + PutObjectRequest.builder() + .bucket(actualBucketName) + .key(key) + .contentType(asset.getContentType()); + + if (config.getSseAlgorithm() != null && !config.getSseAlgorithm().isEmpty()) { + if ("AES256".equals(config.getSseAlgorithm())) { + putBuilder.serverSideEncryption(ServerSideEncryption.AES256); + } else if ("aws:kms".equals(config.getSseAlgorithm())) { + putBuilder.serverSideEncryption(ServerSideEncryption.AWS_KMS); + if (config.getKmsKeyId() != null && !config.getKmsKeyId().isEmpty()) { + putBuilder.ssekmsKeyId(config.getKmsKeyId()); + } + } + } + + PutObjectRequest putRequest = putBuilder.build(); + s3Client.putObject( + putRequest, RequestBody.fromInputStream(content, asset.getSize().longValue())); + return "success"; + } catch (Exception e) { + throw new CompletionException(e); + } + }, + "Upload", + asset.getId()); + } + + @Override + public CompletableFuture read(Asset asset) { + return AsyncService.executeAsync( + () -> { + try { + LOG.debug("Reading asset {} from S3 bucket {}", asset.getId(), actualBucketName); + String key = resolveKey(asset.getId()); + GetObjectRequest getRequest = + GetObjectRequest.builder().bucket(actualBucketName).key(key).build(); + + InputStream inputStream = s3Client.getObject(getRequest); + LOG.debug("Successfully opened input stream for asset {}", asset.getId()); + return inputStream; + } catch (Exception e) { + throw new CompletionException(e); + } + }, + "Read", + asset.getId()); + } + + @Override + public CompletableFuture delete(Asset asset) { + return AsyncService.executeAsync( + () -> { + try { + String key = resolveKey(asset.getId()); + DeleteObjectRequest deleteRequest = + DeleteObjectRequest.builder().bucket(actualBucketName).key(key).build(); + + s3Client.deleteObject(deleteRequest); + LOG.debug("Successfully deleted asset {}", asset.getId()); + return null; + } catch (Exception e) { + throw new CompletionException(e); + } + }, + "Delete", + asset.getId()); + } + + @Override + public String generateDownloadUrlWithExpiry(Asset asset, Duration expiry) { + String cloudFrontUrl = config.getCloudFrontUrl(); + String key = resolveKey(asset.getId()); + + if (cloudFrontUrl != null + && !cloudFrontUrl.isEmpty() + && config.getCloudFrontKeyPairId() != null + && config.getCloudFrontPrivateKeyPath() != null) { + try { + String resourceUrl = cloudFrontUrl + "/" + key; + Path privateKeyPath = Paths.get(config.getCloudFrontPrivateKeyPath()); + + CustomSignerRequest signerRequest = + CustomSignerRequest.builder() + .resourceUrl(resourceUrl) + .keyPairId(config.getCloudFrontKeyPairId()) + .privateKey(privateKeyPath) + .expirationDate(Instant.now().plus(expiry)) + .build(); + + SignedUrl signedUrl = cloudFrontUtilities.getSignedUrlWithCustomPolicy(signerRequest); + return signedUrl.url(); + } catch (Exception e) { + LOG.error("Failed to generate CloudFront signed URL: {}", e.getMessage(), e); + } + } + + GetObjectPresignRequest presignRequest = + GetObjectPresignRequest.builder() + .signatureDuration(expiry) + .getObjectRequest(req -> req.bucket(actualBucketName).key(key)) + .build(); + + PresignedGetObjectRequest presignedRequest = presigner.presignGetObject(presignRequest); + return presignedRequest.url().toString(); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/context/ContextEntityPromptLoader.java b/openmetadata-service/src/main/java/org/openmetadata/service/context/ContextEntityPromptLoader.java new file mode 100644 index 000000000000..ab27d6756e0f --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/context/ContextEntityPromptLoader.java @@ -0,0 +1,11 @@ +package org.openmetadata.service.context; + +import jakarta.ws.rs.core.SecurityContext; +import java.util.Optional; +import org.openmetadata.schema.type.EntityReference; + +/** Resolves an entity reference into prompt-ready structured context. */ +@FunctionalInterface +interface ContextEntityPromptLoader { + Optional load(SecurityContext securityContext, EntityReference reference); +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/context/ContextEntityPromptService.java b/openmetadata-service/src/main/java/org/openmetadata/service/context/ContextEntityPromptService.java new file mode 100644 index 000000000000..5c7fdb33f37e --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/context/ContextEntityPromptService.java @@ -0,0 +1,305 @@ +package org.openmetadata.service.context; + +import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty; + +import jakarta.ws.rs.core.SecurityContext; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.regex.Pattern; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.service.security.Authorizer; + +/** Builds prompt-safe structured context from files and pages attached to a chat request. */ +public class ContextEntityPromptService { + static final int TOTAL_TOKEN_BUDGET = 2500; + static final int MAX_ENTITIES = 5; + static final int MAX_TOKENS_PER_ENTITY = 900; + private static final int MAX_RELEVANT_CHUNKS = 3; + private static final int CHUNK_TARGET_CHARS = 1600; + private static final int CHUNK_OVERLAP_CHARS = 250; + private static final Pattern NON_WORD = Pattern.compile("[^a-z0-9]+"); + private static final Set STOP_WORDS = + Set.of( + "a", "an", "and", "are", "as", "at", "be", "by", "can", "do", "for", "from", "how", "i", + "in", "is", "it", "of", "on", "or", "that", "the", "this", "to", "what", "when", "where", + "which", "who", "why", "with"); + + private final ContextEntityPromptLoader loader; + + public ContextEntityPromptService(Authorizer authorizer) { + this(new DefaultContextEntityPromptLoader(authorizer)); + } + + ContextEntityPromptService(ContextEntityPromptLoader loader) { + this.loader = loader; + } + + public ContextPromptInjectionResult assemble( + SecurityContext securityContext, List contextEntities) { + return assemble(securityContext, contextEntities, null); + } + + public ContextPromptInjectionResult assemble( + SecurityContext securityContext, List contextEntities, String query) { + if (contextEntities == null || contextEntities.isEmpty()) { + return ContextPromptInjectionResult.empty(); + } + + List deduplicated = deduplicate(contextEntities); + List usedEntityRefs = new ArrayList<>(); + StringBuilder prompt = new StringBuilder(); + int totalTokens = 0; + + for (EntityReference reference : deduplicated) { + if (usedEntityRefs.size() >= MAX_ENTITIES || totalTokens >= TOTAL_TOKEN_BUDGET) { + break; + } + + Optional resolved = loader.load(securityContext, reference); + if (resolved.isEmpty()) { + continue; + } + + String section = + buildSection( + resolved.get(), + query, + Math.min(TOTAL_TOKEN_BUDGET - totalTokens, MAX_TOKENS_PER_ENTITY)); + if (nullOrEmpty(section)) { + continue; + } + + prompt.append(section).append("\n\n"); + usedEntityRefs.add(resolved.get().reference()); + totalTokens += TokenCounter.countTokens(section); + } + + if (prompt.isEmpty()) { + return ContextPromptInjectionResult.empty(); + } + + String formatted = "\n" + prompt.toString().trim() + "\n"; + return new ContextPromptInjectionResult(formatted, List.copyOf(usedEntityRefs), totalTokens); + } + + private List deduplicate(List contextEntities) { + LinkedHashMap deduplicated = new LinkedHashMap<>(); + for (EntityReference reference : contextEntities) { + if (reference == null || reference.getId() == null || nullOrEmpty(reference.getType())) { + continue; + } + deduplicated.putIfAbsent(reference.getType() + ":" + reference.getId(), reference); + } + return new ArrayList<>(deduplicated.values()); + } + + private String buildSection(ResolvedContextEntity entity, String query, int maxTokens) { + if (maxTokens <= 0) { + return ""; + } + + StringBuilder header = new StringBuilder(); + header.append("### ").append(entity.label()).append(": ").append(entity.title()).append("\n"); + if (!nullOrEmpty(entity.location())) { + header.append("Reference: ").append(entity.location()).append("\n"); + } + if (!nullOrEmpty(entity.summary())) { + header.append("Summary: ").append(entity.summary()).append("\n"); + } + + String headerText = header.toString(); + int headerTokens = TokenCounter.countTokens(headerText); + if (headerTokens >= maxTokens) { + return truncateToTokens(headerText, maxTokens); + } + + String body = selectRelevantBody(entity.body(), query, maxTokens - headerTokens); + if (nullOrEmpty(body)) { + return headerText.trim(); + } + return (headerText + "Content:\n" + body).trim(); + } + + private String selectRelevantBody(String body, String query, int maxTokens) { + if (nullOrEmpty(body) || maxTokens <= 0) { + return ""; + } + if (TokenCounter.countTokens(body) <= maxTokens) { + return body; + } + List queryTerms = extractQueryTerms(query); + if (queryTerms.isEmpty()) { + return truncateToTokens(body, maxTokens); + } + + List chunks = buildChunks(body); + if (chunks.isEmpty()) { + return truncateToTokens(body, maxTokens); + } + + List ranked = + chunks.stream() + .map(chunk -> chunk.withScore(scoreChunk(chunk.text(), query, queryTerms))) + .filter(chunk -> chunk.score() > 0) + .sorted( + Comparator.comparingInt(ChunkCandidate::score) + .reversed() + .thenComparingInt(ChunkCandidate::index)) + .limit(MAX_RELEVANT_CHUNKS) + .toList(); + + if (ranked.isEmpty()) { + return truncateToTokens(body, maxTokens); + } + + List ordered = + ranked.stream().sorted(Comparator.comparingInt(ChunkCandidate::index)).toList(); + StringBuilder builder = new StringBuilder(); + for (ChunkCandidate chunk : ordered) { + if (builder.length() > 0) { + builder.append("\n...\n"); + } + builder.append(chunk.text()); + String assembled = truncateToTokens(builder.toString(), maxTokens); + if (!assembled.isEmpty() && !assembled.endsWith("[truncated]")) { + builder = new StringBuilder(assembled); + continue; + } + return assembled; + } + return truncateToTokens(builder.toString(), maxTokens); + } + + private List extractQueryTerms(String query) { + if (nullOrEmpty(query)) { + return List.of(); + } + LinkedHashSet terms = new LinkedHashSet<>(); + for (String raw : NON_WORD.split(query.toLowerCase())) { + if (raw.length() < 3 || STOP_WORDS.contains(raw)) { + continue; + } + terms.add(raw); + } + return List.copyOf(terms); + } + + private List buildChunks(String body) { + String normalized = body.trim(); + if (normalized.isEmpty()) { + return List.of(); + } + + List chunks = new ArrayList<>(); + int index = 0; + int start = 0; + int overlap = Math.min(CHUNK_OVERLAP_CHARS, CHUNK_TARGET_CHARS / 2); + while (start < normalized.length()) { + int end = Math.min(normalized.length(), start + CHUNK_TARGET_CHARS); + if (end < normalized.length()) { + int paragraphBreak = normalized.lastIndexOf("\n\n", end); + if (paragraphBreak > start + (CHUNK_TARGET_CHARS / 2)) { + end = paragraphBreak; + } else { + int lineBreak = normalized.lastIndexOf('\n', end); + if (lineBreak > start + (CHUNK_TARGET_CHARS / 2)) { + end = lineBreak; + } + } + } + + String chunk = normalized.substring(start, end).trim(); + if (!chunk.isEmpty()) { + chunks.add(new ChunkCandidate(index++, chunk, 0)); + } + if (end >= normalized.length()) { + break; + } + start = Math.max(end - overlap, start + 1); + } + return chunks; + } + + private int scoreChunk(String chunk, String query, List queryTerms) { + String lowerChunk = chunk.toLowerCase(); + String lowerQuery = query == null ? "" : query.toLowerCase().trim(); + int score = 0; + + if (!lowerQuery.isEmpty() && lowerChunk.contains(lowerQuery)) { + score += 20; + } + + int matchedTerms = 0; + for (String term : queryTerms) { + int count = countOccurrences(lowerChunk, term); + if (count > 0) { + matchedTerms++; + score += Math.min(count, 4) * 4; + } + } + + if (matchedTerms == queryTerms.size() && !queryTerms.isEmpty()) { + score += 10; + } else { + score += matchedTerms * 2; + } + + return score; + } + + private int countOccurrences(String text, String term) { + int count = 0; + int start = 0; + while (start >= 0) { + start = text.indexOf(term, start); + if (start < 0) { + break; + } + count++; + start += term.length(); + } + return count; + } + + static String truncateToTokens(String text, int maxTokens) { + if (nullOrEmpty(text) || maxTokens <= 0) { + return ""; + } + if (TokenCounter.countTokens(text) <= maxTokens) { + return text; + } + + String suffix = "\n[truncated]"; + int low = 0; + int high = text.length(); + String best = ""; + while (low <= high) { + int mid = (low + high) >>> 1; + String candidate = text.substring(0, mid).trim(); + if (candidate.isEmpty()) { + low = mid + 1; + continue; + } + + String candidateWithSuffix = candidate + suffix; + if (TokenCounter.countTokens(candidateWithSuffix) <= maxTokens) { + best = candidateWithSuffix; + low = mid + 1; + } else { + high = mid - 1; + } + } + return best; + } + + private record ChunkCandidate(int index, String text, int score) { + private ChunkCandidate withScore(int newScore) { + return new ChunkCandidate(index, text, newScore); + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/context/ContextPromptInjectionResult.java b/openmetadata-service/src/main/java/org/openmetadata/service/context/ContextPromptInjectionResult.java new file mode 100644 index 000000000000..b63fa5f700a4 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/context/ContextPromptInjectionResult.java @@ -0,0 +1,13 @@ +package org.openmetadata.service.context; + +import java.util.List; +import org.openmetadata.schema.type.EntityReference; + +/** Result of assembling structured entity context for AskCollate prompt injection. */ +public record ContextPromptInjectionResult( + String formattedContext, List usedEntityRefs, int totalTokens) { + + public static ContextPromptInjectionResult empty() { + return new ContextPromptInjectionResult("", List.of(), 0); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/context/DefaultContextEntityPromptLoader.java b/openmetadata-service/src/main/java/org/openmetadata/service/context/DefaultContextEntityPromptLoader.java new file mode 100644 index 000000000000..31183223e380 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/context/DefaultContextEntityPromptLoader.java @@ -0,0 +1,195 @@ +package org.openmetadata.service.context; + +import static org.openmetadata.service.jdbi3.KnowledgePageRepository.KNOWLEDGE_PAGE_ENTITY; +import static org.openmetadata.service.jdbi3.ContextFileRepository.CONTEXT_FILE_ENTITY; +import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty; + +import org.openmetadata.service.jdbi3.KnowledgePageRepository; +import org.openmetadata.service.jdbi3.ContextFileContentRepository; +import org.openmetadata.service.jdbi3.ContextFileRepository; +import org.openmetadata.schema.entity.data.Page; +import org.openmetadata.schema.entity.data.PageType; +import org.openmetadata.schema.entity.data.QuickLink; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileContent; +import jakarta.ws.rs.core.SecurityContext; +import java.util.Optional; +import java.util.UUID; +import lombok.extern.slf4j.Slf4j; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.type.MetadataOperation; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.Entity; +import org.openmetadata.service.security.Authorizer; +import org.openmetadata.service.security.policyevaluator.OperationContext; +import org.openmetadata.service.security.policyevaluator.ResourceContext; +import org.openmetadata.service.util.EntityUtil; + +@Slf4j +class DefaultContextEntityPromptLoader implements ContextEntityPromptLoader { + private record LoaderDependencies( + ContextFileRepository contextFileRepository, + ContextFileContentRepository contextFileContentRepository, + KnowledgePageRepository knowledgeCenterRepository) {} + + private final Authorizer authorizer; + private final ContextFileRepository contextFileRepository; + private final ContextFileContentRepository contextFileContentRepository; + private final KnowledgePageRepository knowledgeCenterRepository; + + DefaultContextEntityPromptLoader(Authorizer authorizer) { + this(authorizer, defaultDependencies()); + } + + private DefaultContextEntityPromptLoader(Authorizer authorizer, LoaderDependencies dependencies) { + this( + authorizer, + dependencies.contextFileRepository(), + dependencies.contextFileContentRepository(), + dependencies.knowledgeCenterRepository()); + } + + private static LoaderDependencies defaultDependencies() { + ContextFileRepository contextFileRepository = + (ContextFileRepository) Entity.getEntityRepository(CONTEXT_FILE_ENTITY); + return new LoaderDependencies( + contextFileRepository, + contextFileRepository == null ? null : contextFileRepository.getContentRepository(), + (KnowledgePageRepository) Entity.getEntityRepository(KNOWLEDGE_PAGE_ENTITY)); + } + + DefaultContextEntityPromptLoader( + Authorizer authorizer, + ContextFileRepository contextFileRepository, + ContextFileContentRepository contextFileContentRepository, + KnowledgePageRepository knowledgeCenterRepository) { + this.authorizer = authorizer; + this.contextFileRepository = contextFileRepository; + this.contextFileContentRepository = contextFileContentRepository; + this.knowledgeCenterRepository = knowledgeCenterRepository; + } + + @Override + public Optional load( + SecurityContext securityContext, EntityReference reference) { + if (reference == null || reference.getId() == null || nullOrEmpty(reference.getType())) { + return Optional.empty(); + } + + try { + return switch (reference.getType()) { + case CONTEXT_FILE_ENTITY -> loadContextFile(securityContext, reference); + case KNOWLEDGE_PAGE_ENTITY -> loadPage(securityContext, reference); + default -> Optional.empty(); + }; + } catch (Exception e) { + LOG.debug("Skipping context entity {} due to load failure", reference, e); + return Optional.empty(); + } + } + + private Optional loadContextFile( + SecurityContext securityContext, EntityReference reference) { + authorizeView(securityContext, reference); + + ContextFile file = + contextFileRepository.get( + null, + reference.getId(), + contextFileRepository.getFields("folder"), + Include.NON_DELETED, + false); + + String extractedText = resolveExtractedText(file); + String summary = normalize(file.getDescription()); + if (nullOrEmpty(extractedText) && nullOrEmpty(summary)) { + return Optional.empty(); + } + + return Optional.of( + new ResolvedContextEntity( + file.getEntityReference(), + file.getFileType() == null ? "File" : "File (" + file.getFileType() + ")", + firstNonBlank(file.getDisplayName(), file.getName()), + firstNonBlank(file.getFullyQualifiedName(), reference.getFullyQualifiedName()), + summary, + normalize(extractedText))); + } + + private Optional loadPage( + SecurityContext securityContext, EntityReference reference) { + authorizeView(securityContext, reference); + + Page page = + knowledgeCenterRepository.get( + null, reference.getId(), EntityUtil.Fields.EMPTY_FIELDS, Include.NON_DELETED, false); + + StringBuilder body = new StringBuilder(); + String description = normalize(page.getDescription()); + if (!nullOrEmpty(description)) { + body.append(description); + } + + if (page.getPageType() == PageType.QUICK_LINK && page.getPage() != null) { + QuickLink quickLink = JsonUtils.convertValue(page.getPage(), QuickLink.class); + if (quickLink != null && !nullOrEmpty(quickLink.getUrl())) { + if (body.length() > 0) { + body.append("\n"); + } + body.append("Quick link URL: ").append(quickLink.getUrl()); + } + } + + if (body.isEmpty()) { + return Optional.empty(); + } + + return Optional.of( + new ResolvedContextEntity( + page.getEntityReference(), + page.getPageType() == PageType.QUICK_LINK ? "Quick Link" : "Page", + firstNonBlank(page.getDisplayName(), page.getName()), + firstNonBlank(page.getFullyQualifiedName(), reference.getFullyQualifiedName()), + null, + body.toString())); + } + + private String resolveExtractedText(ContextFile file) { + UUID contentId = parseUuid(file.getHeadContentId()); + if (contentId != null && contextFileContentRepository != null) { + ContextFileContent content = contextFileContentRepository.getById(contentId); + if (content != null && !nullOrEmpty(content.getExtractedText())) { + return content.getExtractedText(); + } + } + return file.getExtractedText(); + } + + private void authorizeView(SecurityContext securityContext, EntityReference reference) { + authorizer.authorize( + securityContext, + new OperationContext(reference.getType(), MetadataOperation.VIEW_BASIC), + new ResourceContext<>( + reference.getType(), reference.getId(), reference.getFullyQualifiedName())); + } + + private String firstNonBlank(String primary, String fallback) { + return nullOrEmpty(primary) ? fallback : primary; + } + + private String normalize(String value) { + return nullOrEmpty(value) ? null : value.trim(); + } + + private UUID parseUuid(String value) { + if (nullOrEmpty(value)) { + return null; + } + try { + return UUID.fromString(value); + } catch (IllegalArgumentException e) { + return null; + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/context/ResolvedContextEntity.java b/openmetadata-service/src/main/java/org/openmetadata/service/context/ResolvedContextEntity.java new file mode 100644 index 000000000000..67f48a019492 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/context/ResolvedContextEntity.java @@ -0,0 +1,12 @@ +package org.openmetadata.service.context; + +import org.openmetadata.schema.type.EntityReference; + +/** Canonical prompt-ready representation of a context entity. */ +record ResolvedContextEntity( + EntityReference reference, + String label, + String title, + String location, + String summary, + String body) {} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/context/TokenCounter.java b/openmetadata-service/src/main/java/org/openmetadata/service/context/TokenCounter.java new file mode 100644 index 000000000000..58d81b708172 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/context/TokenCounter.java @@ -0,0 +1,27 @@ +/* + * Copyright 2021 Collate + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openmetadata.service.context; + +public final class TokenCounter { + private TokenCounter() {} + + public static int countTokens(String text) { + if (text == null || text.isEmpty()) { + return 0; + } + // Approximation: 1 token ≈ 4 characters for English text. Good enough for budget + // enforcement in prompt assembly. A jtokkit-based implementation can replace this + // if more accurate tokenization is required. + return Math.max(1, (text.length() + 3) / 4); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/drive/ContextFileExtractionService.java b/openmetadata-service/src/main/java/org/openmetadata/service/drive/ContextFileExtractionService.java new file mode 100644 index 000000000000..7aba40edd027 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/drive/ContextFileExtractionService.java @@ -0,0 +1,213 @@ +package org.openmetadata.service.drive; + +import static org.openmetadata.service.Entity.ADMIN_USER_NAME; + +import org.openmetadata.service.jdbi3.ContextFileRepository; +import org.openmetadata.schema.attachments.Asset; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileContent; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import org.openmetadata.service.attachments.AssetService; +import org.openmetadata.service.attachments.AssetServiceFactory; +import java.io.InputStream; +import java.util.UUID; +import java.util.concurrent.Executor; +import java.util.concurrent.RejectedExecutionException; +import java.util.function.Supplier; +import lombok.extern.slf4j.Slf4j; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.util.AsyncService; + +@Slf4j +public class ContextFileExtractionService { + private final ContextFileRepository repository; + private final Supplier assetServiceSupplier; + private final Executor executor; + private final ContextFileTextExtractor textExtractor; + + public ContextFileExtractionService(ContextFileRepository repository) { + this( + repository, + AssetServiceFactory::getService, + AsyncService.getInstance().getExecutorService(), + new ContextFileTextExtractor()); + } + + ContextFileExtractionService( + ContextFileRepository repository, + Supplier assetServiceSupplier, + Executor executor, + ContextFileTextExtractor textExtractor) { + this.repository = repository; + this.assetServiceSupplier = assetServiceSupplier; + this.executor = executor; + this.textExtractor = textExtractor; + } + + public void submit(UUID fileId, UUID contentId) { + try { + executor.execute(() -> process(fileId, contentId)); + } catch (RejectedExecutionException e) { + LOG.warn( + "Skipping text extraction for file {} because the async executor rejected it", fileId, e); + applyFailure(fileId, contentId, "Text extraction queue is full. Please retry later."); + } + } + + void process(UUID fileId, UUID contentId) { + ContextFile file = getFile(fileId); + if (file == null || !contentId.toString().equals(file.getHeadContentId())) { + return; + } + + updateFile( + fileId, + current -> { + if (!contentId.toString().equals(current.getHeadContentId())) { + return null; + } + ContextFile updated = JsonUtils.deepCopy(current, ContextFile.class); + updated.setProcessingStatus(ProcessingStatus.Analyzing); + return updated; + }); + updateContent( + contentId, + current -> { + ContextFileContent updated = JsonUtils.deepCopy(current, ContextFileContent.class); + updated.setProcessingStatus(ProcessingStatus.Analyzing); + updated.setProcessingError(null); + return updated; + }); + + try { + ContextFile currentFile = getFile(fileId); + ContextFileContent currentContent = getContent(contentId); + if (currentFile == null + || currentContent == null + || !contentId.toString().equals(currentFile.getHeadContentId())) { + return; + } + + AssetService assetService = assetServiceSupplier.get(); + if (assetService == null) { + applyFailure(fileId, contentId, "Object storage is not configured for text extraction"); + return; + } + + Asset asset = repository.getAssetRepository().getById(currentContent.getAssetId()); + try (InputStream inputStream = assetService.read(asset).join()) { + if (inputStream == null) { + applyFailure(fileId, contentId, "Unable to read file content from object storage"); + return; + } + ContextFileTextExtractor.ExtractionResult result = + textExtractor.extract(inputStream, currentFile); + applyResult(fileId, contentId, result); + } + } catch (Throwable t) { + if (t instanceof VirtualMachineError vmError) { + throw vmError; + } + LOG.error("Failed to extract text for file {} content {}", fileId, contentId, t); + applyFailure(fileId, contentId, describeFailure(t)); + } + } + + private String describeFailure(Throwable t) { + return t.getMessage() == null || t.getMessage().isBlank() ? t.toString() : t.getMessage(); + } + + private void applyResult( + UUID fileId, UUID contentId, ContextFileTextExtractor.ExtractionResult result) { + updateContent( + contentId, + current -> { + ContextFileContent updated = JsonUtils.deepCopy(current, ContextFileContent.class); + updated.setProcessingStatus(result.processingStatus()); + updated.setProcessingError(result.processingError()); + updated.setExtractedText(result.extractedText()); + return updated; + }); + + updateFile( + fileId, + current -> { + if (!contentId.toString().equals(current.getHeadContentId())) { + return null; + } + ContextFile updated = JsonUtils.deepCopy(current, ContextFile.class); + updated.setProcessingStatus(result.processingStatus()); + updated.setExtractedText(result.indexedText()); + updated.setPageCount(result.pageCount()); + return updated; + }); + } + + private void applyFailure(UUID fileId, UUID contentId, String reason) { + updateContent( + contentId, + current -> { + ContextFileContent updated = JsonUtils.deepCopy(current, ContextFileContent.class); + updated.setProcessingStatus(ProcessingStatus.Failed); + updated.setProcessingError(reason); + updated.setExtractedText(null); + return updated; + }); + + updateFile( + fileId, + current -> { + if (!contentId.toString().equals(current.getHeadContentId())) { + return null; + } + ContextFile updated = JsonUtils.deepCopy(current, ContextFile.class); + updated.setProcessingStatus(ProcessingStatus.Failed); + updated.setExtractedText(null); + updated.setPageCount(null); + return updated; + }); + } + + private ContextFile getFile(UUID fileId) { + try { + return repository.get(null, fileId, repository.getFields(""), Include.NON_DELETED, false); + } catch (Exception e) { + return null; + } + } + + private ContextFileContent getContent(UUID contentId) { + try { + return repository.getContentRepository().getById(contentId); + } catch (Exception e) { + return null; + } + } + + private void updateFile( + UUID fileId, java.util.function.Function updater) { + ContextFile current = getFile(fileId); + if (current == null) { + return; + } + ContextFile updated = updater.apply(current); + if (updated == null) { + return; + } + repository.update(null, current, updated, ADMIN_USER_NAME); + } + + private void updateContent( + UUID contentId, java.util.function.Function updater) { + ContextFileContent current = getContent(contentId); + if (current == null) { + return; + } + ContextFileContent updated = updater.apply(current); + if (updated == null) { + return; + } + repository.getContentRepository().update(null, current, updated, ADMIN_USER_NAME); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/drive/ContextFileTextExtractor.java b/openmetadata-service/src/main/java/org/openmetadata/service/drive/ContextFileTextExtractor.java new file mode 100644 index 000000000000..c3b653ccb22e --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/drive/ContextFileTextExtractor.java @@ -0,0 +1,357 @@ +package org.openmetadata.service.drive; + +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileType; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Collections; +import java.util.StringJoiner; +import lombok.Builder; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.text.PDFTextStripper; +import org.apache.poi.extractor.ExtractorFactory; +import org.apache.poi.extractor.POITextExtractor; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.DataFormatter; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; +import org.apache.tika.exception.TikaConfigException; +import org.apache.tika.exception.TikaException; +import org.apache.tika.metadata.Metadata; +import org.apache.tika.parser.ParseContext; +import org.apache.tika.parser.ocr.TesseractOCRConfig; +import org.apache.tika.parser.ocr.TesseractOCRParser; +import org.apache.tika.sax.BodyContentHandler; +import org.xml.sax.SAXException; + +public class ContextFileTextExtractor { + static final int MAX_CANONICAL_TEXT_LENGTH = 1_000_000; + static final int MAX_INDEXED_TEXT_LENGTH = 200_000; + public static final String TIKA_TESSERACT_PATH_PROPERTY = "collate.tika.tesseract.path"; + public static final String TIKA_TESSERACT_PATH_ENV = "COLLATE_TIKA_TESSERACT_PATH"; + public static final String TIKA_TESSDATA_PATH_PROPERTY = "collate.tika.tessdata.path"; + public static final String TIKA_TESSDATA_PATH_ENV = "COLLATE_TIKA_TESSDATA_PATH"; + @Deprecated public static final String TESSERACT_COMMAND_PROPERTY = "collate.tesseract.command"; + @Deprecated public static final String TESSERACT_COMMAND_ENV = "COLLATE_TESSERACT_COMMAND"; + private static final long OCR_TIMEOUT_SECONDS = 60; + + private final ImageOcrEngine imageOcrEngine; + + public ContextFileTextExtractor() { + this(new TesseractImageOcrEngine()); + } + + ContextFileTextExtractor(ImageOcrEngine imageOcrEngine) { + this.imageOcrEngine = imageOcrEngine; + } + + public ExtractionResult extract(InputStream inputStream, ContextFile file) throws IOException { + if (inputStream == null) { + throw new IOException("No file stream available for extraction"); + } + + ContextFileType fileType = file.getFileType() == null ? ContextFileType.Other : file.getFileType(); + return switch (fileType) { + case PDF -> extractPdf(inputStream, file.getFileExtension()); + case Spreadsheet -> extractSpreadsheet(inputStream, file.getFileExtension()); + case Document, Presentation -> extractOfficeDocument(inputStream, file.getFileExtension()); + case CSV, Text -> extractPlainText(inputStream); + case Image -> extractImage(inputStream, file.getFileExtension()); + case Archive, Other -> ExtractionResult.unsupported( + "Text extraction is not supported for file type " + fileType); + }; + } + + private ExtractionResult extractPlainText(InputStream inputStream) throws IOException { + String text = readText(inputStream, MAX_CANONICAL_TEXT_LENGTH); + return ExtractionResult.processed(text, null); + } + + private ExtractionResult extractPdf(InputStream inputStream, String fileExtension) + throws IOException { + Path tempFile = spoolToTempFile(inputStream, fileExtension); + try (PDDocument document = PDDocument.load(tempFile.toFile())) { + String text = new PDFTextStripper().getText(document); + return ExtractionResult.processed(text, document.getNumberOfPages()); + } finally { + Files.deleteIfExists(tempFile); + } + } + + private ExtractionResult extractSpreadsheet(InputStream inputStream, String fileExtension) + throws IOException { + Path tempFile = spoolToTempFile(inputStream, fileExtension); + try (Workbook workbook = WorkbookFactory.create(tempFile.toFile())) { + DataFormatter formatter = new DataFormatter(); + StringBuilder text = new StringBuilder(); + for (int i = 0; i < workbook.getNumberOfSheets(); i++) { + Sheet sheet = workbook.getSheetAt(i); + if (text.length() > 0) { + text.append('\n'); + } + text.append("Sheet: ").append(sheet.getSheetName()).append('\n'); + for (Row row : sheet) { + StringJoiner joiner = new StringJoiner("\t"); + for (Cell cell : row) { + String formatted = formatter.formatCellValue(cell); + if (formatted != null && !formatted.isBlank()) { + joiner.add(formatted.trim()); + } + } + String rowText = joiner.toString(); + if (!rowText.isBlank()) { + text.append(rowText).append('\n'); + } + if (text.length() >= MAX_CANONICAL_TEXT_LENGTH) { + break; + } + } + if (text.length() >= MAX_CANONICAL_TEXT_LENGTH) { + break; + } + } + return ExtractionResult.processed(text.toString(), workbook.getNumberOfSheets()); + } finally { + Files.deleteIfExists(tempFile); + } + } + + private ExtractionResult extractOfficeDocument(InputStream inputStream, String fileExtension) + throws IOException { + Path tempFile = spoolToTempFile(inputStream, fileExtension); + try (POITextExtractor extractor = ExtractorFactory.createExtractor(tempFile.toFile())) { + return ExtractionResult.processed(extractor.getText(), null); + } finally { + Files.deleteIfExists(tempFile); + } + } + + private ExtractionResult extractImage(InputStream inputStream, String fileExtension) + throws IOException { + Path tempFile = spoolToTempFile(inputStream, fileExtension); + try { + if (!imageOcrEngine.isAvailable()) { + return ExtractionResult.unsupported( + "Image OCR requires tesseract to be installed and configured for Apache Tika"); + } + return ExtractionResult.processed(imageOcrEngine.extract(tempFile), 1); + } finally { + Files.deleteIfExists(tempFile); + } + } + + private Path spoolToTempFile(InputStream inputStream, String fileExtension) throws IOException { + String suffix = fileExtension == null || fileExtension.isBlank() ? ".bin" : "." + fileExtension; + Path tempFile = Files.createTempFile("context-file-extract-", suffix); + try (OutputStream outputStream = Files.newOutputStream(tempFile)) { + inputStream.transferTo(outputStream); + } catch (IOException | RuntimeException e) { + Files.deleteIfExists(tempFile); + throw e; + } + return tempFile; + } + + private String readText(InputStream inputStream, int maxChars) throws IOException { + StringBuilder builder = new StringBuilder(Math.min(maxChars, 8192)); + try (BufferedReader reader = + new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) { + char[] buffer = new char[4096]; + int read; + while ((read = reader.read(buffer)) != -1) { + int remaining = maxChars - builder.length(); + if (remaining <= 0) { + break; + } + builder.append(buffer, 0, Math.min(read, remaining)); + } + } + return normalize(builder.toString()); + } + + static String normalize(String text) { + if (text == null || text.isBlank()) { + return ""; + } + String normalized = text.replace("\u0000", "").replace("\r\n", "\n").replace('\r', '\n'); + return normalized.trim(); + } + + static String truncate(String text, int maxLength) { + if (text == null || text.length() <= maxLength) { + return text; + } + return text.substring(0, maxLength); + } + + @Builder + public record ExtractionResult( + ProcessingStatus processingStatus, + String extractedText, + String indexedText, + Integer pageCount, + String processingError) { + static ExtractionResult processed(String text, Integer pageCount) { + String normalized = normalize(text); + return new ExtractionResult( + ProcessingStatus.Processed, + truncate(normalized, MAX_CANONICAL_TEXT_LENGTH), + truncate(normalized, MAX_INDEXED_TEXT_LENGTH), + pageCount, + null); + } + + static ExtractionResult unsupported(String reason) { + return new ExtractionResult(ProcessingStatus.Unsupported, null, null, null, reason); + } + } + + interface ImageOcrEngine { + boolean isAvailable(); + + String extract(Path imagePath) throws IOException; + } + + static class TesseractImageOcrEngine implements ImageOcrEngine { + private volatile Boolean available; + private volatile String availableForConfiguration; + + @Override + public boolean isAvailable() { + String configuration = resolveAvailabilityConfiguration(); + Boolean cached = available; + if (cached != null && configuration.equals(availableForConfiguration)) { + return cached; + } + synchronized (this) { + configuration = resolveAvailabilityConfiguration(); + if (available != null && configuration.equals(availableForConfiguration)) { + return available; + } + available = detectAvailability(); + availableForConfiguration = configuration; + return available; + } + } + + @Override + public String extract(Path imagePath) throws IOException { + try { + TesseractOCRParser parser = createParser(); + TesseractOCRConfig config = createConfig(); + ParseContext parseContext = new ParseContext(); + parseContext.set(TesseractOCRConfig.class, config); + BodyContentHandler handler = new BodyContentHandler(-1); + Metadata metadata = new Metadata(); + + try (InputStream stream = Files.newInputStream(imagePath)) { + parser.parse(stream, handler, metadata, parseContext); + } + return handler.toString(); + } catch (TikaConfigException e) { + throw new IOException("Invalid Apache Tika OCR configuration", e); + } catch (TikaException | SAXException e) { + throw new IOException("Apache Tika OCR failed", e); + } + } + + private boolean detectAvailability() { + try { + return createParser().hasTesseract(); + } catch (TikaConfigException e) { + return false; + } + } + + private TesseractOCRParser createParser() throws TikaConfigException { + TesseractOCRParser parser = new TesseractOCRParser(); + String tesseractPath = resolveTesseractPath(); + if (!tesseractPath.isBlank()) { + parser.setTesseractPath(tesseractPath); + } + String tessdataPath = resolveTessdataPath(); + if (!tessdataPath.isBlank()) { + parser.setTessdataPath(tessdataPath); + } + parser.initialize(Collections.emptyMap()); + return parser; + } + + private TesseractOCRConfig createConfig() { + TesseractOCRConfig config = new TesseractOCRConfig(); + config.setTimeoutSeconds((int) OCR_TIMEOUT_SECONDS); + return config; + } + + private String resolveAvailabilityConfiguration() { + return resolveTesseractPath() + "|" + resolveTessdataPath(); + } + + private String resolveTesseractPath() { + String configuredValue = + firstNonBlankPropertyOrEnv( + TIKA_TESSERACT_PATH_PROPERTY, + TIKA_TESSERACT_PATH_ENV, + TESSERACT_COMMAND_PROPERTY, + TESSERACT_COMMAND_ENV); + if (configuredValue == null) { + return ""; + } + return normalizeTesseractPath(configuredValue); + } + + private String resolveTessdataPath() { + String configuredValue = + firstNonBlankPropertyOrEnv(TIKA_TESSDATA_PATH_PROPERTY, TIKA_TESSDATA_PATH_ENV); + if (configuredValue == null) { + return ""; + } + return Path.of(configuredValue.trim()).normalize().toString(); + } + + private String firstNonBlankPropertyOrEnv( + String propertyName, String envName, String fallbackPropertyName, String fallbackEnvName) { + String configuredValue = firstNonBlankPropertyOrEnv(propertyName, envName); + if (configuredValue != null) { + return configuredValue; + } + return firstNonBlankPropertyOrEnv(fallbackPropertyName, fallbackEnvName); + } + + private String firstNonBlankPropertyOrEnv(String propertyName, String envName) { + String propertyValue = System.getProperty(propertyName); + if (propertyValue != null && !propertyValue.isBlank()) { + return propertyValue.trim(); + } + + String envValue = System.getenv(envName); + if (envValue != null && !envValue.isBlank()) { + return envValue.trim(); + } + + return null; + } + + private String normalizeTesseractPath(String configuredValue) { + Path path = Path.of(configuredValue.trim()).normalize(); + Path fileName = path.getFileName(); + if (fileName != null) { + String lastSegment = fileName.toString(); + if ("tesseract".equals(lastSegment) || "tesseract.exe".equalsIgnoreCase(lastSegment)) { + Path parent = path.getParent(); + return parent == null ? "" : parent.toString(); + } + } + return path.toString(); + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AssetRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AssetRepository.java new file mode 100644 index 000000000000..17e47bce02a0 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AssetRepository.java @@ -0,0 +1,124 @@ +/* + * Copyright 2021 Collate + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openmetadata.service.jdbi3; + +import java.util.List; +import java.util.UUID; +import lombok.extern.slf4j.Slf4j; +import org.openmetadata.schema.attachments.Asset; +import org.openmetadata.schema.attachments.AssetType; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.exception.CatalogExceptionMessage; +import org.openmetadata.service.exception.EntityNotFoundException; +import org.openmetadata.service.resources.feeds.MessageParser; + +@Slf4j +public class AssetRepository { + private final CollectionDAO.AssetDAO dao; + private static final String ENTITY_TYPE = "Asset"; + + public AssetRepository(CollectionDAO.AssetDAO dao) { + this.dao = dao; + } + + public Asset create(Asset asset) { + if (asset.getId() == null || asset.getId().isEmpty()) { + asset.setId(UUID.randomUUID().toString()); + } + + MessageParser.EntityLink entityLink = MessageParser.EntityLink.parse(asset.getEntityLink()); + String json = JsonUtils.pojoToJson(asset); + try { + dao.insert(entityLink.getEntityFQN(), json); + LOG.info("Created asset with id {}", asset.getId()); + } catch (Exception e) { + LOG.error("Failed to create asset with id {}: {}", asset.getId(), e.getMessage(), e); + throw e; + } + return asset; + } + + public List getByFQN(String fqn, AssetType assetType) { + try { + List json = dao.getByFqnExact(assetType.value(), fqn); + if (json == null) { + throw EntityNotFoundException.byMessage( + CatalogExceptionMessage.entityNotFound(ENTITY_TYPE, fqn)); + } + return JsonUtils.readObjects(json, Asset.class); + } catch (Exception e) { + LOG.error("Failed to read asset with id {}: {}", fqn, e.getMessage(), e); + throw e; + } + } + + public Asset getById(String id) { + try { + String json = dao.getById(id); + if (json == null) { + throw EntityNotFoundException.byMessage( + CatalogExceptionMessage.entityNotFound(ENTITY_TYPE, id)); + } + return JsonUtils.readValue(json, Asset.class); + } catch (Exception e) { + LOG.error("Failed to get asset with id {}: {}", id, e.getMessage(), e); + throw e; + } + } + + public List getByFqnPrefix(String fqnPrefix, AssetType assetType) { + try { + List jsonList = dao.getByFqnPrefix(fqnPrefix, assetType.value()); + if (jsonList == null || jsonList.isEmpty()) { + throw EntityNotFoundException.byMessage( + CatalogExceptionMessage.entityNotFound(ENTITY_TYPE, fqnPrefix)); + } + return JsonUtils.readObjects(jsonList, Asset.class); + } catch (Exception e) { + LOG.error("Failed to get assets with fqnPrefix {}: {}", fqnPrefix, e.getMessage(), e); + throw e; + } + } + + public Asset update(Asset asset) { + String json = JsonUtils.pojoToJson(asset); + try { + dao.update(json, asset.getFullyQualifiedName()); + LOG.info("Updated asset with id {}", asset.getId()); + } catch (Exception e) { + LOG.error("Failed to update asset with id {}: {}", asset.getId(), e.getMessage(), e); + throw e; + } + return asset; + } + + public void markDeleted(String fqnPrefix) { + try { + dao.markDeletedByFqnPrefix(fqnPrefix); + LOG.info("Marked asset {} as deleted", fqnPrefix); + } catch (Exception e) { + LOG.error("Failed to mark asset {} as deleted: {}", fqnPrefix, e.getMessage(), e); + throw e; + } + } + + public void delete(String id) { + try { + dao.delete(id); + LOG.info("Deleted asset {}", id); + } catch (Exception e) { + LOG.error("Failed to delete asset {}: {}", id, e.getMessage(), e); + throw e; + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/CollectionDAO.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/CollectionDAO.java index 2ab6d5f7867b..385571163f0f 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/CollectionDAO.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/CollectionDAO.java @@ -375,6 +375,21 @@ public interface CollectionDAO { @CreateSqlObject WorksheetDAO worksheetDAO(); + @CreateSqlObject + FolderDAO folderDAO(); + + @CreateSqlObject + ContextFileDAO contextFileDAO(); + + @CreateSqlObject + ContextFileContentDAO contextFileContentDAO(); + + @CreateSqlObject + KnowledgePageDAO knowledgePageDAO(); + + @CreateSqlObject + AssetDAO assetDAO(); + @CreateSqlObject FeedDAO feedDAO(); @@ -12369,4 +12384,173 @@ public OAuthRecords.McpPendingAuthRequest map(ResultSet rs, StatementContext ctx rs.getLong("expires_at")); } } + + interface FolderDAO extends EntityDAO { + @Override + default String getTableName() { + return "drive_folder"; + } + + @Override + default Class getEntityClass() { + return org.openmetadata.schema.entity.data.Folder.class; + } + + @Override + default String getNameHashColumn() { + return "nameHash"; + } + } + + interface ContextFileDAO extends EntityDAO { + @Override + default String getTableName() { + return "context_file"; + } + + @Override + default Class getEntityClass() { + return org.openmetadata.schema.entity.data.ContextFile.class; + } + + @Override + default String getNameHashColumn() { + return "nameHash"; + } + } + + interface ContextFileContentDAO + extends EntityDAO { + @Override + default String getTableName() { + return "context_file_content"; + } + + @Override + default Class getEntityClass() { + return org.openmetadata.schema.entity.data.ContextFileContent.class; + } + + @Override + default String getNameHashColumn() { + return "nameHash"; + } + + @ConnectionAwareSqlQuery( + value = + "SELECT json FROM context_file_content " + + "WHERE JSON_UNQUOTE(JSON_EXTRACT(json, '$.contextFile.id')) = :contextFileId", + connectionType = MYSQL) + @ConnectionAwareSqlQuery( + value = + "SELECT json FROM context_file_content " + + "WHERE json->'contextFile'->>'id' = :contextFileId", + connectionType = POSTGRES) + List listByContextFileId(@Bind("contextFileId") String contextFileId); + } + + interface KnowledgePageDAO extends EntityDAO { + @Override + default String getTableName() { + return "knowledge_center"; + } + + @Override + default Class getEntityClass() { + return org.openmetadata.schema.entity.data.Page.class; + } + + @Override + default String getNameHashColumn() { + return "fqnHash"; + } + + @Override + default boolean supportsSoftDelete() { + return false; + } + + @SqlQuery( + "SELECT json " + + "FROM knowledge_center " + + "WHERE id NOT IN (" + + " SELECT toId FROM entity_relationship WHERE (relation = 0 AND toEntity = 'page') OR (relation = 9 AND toEntity = 'page')" + + ")") + List listTopLevelPages(); + + @SqlQuery( + "SELECT kc.json " + + "FROM knowledge_center kc " + + "JOIN entity_relationship er ON kc.id = er.toId " + + "WHERE er.fromId = :parentId " + + "AND (er.relation = 9 or er.relation = 0) " + + "AND er.toEntity = 'page'") + List listChildren(@Bind("parentId") String parentId); + + @ConnectionAwareSqlUpdate( + value = "UPDATE knowledge_center SET json = :json, fqnHash = :fqnHash WHERE id = :id", + connectionType = MYSQL) + @ConnectionAwareSqlUpdate( + value = + "UPDATE knowledge_center SET json = :json::jsonb, fqnHash = :fqnHash WHERE id = :id", + connectionType = POSTGRES) + void updateFullyQualifiedName( + @Bind("id") String pageId, + @Bind("json") String json, + @BindFQN("fqnHash") String fqnHash); + } + + interface AssetDAO { + @ConnectionAwareSqlUpdate( + value = "INSERT INTO asset_entity (json, fqnHash) VALUES (:json, :fqnHash)", + connectionType = MYSQL) + @ConnectionAwareSqlUpdate( + value = "INSERT INTO asset_entity (json, fqnHash) VALUES (:json :: jsonb, :fqnHash)", + connectionType = POSTGRES) + void insert(@BindFQN("fqnHash") String fqnHash, @Bind("json") String json); + + @ConnectionAwareSqlUpdate( + value = "UPDATE asset_entity SET json = :json WHERE fqnHash = :fqnHash", + connectionType = MYSQL) + @ConnectionAwareSqlUpdate( + value = "UPDATE asset_entity SET json = :json::jsonb WHERE fqnHash = :fqnHash", + connectionType = POSTGRES) + void update(@Bind("json") String json, @BindFQN("fqnHash") String fqnHash); + + @SqlQuery("SELECT json FROM asset_entity WHERE id = :id") + String getById(@Bind("id") String id); + + @SqlQuery( + "SELECT json FROM asset_entity WHERE LOWER(assetType) = LOWER(:assetType) AND fqnHash = :fqnHash") + List getByFqnExact( + @Bind("assetType") String assetType, @BindFQN("fqnHash") String fullyQualifiedName); + + @SqlQuery( + "SELECT json FROM asset_entity WHERE LOWER(assetType) = LOWER(:assetType) AND fqnHash LIKE :concatFqnPrefixHash") + List getByFqnPrefix( + @Bind("assetType") String assetType, + @org.openmetadata.service.util.jdbi.BindConcat( + value = "concatFqnPrefixHash", + parts = {":fqnPrefixHash", "%"}, + hash = true) + String fqnPrefixHash); + + @ConnectionAwareSqlUpdate( + value = + "UPDATE asset_entity SET json = JSON_SET(json, '$.deleted', true) " + + "WHERE fqnHash LIKE :prefix", + connectionType = MYSQL) + @ConnectionAwareSqlUpdate( + value = + "UPDATE asset_entity SET json = jsonb_set(json, '{deleted}', 'true') " + + "WHERE fqnHash LIKE :prefix", + connectionType = POSTGRES) + void markDeletedByFqnPrefix(@BindFQN("prefix") String prefix); + + @SqlUpdate("DELETE FROM asset_entity WHERE fqnHash LIKE :prefix") + void deleteByFqnPrefix(@BindFQN("prefix") String prefix); + + @SqlUpdate("DELETE FROM asset_entity WHERE id = :id") + void delete(@Bind("id") String id); + } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ContextFileContentRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ContextFileContentRepository.java new file mode 100644 index 000000000000..ebe61132fb5a --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ContextFileContentRepository.java @@ -0,0 +1,113 @@ +package org.openmetadata.service.jdbi3; + +import org.openmetadata.service.jdbi3.CollectionDAO; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileContent; +import java.util.UUID; +import org.jdbi.v3.core.Jdbi; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.type.change.ChangeSource; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.Entity; +import org.openmetadata.service.jdbi3.EntityRepository; +import org.openmetadata.service.jdbi3.Repository; +import org.openmetadata.service.util.EntityUtil; +import org.openmetadata.service.util.EntityUtil.RelationIncludes; +import org.openmetadata.service.util.FullyQualifiedName; + +@Repository +public class ContextFileContentRepository extends EntityRepository { + public static final String CONTEXT_FILE_CONTENT_ENTITY = "contextFileContent"; + + public ContextFileContentRepository(Jdbi jdbi) { + super( + null, + CONTEXT_FILE_CONTENT_ENTITY, + ContextFileContent.class, + jdbi.onDemand(CollectionDAO.class).contextFileContentDAO(), + "", + ""); + } + + @Override + public void setFields( + ContextFileContent entity, EntityUtil.Fields fields, RelationIncludes relationIncludes) { + // No relationship-backed fields for now. + } + + @Override + public void clearFields(ContextFileContent entity, EntityUtil.Fields fields) { + // No relationship-backed fields for now. + } + + @Override + public void setFullyQualifiedName(ContextFileContent entity) { + if (entity.getContextFile() == null + || entity.getContextFile().getFullyQualifiedName() == null + || entity.getContextFile().getFullyQualifiedName().isEmpty()) { + entity.setFullyQualifiedName(entity.getName()); + return; + } + entity.setFullyQualifiedName( + FullyQualifiedName.add(entity.getContextFile().getFullyQualifiedName(), entity.getName())); + } + + @Override + public void prepare(ContextFileContent entity, boolean update) { + if (entity.getContextFile() != null) { + ContextFile file = + Entity.getEntity( + ContextFileRepository.CONTEXT_FILE_ENTITY, + entity.getContextFile().getId(), + "", + Include.ALL); + entity.setContextFile(file.getEntityReference()); + } + } + + @Override + public void storeEntity(ContextFileContent entity, boolean update) { + store(entity, update); + } + + @Override + public void storeRelationships(ContextFileContent entity) { + // No relationship-backed fields for now. + } + + @Override + public EntityUpdater getUpdater( + ContextFileContent original, + ContextFileContent updated, + Operation operation, + ChangeSource source) { + return new ContextFileContentUpdater(original, updated, operation); + } + + public ContextFileContent getById(UUID id) { + return get(null, id, getFields(""), Include.NON_DELETED, false); + } + + public java.util.List listByContextFileId(UUID contextFileId) { + return JsonUtils.readObjects( + ((CollectionDAO.ContextFileContentDAO) dao).listByContextFileId(contextFileId.toString()), + ContextFileContent.class); + } + + public class ContextFileContentUpdater extends EntityUpdater { + public ContextFileContentUpdater( + ContextFileContent original, ContextFileContent updated, Operation operation) { + super(original, updated, operation); + } + + @Override + public void entitySpecificUpdate(boolean consolidatingChanges) { + recordChange("assetId", original.getAssetId(), updated.getAssetId()); + recordChange("isCurrent", original.getIsCurrent(), updated.getIsCurrent()); + recordChange( + "processingStatus", original.getProcessingStatus(), updated.getProcessingStatus()); + recordChange("processingError", original.getProcessingError(), updated.getProcessingError()); + recordChange("extractedText", original.getExtractedText(), updated.getExtractedText()); + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ContextFileRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ContextFileRepository.java new file mode 100644 index 000000000000..473e41f925c7 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ContextFileRepository.java @@ -0,0 +1,240 @@ +package org.openmetadata.service.jdbi3; + +import static org.openmetadata.service.jdbi3.FolderRepository.FOLDER_ENTITY; +import static org.openmetadata.service.Entity.ADMIN_USER_NAME; + +import org.openmetadata.service.jdbi3.AssetRepository; +import org.openmetadata.service.jdbi3.CollectionDAO; +import org.openmetadata.service.resources.drive.ContextFileResource; +import org.openmetadata.schema.attachments.Asset; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileContent; +import org.openmetadata.schema.entity.data.Folder; +import org.openmetadata.service.attachments.AssetService; +import org.openmetadata.service.attachments.AssetServiceFactory; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.RejectedExecutionException; +import lombok.extern.slf4j.Slf4j; +import org.jdbi.v3.core.Jdbi; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.type.Relationship; +import org.openmetadata.schema.type.change.ChangeSource; +import org.openmetadata.service.Entity; +import org.openmetadata.service.jdbi3.EntityRepository; +import org.openmetadata.service.jdbi3.Repository; +import org.openmetadata.service.util.EntityUtil; +import org.openmetadata.service.util.EntityUtil.RelationIncludes; +import org.openmetadata.service.util.FullyQualifiedName; + +@Slf4j +@Repository +public class ContextFileRepository extends EntityRepository { + public static final String CONTEXT_FILE_ENTITY = "contextFile"; + private final AssetRepository assetRepository; + private final ContextFileContentRepository contentRepository; + + public ContextFileRepository(Jdbi jdbi) { + super( + ContextFileResource.COLLECTION_PATH, + CONTEXT_FILE_ENTITY, + ContextFile.class, + jdbi.onDemand(CollectionDAO.class).contextFileDAO(), + "", + ""); + supportsSearch = true; + // NOTE: SearchIndexFactory registration handled by OpenMetadata core + CollectionDAO dao = jdbi.onDemand(CollectionDAO.class); + this.assetRepository = new AssetRepository(dao.assetDAO()); + this.contentRepository = new ContextFileContentRepository(jdbi); + } + + public AssetRepository getAssetRepository() { + return assetRepository; + } + + public ContextFileContentRepository getContentRepository() { + return contentRepository; + } + + @Override + public void setFields( + ContextFile file, EntityUtil.Fields fields, RelationIncludes relationIncludes) { + file.setFolder(fields.contains("folder") ? getFolder(file) : file.getFolder()); + } + + @Override + public void clearFields(ContextFile file, EntityUtil.Fields fields) { + file.setFolder(fields.contains("folder") ? file.getFolder() : null); + } + + @Override + public void setFieldsInBulk(EntityUtil.Fields fields, List entities) { + if (entities == null || entities.isEmpty()) { + return; + } + + if (fields.contains("folder")) { + var folderMap = batchFetchFromIdsAndRelationSingleRelation(entities, Relationship.CONTAINS); + entities.forEach(file -> file.setFolder(folderMap.get(file.getId()))); + } + + fetchAndSetFields(entities, fields); + setInheritedFields(entities, fields); + entities.forEach(entity -> clearFieldsInternal(entity, fields)); + } + + @Override + public void setFullyQualifiedName(ContextFile file) { + if (file.getFolder() == null) { + file.setFullyQualifiedName(file.getName()); + } else { + Folder folder = Entity.getEntity(FOLDER_ENTITY, file.getFolder().getId(), "", Include.ALL); + file.setFullyQualifiedName( + FullyQualifiedName.add(folder.getFullyQualifiedName(), file.getName())); + } + } + + @Override + public void prepare(ContextFile file, boolean update) { + if (file.getFolder() != null) { + Folder folder = Entity.getEntity(file.getFolder(), "", Include.NON_DELETED); + file.setFolder(folder.getEntityReference()); + } + } + + @Override + public void storeEntity(ContextFile file, boolean update) { + EntityReference folder = file.getFolder(); + file.withFolder(null); + store(file, update); + file.withFolder(folder); + } + + @Override + public void storeRelationships(ContextFile file) { + if (file.getFolder() != null) { + addRelationship( + file.getFolder().getId(), + file.getId(), + FOLDER_ENTITY, + CONTEXT_FILE_ENTITY, + Relationship.CONTAINS); + } + } + + @Override + public void restorePatchAttributes(ContextFile original, ContextFile updated) { + updated.withFolder(original.getFolder()); + } + + @Override + public EntityUpdater getUpdater( + ContextFile original, ContextFile updated, Operation operation, ChangeSource source) { + return new ContextFileUpdater(original, updated, operation); + } + + private EntityReference getFolder(ContextFile file) { + return getFromEntityRef(file.getId(), Relationship.CONTAINS, FOLDER_ENTITY, false); + } + + public class ContextFileUpdater extends EntityUpdater { + public ContextFileUpdater(ContextFile original, ContextFile updated, Operation operation) { + super(original, updated, operation); + } + + @Override + public void entitySpecificUpdate(boolean consolidatingChanges) { + recordChange("fileType", original.getFileType(), updated.getFileType()); + recordChange( + "processingStatus", original.getProcessingStatus(), updated.getProcessingStatus()); + recordChange("extractedText", original.getExtractedText(), updated.getExtractedText()); + recordChange("pageCount", original.getPageCount(), updated.getPageCount()); + } + } + + @Override + protected void entitySpecificCleanup(ContextFile entityInterface) { + List contents = + new ArrayList<>(contentRepository.listByContextFileId(entityInterface.getId())); + if (contents.isEmpty()) { + UUID headContentId = parseUuid(entityInterface.getHeadContentId()); + if (headContentId != null) { + try { + ContextFileContent headContent = contentRepository.getById(headContentId); + if (headContent != null) { + contents.add(headContent); + } + } catch (Exception ignored) { + // Fall through to legacy asset cleanup when the content row was never persisted. + } + } + } + + for (ContextFileContent content : contents) { + deleteContentSnapshot(content); + } + + if (contents.isEmpty() + && entityInterface.getAssetId() != null + && !entityInterface.getAssetId().isEmpty()) { + deleteAsset(entityInterface.getAssetId()); + } + } + + public ContextFileContent getContentById(String id) { + UUID contentId = parseUuid(id); + return contentId == null ? null : contentRepository.getById(contentId); + } + + private UUID parseUuid(String value) { + if (value == null || value.isEmpty()) { + return null; + } + try { + return UUID.fromString(value); + } catch (IllegalArgumentException ex) { + return null; + } + } + + private void deleteContentSnapshot(ContextFileContent content) { + if (content.getAssetId() != null && !content.getAssetId().isEmpty()) { + deleteAsset(content.getAssetId()); + } + + contentRepository.delete(ADMIN_USER_NAME, content.getId(), false, true); + } + + private void deleteAsset(String assetId) { + AssetService assetService = AssetServiceFactory.getService(); + Asset asset = null; + try { + asset = assetRepository.getById(assetId); + } catch (Exception ignored) { + // If the asset metadata is already gone, continue deleting any remaining references. + } + if (asset != null && assetService != null) { + try { + assetService + .delete(asset) + .thenRun(() -> assetRepository.delete(assetId)) + .exceptionally( + ex -> { + LOG.error( + "Failed to delete asset {} from storage, metadata retained", assetId, ex); + return null; + }); + } catch (RejectedExecutionException e) { + LOG.warn( + "Object delete queue is full for asset {}. Storage cleanup deferred and metadata retained", + assetId, + e); + } + } else { + assetRepository.delete(assetId); + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DaoListFilter.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DaoListFilter.java new file mode 100644 index 000000000000..fc4fd3ce37eb --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DaoListFilter.java @@ -0,0 +1,46 @@ +/* + * Copyright 2021 Collate + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openmetadata.service.jdbi3; + +import java.util.ArrayList; +import java.util.List; +import org.openmetadata.schema.type.Include; + +public class DaoListFilter extends ListFilter { + public DaoListFilter() { + super(Include.NON_DELETED); + } + + public DaoListFilter(Include include) { + super(include); + } + + @Override + public String getCondition() { + return this.getCondition(null); + } + + @Override + public String getCondition(String tableName) { + List conditions = new ArrayList<>(); + String baseConditions = super.getCondition(tableName); + conditions.add(baseConditions); + conditions.add(getArticleCondition()); + return addCondition(conditions); + } + + public String getArticleCondition() { + String article = this.queryParams.get("pageType"); + return article == null ? "" : "pageType = :pageType"; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/FolderRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/FolderRepository.java new file mode 100644 index 000000000000..fada399c989e --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/FolderRepository.java @@ -0,0 +1,177 @@ +package org.openmetadata.service.jdbi3; + +import org.openmetadata.service.jdbi3.CollectionDAO; +import org.openmetadata.service.resources.drive.ContextFileResource; +import org.openmetadata.service.resources.drive.FolderResource; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.Folder; +import java.util.Comparator; +import java.util.List; +import java.util.UUID; +import org.jdbi.v3.core.Jdbi; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.type.Relationship; +import org.openmetadata.schema.type.change.ChangeSource; +import org.openmetadata.service.Entity; +import org.openmetadata.service.jdbi3.EntityRepository; +import org.openmetadata.service.jdbi3.Repository; +import org.openmetadata.service.util.EntityUtil; +import org.openmetadata.service.util.EntityUtil.RelationIncludes; +import org.openmetadata.service.util.FullyQualifiedName; + +@Repository +public class FolderRepository extends EntityRepository { + public static final String FOLDER_ENTITY = "folder"; + + public FolderRepository(Jdbi jdbi) { + super( + FolderResource.COLLECTION_PATH, + FOLDER_ENTITY, + Folder.class, + jdbi.onDemand(CollectionDAO.class).folderDAO(), + "", + ""); + supportsSearch = true; + // NOTE: SearchIndexFactory registration handled by OpenMetadata core + } + + @Override + public void setFields( + Folder folder, EntityUtil.Fields fields, RelationIncludes relationIncludes) { + folder.setParent(fields.contains("parent") ? getParentFolder(folder) : folder.getParent()); + folder.setChildren( + fields.contains("children") ? getChildFolders(folder) : folder.getChildren()); + } + + @Override + public void clearFields(Folder folder, EntityUtil.Fields fields) { + folder.setParent(fields.contains("parent") ? folder.getParent() : null); + folder.setChildren(fields.contains("children") ? folder.getChildren() : null); + } + + @Override + public void setFieldsInBulk(EntityUtil.Fields fields, List entities) { + if (entities == null || entities.isEmpty()) { + return; + } + + if (fields.contains("parent")) { + var parentMap = batchFetchFromIdsAndRelationSingleRelation(entities, Relationship.CONTAINS); + entities.forEach(folder -> folder.setParent(parentMap.get(folder.getId()))); + } + + if (fields.contains("children")) { + var childrenMap = batchFetchToIdsOneToMany(entities, Relationship.CONTAINS, FOLDER_ENTITY); + entities.forEach( + folder -> folder.setChildren(childrenMap.getOrDefault(folder.getId(), List.of()))); + } + + fetchAndSetFields(entities, fields); + setInheritedFields(entities, fields); + entities.forEach(entity -> clearFieldsInternal(entity, fields)); + } + + @Override + public void setFullyQualifiedName(Folder folder) { + if (folder.getParent() == null) { + folder.setFullyQualifiedName(folder.getName()); + } else { + Folder parentFolder = + Entity.getEntity(FOLDER_ENTITY, folder.getParent().getId(), "", Include.ALL); + folder.setFullyQualifiedName( + FullyQualifiedName.add(parentFolder.getFullyQualifiedName(), folder.getName())); + } + } + + @Override + public void prepare(Folder folder, boolean update) { + // Resolve parent folder reference if provided + if (folder.getParent() != null) { + Folder parent = Entity.getEntity(folder.getParent(), "", Include.NON_DELETED); + folder.setParent(parent.getEntityReference()); + } + } + + @Override + public void storeEntity(Folder folder, boolean update) { + EntityReference parent = folder.getParent(); + List children = folder.getChildren(); + folder.withParent(null).withChildren(null); + store(folder, update); + folder.withParent(parent).withChildren(children); + } + + @Override + public void storeRelationships(Folder folder) { + if (folder.getParent() != null) { + addRelationship( + folder.getParent().getId(), + folder.getId(), + FOLDER_ENTITY, + FOLDER_ENTITY, + Relationship.CONTAINS); + } + } + + @Override + public EntityUpdater getUpdater( + Folder original, Folder updated, Operation operation, ChangeSource source) { + return new FolderUpdater(original, updated, operation); + } + + private EntityReference getParentFolder(Folder folder) { + return getFromEntityRef(folder.getId(), Relationship.CONTAINS, FOLDER_ENTITY, false); + } + + private List getChildFolders(Folder folder) { + return findTo(folder.getId(), FOLDER_ENTITY, Relationship.CONTAINS, FOLDER_ENTITY); + } + + @SuppressWarnings("unchecked") + public List getChildFolderEntities(Folder folder) { + List childIds = getChildFolders(folder).stream().map(EntityReference::getId).toList(); + if (childIds.isEmpty()) { + return List.of(); + } + return get(null, childIds, getFields(FolderResource.FIELDS), Include.NON_DELETED).stream() + .sorted(Comparator.comparing(Folder::getName)) + .toList(); + } + + @SuppressWarnings("unchecked") + public List getChildFileEntities(Folder folder) { + List childIds = + findTo( + folder.getId(), + FOLDER_ENTITY, + Relationship.CONTAINS, + ContextFileRepository.CONTEXT_FILE_ENTITY) + .stream() + .map(EntityReference::getId) + .toList(); + if (childIds.isEmpty()) { + return List.of(); + } + ContextFileRepository fileRepo = + (ContextFileRepository) + Entity.getEntityRepository(ContextFileRepository.CONTEXT_FILE_ENTITY); + return fileRepo + .get(null, childIds, fileRepo.getFields(ContextFileResource.FIELDS), Include.NON_DELETED) + .stream() + .sorted(Comparator.comparing(ContextFile::getName)) + .toList(); + } + + public class FolderUpdater extends EntityUpdater { + public FolderUpdater(Folder original, Folder updated, Operation operation) { + super(original, updated, operation); + } + + @Override + public void entitySpecificUpdate(boolean consolidatingChanges) { + recordChange("icon", original.getIcon(), updated.getIcon()); + recordChange("color", original.getColor(), updated.getColor()); + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/KnowledgePageRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/KnowledgePageRepository.java new file mode 100644 index 000000000000..62386a8d43be --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/KnowledgePageRepository.java @@ -0,0 +1,707 @@ +package org.openmetadata.service.jdbi3; + +import static org.openmetadata.common.utils.CommonUtil.listOrEmpty; +import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty; +import static org.openmetadata.schema.type.EventType.ENTITY_FIELDS_CHANGED; +import static org.openmetadata.schema.type.Relationship.EDITED_BY; +import static org.openmetadata.schema.type.Relationship.HAS; +import static org.openmetadata.schema.type.Relationship.RELATED_TO; +import static org.openmetadata.service.Entity.TEAM; +import static org.openmetadata.service.Entity.USER; +import static org.openmetadata.service.Entity.getEntity; +import static org.openmetadata.service.exception.CatalogExceptionMessage.notReviewer; +import static org.openmetadata.service.governance.workflows.Workflow.RESULT_VARIABLE; +import static org.openmetadata.service.governance.workflows.Workflow.UPDATED_BY_VARIABLE; +import static org.openmetadata.service.util.EntityUtil.entityReferenceMatch; +import static org.openmetadata.service.util.EntityUtil.getId; + +import org.openmetadata.service.resources.knowledge.KnowledgePageResource; +import org.openmetadata.schema.attachments.Asset; +import org.openmetadata.schema.attachments.AssetType; +import org.openmetadata.schema.entity.data.Article; +import org.openmetadata.schema.entity.data.Page; +import org.openmetadata.schema.entity.data.PageHierarchy; +import org.openmetadata.schema.entity.data.PageType; +import org.openmetadata.schema.entity.data.QuickLink; +import jakarta.json.JsonPatch; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.UriInfo; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; +import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import org.jdbi.v3.core.Jdbi; +import org.openmetadata.schema.EntityInterface; +import org.openmetadata.schema.api.feed.CloseTask; +import org.openmetadata.schema.api.feed.ResolveTask; +import org.openmetadata.schema.entity.feed.Thread; +import org.openmetadata.schema.entity.teams.Team; +import org.openmetadata.schema.type.ChangeDescription; +import org.openmetadata.schema.type.ChangeEvent; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.EntityStatus; +import org.openmetadata.schema.type.EventType; +import org.openmetadata.schema.type.FieldChange; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.type.Relationship; +import org.openmetadata.schema.type.TaskStatus; +import org.openmetadata.schema.type.TaskType; +import org.openmetadata.schema.type.change.ChangeSource; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.schema.utils.ResultList; +import org.openmetadata.service.Entity; +import org.openmetadata.service.exception.EntityNotFoundException; +import org.openmetadata.service.governance.workflows.WorkflowHandler; +import org.openmetadata.service.jdbi3.EntityRepository; +import org.openmetadata.service.jdbi3.FeedRepository; +import org.openmetadata.service.jdbi3.ListFilter; +import org.openmetadata.service.jdbi3.Repository; +import org.openmetadata.service.resources.feeds.MessageParser; +import org.openmetadata.service.search.PropagationDescriptor; +import org.openmetadata.service.security.AuthorizationException; +import org.openmetadata.service.util.EntityUtil; +import org.openmetadata.service.util.EntityUtil.RelationIncludes; +import org.openmetadata.service.util.FullyQualifiedName; +import org.openmetadata.service.util.RestUtil; +import org.openmetadata.service.util.WebsocketNotificationHandler; + +@Slf4j +@Repository +public class KnowledgePageRepository extends EntityRepository { + public static final String KNOWLEDGE_PAGE_ENTITY = "page"; + private static final String KNOWLEDGE_PATCH_FIELDS = "page,relatedEntities,parent,children"; + private static final String KNOWLEDGE_UPDATE_FIELDS = "page,relatedEntities,parent,children"; + public static final String RELATED_ENTITIES = "relatedEntities"; + public static final String KNOWLEDGE_PAGE_TERM_SEARCH_INDEX = "page"; + private final CollectionDAO.KnowledgePageDAO daoExtension; + private final CollectionDAO.AssetDAO assetDAO; + + /** + * IMPORTANT: relatedEntities excludes domains and dataProducts as they use the HAS relationship + * and are managed separately in EntityRepository. Always use filterOutDomainsAndDataProducts() + * when working with relatedEntities to prevent duplicate assignments. + */ + public KnowledgePageRepository(Jdbi jdbi) { + super( + KnowledgePageResource.COLLECTION_PATH, + KNOWLEDGE_PAGE_ENTITY, + Page.class, + (jdbi.onDemand(CollectionDAO.class)).knowledgePageDAO(), + KNOWLEDGE_PATCH_FIELDS, + KNOWLEDGE_UPDATE_FIELDS); + supportsSearch = true; + // NOTE: SearchIndexFactory registration handled by OpenMetadata core + this.daoExtension = jdbi.onDemand(CollectionDAO.class).knowledgePageDAO(); + this.assetDAO = jdbi.onDemand(CollectionDAO.class).assetDAO(); + } + + @Override + public List getSearchPropagationDescriptors() { + List descriptors = + new ArrayList<>(super.getSearchPropagationDescriptors()); + descriptors.add( + new PropagationDescriptor( + "parent", PropagationDescriptor.PropagationType.ENTITY_REFERENCE, null)); + return descriptors; + } + + @Override + public void setFields( + Page knowledgePage, EntityUtil.Fields fields, RelationIncludes relationIncludes) { + knowledgePage.setRelatedEntities( + fields.contains(RELATED_ENTITIES) + ? getRelatedEntities(knowledgePage) + : knowledgePage.getRelatedEntities()); + knowledgePage.setEditors( + fields.contains("editors") ? getEditors(knowledgePage) : knowledgePage.getEditors()); + knowledgePage.setParent( + fields.contains("parent") ? getParent(knowledgePage) : knowledgePage.getParent()); + knowledgePage.setChildren( + fields.contains("children") ? getChildren(knowledgePage) : knowledgePage.getChildren()); + if (knowledgePage.getPageType().equals(PageType.ARTICLE)) { + Article article = new Article(); + if (knowledgePage.getPage() != null) { + article = JsonUtils.convertValue(knowledgePage.getPage(), Article.class); + } + article.setRelatedArticles( + fields.contains(RELATED_ENTITIES) + ? getRelatedArticles(knowledgePage) + : article.getRelatedArticles()); + knowledgePage.setPage(article); + knowledgePage.setAttachments( + fields.contains("attachments") + ? getAttachments(knowledgePage) + : knowledgePage.getAttachments()); + } + } + + @Override + public void setFullyQualifiedName(Page page) { + if (page.getParent() == null) { + page.setFullyQualifiedName(page.getName()); + } else { + EntityReference parent = page.getParent(); + Page parentPage = Entity.getEntity(parent, "", Include.ALL); + page.setFullyQualifiedName( + FullyQualifiedName.add(parentPage.getFullyQualifiedName(), page.getName())); + } + } + + @Override + public void restorePatchAttributes(Page original, Page updated) { + // Patch can't update Children + super.restorePatchAttributes(original, updated); + updated.withChildren(original.getChildren()); + } + + private List filterOutDomainsAndDataProducts(List entities) { + if (nullOrEmpty(entities)) { + return Collections.emptyList(); + } + return entities.stream() + .filter( + ref -> + !Entity.DOMAIN.equals(ref.getType()) && !Entity.DATA_PRODUCT.equals(ref.getType())) + .collect(Collectors.toList()); + } + + private List getRelatedEntities(Page entity) { + if (entity == null) { + return Collections.emptyList(); + } + List allRelated = findFrom(entity.getId(), KNOWLEDGE_PAGE_ENTITY, HAS, null); + return filterOutDomainsAndDataProducts(allRelated); + } + + private List getEditors(Page entity) { + return entity == null + ? Collections.emptyList() + : findTo(entity.getId(), KNOWLEDGE_PAGE_ENTITY, EDITED_BY, USER); + } + + private List getRelatedArticles(Page entity) { + return findFrom(entity.getId(), KNOWLEDGE_PAGE_ENTITY, RELATED_TO, KNOWLEDGE_PAGE_ENTITY); + } + + private List getAttachments(Page page) { + List json = + assetDAO.getByFqnExact(AssetType.External.value(), page.getFullyQualifiedName()); + if (json == null || json.isEmpty()) { + return Collections.emptyList(); + } + return JsonUtils.readObjects(json, Asset.class); + } + + @Override + protected List getChildren(Page knowledgePage) { + return findTo( + knowledgePage.getId(), + KNOWLEDGE_PAGE_ENTITY, + Relationship.PARENT_OF, + KNOWLEDGE_PAGE_ENTITY); + } + + @Override + public void clearFields(Page entity, EntityUtil.Fields fields) { + entity.withRelatedEntities( + fields.contains(RELATED_ENTITIES) ? entity.getRelatedEntities() : null); + entity.withEditors(fields.contains("editors") ? entity.getEditors() : null); + entity.setParent(fields.contains("parent") ? entity.getParent() : null); + entity.setChildren(fields.contains("children") ? entity.getChildren() : null); + if (entity.getPageType().equals(PageType.ARTICLE)) { + Article article = new Article(); + if (entity.getPage() != null) { + article = JsonUtils.convertValue(entity.getPage(), Article.class); + } + article.withRelatedArticles( + fields.contains(RELATED_ENTITIES) ? article.getRelatedArticles() : null); + entity.withPage(article); + } + } + + @Override + public void prepare(Page knowledgePage, boolean b) { + // Validate Related Entities + List relatedEntities = knowledgePage.getRelatedEntities(); + if (!nullOrEmpty(relatedEntities)) { + List filtered = filterOutDomainsAndDataProducts(relatedEntities); + knowledgePage.withRelatedEntities(filtered); + } + EntityUtil.populateEntityReferences(knowledgePage.getRelatedEntities()); + + if (knowledgePage.getPageType().equals(PageType.ARTICLE)) { + Article article = JsonUtils.convertValue(knowledgePage.getPage(), Article.class); + + // Validate Related Articles + EntityUtil.populateEntityReferences(article.getRelatedArticles()); + + knowledgePage.setPage(article); + } + } + + public ResultList getHierarchyWithSearch( + String parent, PageType pageType, int offset, int limit) { + return searchRepository + .getSearchClient() + .listPageHierarchy(parent, pageType.value(), offset, limit); + } + + public ResultList getHierarchyWithSearchForActivePage( + String activeFqn, PageType pageType, int offset, int limit) { + return searchRepository + .getSearchClient() + .listPageHierarchyForActivePage(activeFqn, pageType.value(), offset, limit); + } + + public List listHierarchy(ListFilter filter, int limit) { + List pageHierarchyList = new ArrayList<>(); + EntityUtil.Fields fields = getFields("parent,children"); + + ResultList resultList = listAfter(null, fields, filter, limit, null); + Map lookUp = + resultList.getData().stream().collect(Collectors.toMap(Page::getId, p -> p)); + List topLevelPages = + resultList.getData().stream().filter(p -> p.getParent() == null).toList(); + + for (Page page : topLevelPages) { + pageHierarchyList.add(getHierarchy(lookUp, page)); + } + + return pageHierarchyList; + } + + public PageHierarchy getHierarchy(Map lookUp, Page topLevelPage) { + PageHierarchy topLevelHierarchy = getPageHierarchy(topLevelPage); + int childrenCount = countChildren(lookUp, topLevelPage); + topLevelHierarchy.withChildrenCount(childrenCount); + return topLevelHierarchy; + } + + private int countChildren(Map lookUp, Page parentPage) { + int childCount = 0; + // For each child reference, we check if the page exists in the lookup map + for (EntityReference childRef : listOrEmpty(parentPage.getChildren())) { + Page childPage = lookUp.get(childRef.getId()); + if (childPage != null) { + childCount++; + } + } + return childCount; + } + + private PageHierarchy getPageHierarchy(Page page) { + // Build a PageHierarchy object from the given Page object + return new PageHierarchy() + .withId(page.getId()) + .withPageType(page.getPageType()) + .withName(page.getName()) + .withDisplayName(page.getDisplayName()) + .withHref(page.getHref()) + .withFullyQualifiedName(page.getFullyQualifiedName()) + .withDescription(page.getDescription()); + } + + @Override + public void storeEntity(Page knowledgePage, boolean update) { + // Related Entities + List relatedEntities = knowledgePage.getRelatedEntities(); + EntityReference parent = knowledgePage.getParent(); + List children = knowledgePage.getChildren(); + knowledgePage.withRelatedEntities(null).withParent(null).withChildren(null); + + if (knowledgePage.getPageType().equals(PageType.ARTICLE)) { + Article article = JsonUtils.convertValue(knowledgePage.getPage(), Article.class); + List relatedArticles = article.getRelatedArticles(); + article.withRelatedArticles(null); + store(knowledgePage, update); + article.withRelatedArticles(relatedArticles); + knowledgePage.withRelatedEntities(relatedEntities).withParent(parent).withChildren(children); + return; + } + + store(knowledgePage, update); + knowledgePage.withRelatedEntities(relatedEntities).withParent(parent).withChildren(children); + } + + @Override + public void storeRelationships(Page knowledgePage) { + // Add Parent for this entity + if (knowledgePage.getParent() != null) { + addRelationship( + knowledgePage.getParent().getId(), + knowledgePage.getId(), + KNOWLEDGE_PAGE_ENTITY, + KNOWLEDGE_PAGE_ENTITY, + Relationship.CONTAINS); + } + + for (EntityReference child : listOrEmpty(knowledgePage.getChildren())) { + addRelationship( + knowledgePage.getId(), + child.getId(), + KNOWLEDGE_PAGE_ENTITY, + KNOWLEDGE_PAGE_ENTITY, + Relationship.CONTAINS); + } + // Add Related Entities + for (EntityReference relatedEntity : listOrEmpty(knowledgePage.getRelatedEntities())) { + addRelationship( + relatedEntity.getId(), + knowledgePage.getId(), + relatedEntity.getType(), + KNOWLEDGE_PAGE_ENTITY, + HAS); + } + + if (knowledgePage.getPageType().equals(PageType.ARTICLE)) { + Article article = JsonUtils.convertValue(knowledgePage.getPage(), Article.class); + for (EntityReference relatedArticle : listOrEmpty(article.getRelatedArticles())) { + addRelationship( + relatedArticle.getId(), + knowledgePage.getId(), + KNOWLEDGE_PAGE_ENTITY, + KNOWLEDGE_PAGE_ENTITY, + RELATED_TO); + } + } + } + + public RestUtil.PutResponse addKnowledgePageUsage( + UriInfo uriInfo, String updatedBy, UUID knowledgePageId, List entityIds) { + Page page = + getEntity(KNOWLEDGE_PAGE_ENTITY, knowledgePageId, RELATED_ENTITIES, Include.NON_DELETED); + List oldValue = page.getRelatedEntities(); + // Create Relationships + List validEntities = filterOutDomainsAndDataProducts(entityIds); + validEntities.forEach( + entityRef -> + addRelationship( + entityRef.getId(), + knowledgePageId, + entityRef.getType(), + KNOWLEDGE_PAGE_ENTITY, + HAS)); + + // Populate Fields + setFieldsInternal(page, new EntityUtil.Fields(allowedFields, RELATED_ENTITIES)); + Entity.withHref(uriInfo, page.getRelatedEntities()); + ChangeEvent changeEvent = + getKnowledgeChangeEvent( + updatedBy, + RELATED_ENTITIES, + oldValue, + page.getRelatedEntities(), + withHref(uriInfo, page)); + return new RestUtil.PutResponse<>(Response.Status.CREATED, changeEvent, ENTITY_FIELDS_CHANGED); + } + + public RestUtil.PutResponse removeKnowledgePageUsedIn( + UriInfo uriInfo, String updatedBy, UUID knowledgePageId, List entityIds) { + Page page = + getEntity(KNOWLEDGE_PAGE_ENTITY, knowledgePageId, RELATED_ENTITIES, Include.NON_DELETED); + List oldValue = page.getRelatedEntities(); + List validEntities = filterOutDomainsAndDataProducts(entityIds); + for (EntityReference ref : validEntities) { + deleteRelationship(ref.getId(), ref.getType(), knowledgePageId, KNOWLEDGE_PAGE_ENTITY, HAS); + } + + // Populate Fields + setFieldsInternal(page, new EntityUtil.Fields(allowedFields, RELATED_ENTITIES)); + Entity.withHref(uriInfo, page.getRelatedEntities()); + ChangeEvent changeEvent = + getKnowledgeChangeEvent( + updatedBy, + RELATED_ENTITIES, + oldValue, + page.getRelatedEntities(), + withHref(uriInfo, page)); + return new RestUtil.PutResponse<>(Response.Status.CREATED, changeEvent, ENTITY_FIELDS_CHANGED); + } + + private ChangeEvent getKnowledgeChangeEvent( + String updatedBy, String fieldUpdated, Object oldValue, Object newValue, Page updatedPage) { + FieldChange fieldChange = + new FieldChange().withName(fieldUpdated).withNewValue(newValue).withOldValue(oldValue); + ChangeDescription change = + new ChangeDescription().withPreviousVersion(updatedPage.getVersion()); + change.getFieldsUpdated().add(fieldChange); + return new ChangeEvent() + .withEntity(updatedPage) + .withChangeDescription(change) + .withEventType(EventType.ENTITY_UPDATED) + .withEntityType(entityType) + .withEntityId(updatedPage.getId()) + .withEntityFullyQualifiedName(updatedPage.getFullyQualifiedName()) + .withUserName(updatedBy) + .withTimestamp(System.currentTimeMillis()) + .withCurrentVersion(updatedPage.getVersion()) + .withPreviousVersion(updatedPage.getVersion()); + } + + @Override + public EntityUpdater getUpdater( + Page original, Page updated, Operation operation, ChangeSource source) { + return new KnowledgePageUpdater(original, updated, operation); + } + + public class KnowledgePageUpdater extends EntityUpdater { + public KnowledgePageUpdater(Page original, Page updated, Operation operation) { + super(original, updated, operation); + } + + @Override + public void entitySpecificUpdate(boolean consolidatingChanges) { + // Update Related Terms + updateRelatedEntities(original, updated); + + // Updated Quick Link + if (original.getPageType().equals(PageType.QUICK_LINK)) { + QuickLink originalLink = JsonUtils.convertValue(original.getPage(), QuickLink.class); + QuickLink updatedLink = JsonUtils.convertValue(updated.getPage(), QuickLink.class); + recordChange("quickLink", originalLink, updatedLink); + } + + // Updated Article + if (original.getPageType().equals(PageType.ARTICLE)) { + updateArticles(original, updated); + } + + // Add Editor + if (fieldsChanged() && updatingUser.getId() != null) { + addRelationship( + original.getId(), updatingUser.getId(), KNOWLEDGE_PAGE_ENTITY, USER, EDITED_BY); + } + + updateParent(original, updated); + } + + private void updateParent(Page original, Page updated) { + UUID oldParentId = getId(original.getParent()); + UUID newParentId = getId(updated.getParent()); + final boolean parentChanged = !Objects.equals(oldParentId, newParentId); + if (parentChanged) { + if (oldParentId != null) { + deleteRelationship( + oldParentId, + KNOWLEDGE_PAGE_ENTITY, + original.getId(), + KNOWLEDGE_PAGE_ENTITY, + Relationship.CONTAINS); + } + if (newParentId != null) { + setFullyQualifiedName(updated); + daoExtension.updateFqn(original.getFullyQualifiedName(), updated.getFullyQualifiedName()); + addRelationship( + newParentId, + original.getId(), + KNOWLEDGE_PAGE_ENTITY, + KNOWLEDGE_PAGE_ENTITY, + Relationship.CONTAINS); + } else { + setFullyQualifiedName(updated); + daoExtension.updateFqn(original.getFullyQualifiedName(), updated.getFullyQualifiedName()); + } + recordChange( + "parent", original.getParent(), updated.getParent(), true, entityReferenceMatch); + } + } + + private void updateChildren(Page original, Page updated) { + List origChildren = listOrEmpty(original.getChildren()); + List updatedChildren = listOrEmpty(updated.getChildren()); + updateToRelationships( + "children", + KNOWLEDGE_PAGE_ENTITY, + original.getId(), + Relationship.PARENT_OF, + KNOWLEDGE_PAGE_ENTITY, + origChildren, + updatedChildren, + false); + } + + private void updateRelatedEntities(Page original, Page updated) { + List origRelatedEntities = + filterOutDomainsAndDataProducts(listOrEmpty(original.getRelatedEntities())); + List updatedRelatedEntities = + filterOutDomainsAndDataProducts(listOrEmpty(updated.getRelatedEntities())); + List added = new ArrayList<>(); + List deleted = new ArrayList<>(); + if (!recordListChange( + RELATED_ENTITIES, + origRelatedEntities, + updatedRelatedEntities, + added, + deleted, + entityReferenceMatch)) { + return; // No changes between original and updated. + } + // Remove relationships from original + for (EntityReference ref : origRelatedEntities) { + deleteRelationship( + ref.getId(), ref.getType(), original.getId(), KNOWLEDGE_PAGE_ENTITY, HAS); + } + + // Add relationships from updated + for (EntityReference ref : updatedRelatedEntities) { + addRelationship(ref.getId(), original.getId(), ref.getType(), KNOWLEDGE_PAGE_ENTITY, HAS); + } + updatedRelatedEntities.sort(EntityUtil.compareEntityReference); + origRelatedEntities.sort(EntityUtil.compareEntityReference); + } + + private void updateArticles(Page original, Page updated) { + Article oldArticle = JsonUtils.convertValue(original.getPage(), Article.class); + Article updateArticle = JsonUtils.convertValue(updated.getPage(), Article.class); + + // Related Articles + List origRelatedArticles = listOrEmpty(oldArticle.getRelatedArticles()); + List updatedRelatedArticles = + listOrEmpty(updateArticle.getRelatedArticles()); + updateFromRelationships( + RELATED_ENTITIES, + KNOWLEDGE_PAGE_ENTITY, + origRelatedArticles, + updatedRelatedArticles, + RELATED_TO, + KNOWLEDGE_PAGE_ENTITY, + original.getId()); + } + } + + protected void updateTaskWithNewReviewers(Page page) { + try { + MessageParser.EntityLink about = + new MessageParser.EntityLink(KNOWLEDGE_PAGE_ENTITY, page.getFullyQualifiedName()); + FeedRepository feedRepository = Entity.getFeedRepository(); + Thread originalTask = + feedRepository.getTask(about, TaskType.RequestApproval, TaskStatus.Open); + page = + Entity.getEntityByName( + KNOWLEDGE_PAGE_ENTITY, + page.getFullyQualifiedName(), + "id,fullyQualifiedName,reviewers", + Include.ALL); + + Thread updatedTask = JsonUtils.deepCopy(originalTask, Thread.class); + updatedTask.getTask().withAssignees(new ArrayList<>(page.getReviewers())); + JsonPatch patch = JsonUtils.getJsonPatch(originalTask, updatedTask); + RestUtil.PatchResponse thread = + feedRepository.patchThread(null, originalTask.getId(), updatedTask.getUpdatedBy(), patch); + + // Send WebSocket Notification + WebsocketNotificationHandler.handleTaskNotification(thread.entity()); + } catch (EntityNotFoundException e) { + // Task may not be present + LOG.debug("Task not found for page {}", page.getFullyQualifiedName()); + } + } + + @Override + public FeedRepository.TaskWorkflow getTaskWorkflow(FeedRepository.ThreadContext threadContext) { + validateTaskThread(threadContext); + TaskType taskType = threadContext.getThread().getTask().getType(); + return new ApprovalTaskWorkflow(threadContext); + } + + public static class ApprovalTaskWorkflow extends FeedRepository.TaskWorkflow { + ApprovalTaskWorkflow(FeedRepository.ThreadContext threadContext) { + super(threadContext); + } + + @Override + public EntityInterface performTask(String user, ResolveTask resolveTask) { + Page page = (Page) threadContext.getAboutEntity(); + checkUpdatedByReviewer(page, user); + + UUID taskId = threadContext.getThread().getId(); + Map variables = new HashMap<>(); + variables.put(RESULT_VARIABLE, resolveTask.getNewValue().equalsIgnoreCase("approved")); + variables.put(UPDATED_BY_VARIABLE, user); + WorkflowHandler workflowHandler = WorkflowHandler.getInstance(); + workflowHandler.resolveTask( + taskId, workflowHandler.transformToNodeVariables(taskId, variables)); + + return page; + } + } + + @Override + public void postUpdate(Page original, Page updated) { + super.postUpdate(original, updated); + if (EntityStatus.IN_REVIEW.equals(original.getEntityStatus())) { + if (EntityStatus.APPROVED.equals(updated.getEntityStatus())) { + closeApprovalTask(updated, "Approved the page"); + } else if (EntityStatus.REJECTED.equals(updated.getEntityStatus())) { + closeApprovalTask(updated, "Rejected the page"); + } + } + + // TODO: It might happen that a task went from DRAFT to IN_REVIEW to DRAFT fairly quickly + // Due to ChangesConsolidation, the postUpdate will be called as from DRAFT to DRAFT, but there + // will be a Task created. + // This if handles this case scenario, by guaranteeing that we are any Approval Task if the + // Tag goes back to DRAFT. + if (EntityStatus.DRAFT.equals(updated.getEntityStatus())) { + try { + closeApprovalTask(updated, "Closed due to page going back to DRAFT."); + } catch (EntityNotFoundException ignored) { + } // No ApprovalTask is present, and thus we don't need to worry about this. + } + } + + private void closeApprovalTask(Page entity, String comment) { + MessageParser.EntityLink about = + new MessageParser.EntityLink(KNOWLEDGE_PAGE_ENTITY, entity.getFullyQualifiedName()); + FeedRepository feedRepository = Entity.getFeedRepository(); + + // Skip closing tasks if updatedBy is null (e.g., during tests) + if (entity.getUpdatedBy() == null) { + LOG.debug( + "Skipping task closure for page {} - updatedBy is null", entity.getFullyQualifiedName()); + return; + } + + // Close User Tasks + try { + Thread taskThread = feedRepository.getTask(about, TaskType.RequestApproval, TaskStatus.Open); + feedRepository.closeTask( + taskThread, entity.getUpdatedBy(), new CloseTask().withComment(comment)); + } catch (EntityNotFoundException ex) { + LOG.info("No approval task found for page {}", entity.getFullyQualifiedName()); + } + } + + public static void checkUpdatedByReviewer(Page page, String updatedBy) { + // Only list of allowed reviewers can change the status from DRAFT to APPROVED + List reviewers = page.getReviewers(); + if (!nullOrEmpty(reviewers)) { + // Updating user must be one of the reviewers + boolean isReviewer = + reviewers.stream() + .anyMatch( + e -> { + if (e.getType().equals(TEAM)) { + Team team = + Entity.getEntityByName(TEAM, e.getName(), "users", Include.NON_DELETED); + return team.getUsers().stream() + .anyMatch( + u -> + u.getName().equals(updatedBy) + || u.getFullyQualifiedName().equals(updatedBy)); + } else { + return e.getName().equals(updatedBy) + || e.getFullyQualifiedName().equals(updatedBy); + } + }); + if (!isReviewer) { + throw new AuthorizationException(notReviewer(updatedBy)); + } + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/attachments/AttachmentResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/attachments/AttachmentResource.java new file mode 100644 index 000000000000..fc8373aa94e9 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/attachments/AttachmentResource.java @@ -0,0 +1,365 @@ +package org.openmetadata.service.resources.attachments; + +import org.openmetadata.service.jdbi3.AssetRepository; +import org.openmetadata.service.jdbi3.CollectionDAO; +import org.openmetadata.schema.api.attachments.CreateAsset; +import org.openmetadata.schema.attachments.Asset; +import org.openmetadata.schema.attachments.AssetType; +import org.openmetadata.service.attachments.AssetService; +import org.openmetadata.service.attachments.AssetServiceFactory; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.UriInfo; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.URLConnection; +import java.time.Duration; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.TimeoutException; +import lombok.extern.slf4j.Slf4j; +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; +import org.glassfish.jersey.media.multipart.FormDataParam; +import org.jdbi.v3.core.Jdbi; +import org.openmetadata.schema.type.MetadataOperation; +import org.openmetadata.sdk.exception.AssetServiceException; +import org.openmetadata.sdk.exception.AttachmentException; +import org.openmetadata.service.OpenMetadataApplicationConfig; +import org.openmetadata.service.resources.Collection; +import org.openmetadata.service.resources.feeds.MessageParser; +import org.openmetadata.service.security.Authorizer; +import org.openmetadata.service.security.policyevaluator.OperationContext; +import org.openmetadata.service.security.policyevaluator.ResourceContext; +import org.openmetadata.service.security.policyevaluator.ResourceContextInterface; + +@Slf4j +@Path("/v1/attachments") +@Tag(name = "Attachments", description = "APIs related to uploading attachments.") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Collection(name = "Attachments") +public class AttachmentResource { + private final AssetRepository assetRepository; + private AssetService assetService; + private final Authorizer authorizer; + private long MAX_FILE_SIZE; + private String cdnUrl; + + public AttachmentResource(Jdbi jdbi, Authorizer authorizer) { + CollectionDAO extension = jdbi.onDemand(CollectionDAO.class); + this.assetRepository = new AssetRepository(extension.assetDAO()); + this.authorizer = authorizer; + } + + public void initialize(OpenMetadataApplicationConfig config) { + this.MAX_FILE_SIZE = config.getObjectStorage().getMaxFileSize(); + this.cdnUrl = + config.getObjectStorage().getAzureConfiguration() != null + && config.getObjectStorage().getAzureConfiguration().getCdnUrl() != null + ? config.getObjectStorage().getAzureConfiguration().getCdnUrl() + : config.getObjectStorage().getS3Configuration().getCloudFrontUrl(); + AssetServiceFactory.init(config); + this.assetService = AssetServiceFactory.getService(); + } + + @GET + @Path("/{id}") + public Response getAssetById( + @PathParam("id") String id, @Context SecurityContext securityContext) { + Asset asset = assetRepository.getById(id); + if (asset == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + return Response.ok(asset).build(); + } + + @POST + @Path("/upload") + @Consumes(MediaType.MULTIPART_FORM_DATA) + public Response uploadAttachment( + @FormDataParam("file") InputStream fileInputStream, + @FormDataParam("file") FormDataContentDisposition fileDetail, + @FormDataParam("entityLink") String entityLink, + @FormDataParam("assetType") @DefaultValue("Inline") AssetType assetType, + @Context UriInfo uriInfo, + @Context SecurityContext securityContext) + throws IOException { + MessageParser.EntityLink parsedLink = MessageParser.EntityLink.parse(entityLink); + ResourceContextInterface resourceContext = + new ResourceContext<>(parsedLink.getEntityType(), null, parsedLink.getEntityFQN()); + OperationContext operationContext = + new OperationContext(parsedLink.getEntityType(), MetadataOperation.EDIT_DESCRIPTION); + authorizer.authorize(securityContext, operationContext, resourceContext); + + Asset asset = + createAssetFromUpload(fileInputStream, fileDetail, entityLink, assetType, securityContext); + + String proxyUrl; + if (asset.getAssetType() == AssetType.Inline) { + if (cdnUrl != null && !cdnUrl.isEmpty()) { + proxyUrl = cdnUrl + "/assets/" + asset.getId(); + } else { + proxyUrl = + uriInfo + .getBaseUriBuilder() + .path(AttachmentResource.class) + .path(asset.getId() + "/download") + .queryParam("direct", true) + .build() + .toString(); + } + } else { + proxyUrl = + uriInfo + .getBaseUriBuilder() + .path(AttachmentResource.class) + .path(asset.getId() + "/download") + .queryParam("direct", false) + .build() + .toString(); + } + asset.setUrl(proxyUrl); + try { + assetRepository.create(asset); + } catch (Exception e) { + try { + assetService.delete(asset); + } catch (Exception ignored) { + LOG.warn("Failed to enqueue cleanup for asset {}", asset.getId(), ignored); + } + throw AttachmentException.byMessage( + "Failed to create asset in the database. Upload has been rolled back.", e.getMessage()); + } + return Response.status(Response.Status.CREATED).entity(asset).build(); + } + + @GET + @Path("/{id}/download") + public Response downloadAsset( + @PathParam("id") String id, + @QueryParam("expiry") @DefaultValue("3600") int expirySeconds, + @QueryParam("direct") @DefaultValue("false") boolean direct, + @Context SecurityContext securityContext) { + Asset asset = assetRepository.getById(id); + if (asset == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + + // Authorization check + MessageParser.EntityLink parsedLink = MessageParser.EntityLink.parse(asset.getEntityLink()); + ResourceContextInterface resourceContext = + new ResourceContext<>(parsedLink.getEntityType(), null, parsedLink.getEntityFQN()); + OperationContext operationContext = + new OperationContext(parsedLink.getEntityType(), MetadataOperation.VIEW_BASIC); + authorizer.authorize(securityContext, operationContext, resourceContext); + + boolean isImage = asset.getContentType() != null && asset.getContentType().startsWith("image/"); + boolean useCdn = cdnUrl != null && !cdnUrl.isEmpty(); + + if (useCdn) { + try { + String signedUrl = + assetService.generateDownloadUrlWithExpiry(asset, Duration.ofSeconds(expirySeconds)); + + if (signedUrl != null) { + if (isImage && direct) { + return Response.ok(signedUrl).build(); + } else { + return Response.temporaryRedirect(URI.create(signedUrl)).build(); + } + } + } catch (Exception e) { + LOG.error("Error generating CDN URL: {}", e.getMessage(), e); + } + } + + // Fallback to direct serving + LOG.debug( + useCdn + ? "Falling back to direct serving after CDN URL generation failed" + : "Serving asset {} directly", + asset.getId()); + + try { + InputStream fileStream = assetService.read(asset).join(); + if (isImage && direct) { + return Response.ok(fileStream, asset.getContentType()).build(); + } else { + return Response.ok(fileStream, asset.getContentType()) + .header("Content-Disposition", "attachment; filename=\"" + asset.getFileName() + "\"") + .build(); + } + } catch (java.util.concurrent.CompletionException e) { + // Handle timeout and other async exceptions + Throwable cause = e.getCause(); + + // Check if it's a timeout by examining the cause chain + if (isTimeoutException(cause)) { + LOG.error("Timeout reading asset {}", asset.getId()); + return Response.status(Response.Status.GATEWAY_TIMEOUT) + .entity("{\"message\":\"Asset download timed out. Please try again later.\"}") + .type(MediaType.APPLICATION_JSON) + .build(); + } + + if (cause instanceof AssetServiceException ase) { + // Log full details server-side, but return sanitized message to client + LOG.error("Failed to read asset {}: {}", asset.getId(), ase.getMessage()); + + return Response.status(Response.Status.INTERNAL_SERVER_ERROR) + .entity( + "{\"message\":\"Failed to download asset. Please contact support if the problem persists.\"}") + .type(MediaType.APPLICATION_JSON) + .build(); + } + + LOG.error("Unexpected error reading asset {}: {}", asset.getId(), e.getMessage(), e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR) + .entity("{\"message\":\"Unexpected error downloading asset\"}") + .type(MediaType.APPLICATION_JSON) + .build(); + } + } + + @DELETE + @Path("/{id}") + public Response deleteAttachment( + @PathParam("id") String id, + @QueryParam("hardDelete") @DefaultValue("false") boolean hardDelete, + @Context SecurityContext securityContext) { + Asset asset = assetRepository.getById(id); + if (asset == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + MessageParser.EntityLink parsedLink = MessageParser.EntityLink.parse(asset.getEntityLink()); + ResourceContextInterface resourceContext = + new ResourceContext<>(parsedLink.getEntityType(), null, parsedLink.getEntityFQN()); + OperationContext operationContext = + new OperationContext(parsedLink.getEntityType(), MetadataOperation.EDIT_DESCRIPTION); + authorizer.authorize(securityContext, operationContext, resourceContext); + + if (hardDelete) { + try { + assetService.delete(asset); + } catch (RejectedExecutionException e) { + return Response.status(Response.Status.TOO_MANY_REQUESTS) + .entity( + "{\"message\":\"Object delete queue is full. Please retry the attachment delete.\"}") + .type(MediaType.APPLICATION_JSON) + .build(); + } + assetRepository.delete(asset.getId()); + } else { + assetRepository.markDeleted(asset.getEntityLink()); + } + return Response.ok().build(); + } + + @GET + @Path("/fqn/{fqn}/{assetType}") + public Response listAttachmentsByFqn( + @PathParam("fqn") String fqn, @PathParam("assetType") AssetType assetType) { + List assets = assetRepository.getByFQN(fqn, assetType); + if (assets == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + return Response.ok(assets).build(); + } + + private Asset buildAsset(CreateAsset createAsset, String url, String updatedBy) { + MessageParser.EntityLink assetLink = + MessageParser.EntityLink.parse(createAsset.getEntityLink()); + Asset asset = new Asset(); + asset.setId(UUID.randomUUID().toString()); + asset.setFileName(createAsset.getFileName()); + asset.setContentType(createAsset.getContentType()); + asset.setSize(createAsset.getSize()); + asset.setEntityLink(createAsset.getEntityLink()); + asset.setFullyQualifiedName(assetLink.getEntityFQN()); + asset.setUrl(url); + asset.setAssetType(createAsset.getAssetType()); + asset.setUpdatedBy(updatedBy); + asset.setUpdatedAt(System.currentTimeMillis()); + asset.setDeleted(false); + return asset; + } + + private Asset createAssetFromUpload( + InputStream fileInputStream, + FormDataContentDisposition fileDetail, + String entityLink, + AssetType assetType, + SecurityContext securityContext) + throws IOException { + + byte[] fileBytes = org.apache.commons.io.IOUtils.toByteArray(fileInputStream); + if (fileBytes.length > MAX_FILE_SIZE) { + String readableFileSize = formatFileSize(fileBytes.length); + String readableMaxSize = formatFileSize(MAX_FILE_SIZE); + throw AttachmentException.byMessage( + "File Size Validation", + String.format( + "File size (%s) exceeds maximum allowed size of %s", + readableFileSize, readableMaxSize)); + } + String originalFileName = + fileDetail.getFileName() != null ? fileDetail.getFileName() : fileDetail.getName(); + String extension = ""; + int dotIndex = originalFileName.lastIndexOf('.'); + if (dotIndex != -1) { + extension = originalFileName.substring(dotIndex); + } + + String contentType = URLConnection.guessContentTypeFromName(originalFileName); + if (contentType == null) { + contentType = "application/octet-stream"; + } + + CreateAsset createAsset = new CreateAsset(); + createAsset.setEntityLink(entityLink); + createAsset.setAssetType(assetType); + + Asset asset = buildAsset(createAsset, "", securityContext.getUserPrincipal().getName()); + asset.setFileName(originalFileName); + asset.setSize((double) fileBytes.length); + asset.setContentType(contentType); + asset.setAssetType(assetType); + asset.setExtension(extension); + if (assetService != null) { + assetService.upload(asset, new ByteArrayInputStream(fileBytes)).join(); + } else { + throw AssetServiceException.byMessage( + "Asset Service is unavailable", "Please reach out to administrator."); + } + return asset; + } + + private String formatFileSize(long bytes) { + if (bytes < 1024) return bytes + " B"; + if (bytes < 1024 * 1024) return String.format("%.2f KB", bytes / 1024.0); + if (bytes < 1024 * 1024 * 1024) return String.format("%.2f MB", bytes / (1024.0 * 1024)); + return String.format("%.2f GB", bytes / (1024.0 * 1024 * 1024)); + } + + /** + * Checks if the exception or any of its causes is a TimeoutException. + * More robust than string matching on exception messages. + */ + private boolean isTimeoutException(Throwable throwable) { + Throwable current = throwable; + while (current != null) { + if (current instanceof TimeoutException) { + return true; + } + current = current.getCause(); + } + return false; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileMapper.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileMapper.java new file mode 100644 index 000000000000..a5fb12e32ea4 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileMapper.java @@ -0,0 +1,28 @@ +package org.openmetadata.service.resources.drive; + +import static org.openmetadata.service.util.EntityUtil.getEntityReference; + +import org.openmetadata.service.jdbi3.FolderRepository; +import org.openmetadata.schema.api.data.CreateContextFile; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.type.Votes; +import org.openmetadata.service.mapper.EntityMapper; + +public class ContextFileMapper implements EntityMapper { + @Override + public ContextFile createToEntity(CreateContextFile create, String user) { + return copy(new ContextFile(), create, user) + .withTags(create.getTags()) + .withVotes(new Votes().withUpVotes(0).withDownVotes(0)) + .withFileType(create.getFileType()) + .withFileSize(create.getFileSize()) + .withContentType(create.getContentType()) + .withFileExtension(create.getFileExtension()) + .withFolder(getEntityReference(FolderRepository.FOLDER_ENTITY, create.getFolder())) + .withAssetId(create.getAssetId()) + .withProcessingStatus(create.getProcessingStatus()) + .withSourceType(create.getSourceType()) + .withSourceId(create.getSourceId()) + .withSourceUrl(create.getSourceUrl()); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileResource.java new file mode 100644 index 000000000000..e88abc47da0d --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileResource.java @@ -0,0 +1,452 @@ +package org.openmetadata.service.resources.drive; + +import static org.openmetadata.service.jdbi3.ContextFileRepository.CONTEXT_FILE_ENTITY; + +import org.openmetadata.service.jdbi3.ContextFileRepository; +import org.openmetadata.schema.api.data.CreateContextFile; +import org.openmetadata.schema.attachments.Asset; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileContent; +import org.openmetadata.schema.entity.data.ContextFileType; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import org.openmetadata.service.attachments.AssetService; +import org.openmetadata.service.attachments.AssetServiceFactory; +import org.openmetadata.service.attachments.AzureAssetService; +import org.openmetadata.service.attachments.S3AssetService; +import org.openmetadata.service.drive.ContextFileExtractionService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PATCH; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.StreamingOutput; +import jakarta.ws.rs.core.UriInfo; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.URLConnection; +import java.time.Duration; +import java.util.List; +import java.util.UUID; +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; +import org.glassfish.jersey.media.multipart.FormDataParam; +import org.openmetadata.schema.api.data.RestoreEntity; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.type.MetadataOperation; +import org.openmetadata.schema.utils.ResultList; +import org.openmetadata.service.Entity; +import org.openmetadata.service.OpenMetadataApplicationConfig; +import org.openmetadata.service.jdbi3.ListFilter; +import org.openmetadata.service.limits.Limits; +import org.openmetadata.service.resources.Collection; +import org.openmetadata.service.resources.EntityResource; +import org.openmetadata.service.security.Authorizer; +import org.openmetadata.service.security.ImpersonationContext; + +@Tag(name = "Drive Files", description = "APIs for managing files in the Context Center Drive.") +@Path("/v1/drive/files") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Collection(name = "driveFiles") +public class ContextFileResource extends EntityResource { + public static final String COLLECTION_PATH = "v1/drive/files/"; + public static final String FIELDS = "owners,tags,folder,domains,followers,votes"; + private final ContextFileMapper mapper = new ContextFileMapper(); + private final ContextFileExtractionService extractionService; + private long maxFileSize = 5 * 1024 * 1024L; + + public ContextFileResource(Authorizer authorizer, Limits limits) { + super(CONTEXT_FILE_ENTITY, authorizer, limits); + this.extractionService = new ContextFileExtractionService(repository); + } + + @Override + public void initialize(OpenMetadataApplicationConfig config) { + AssetServiceFactory.init(config); + if (config.getObjectStorage() != null) { + maxFileSize = config.getObjectStorage().getMaxFileSize(); + } + } + + public static class ContextFileList extends ResultList {} + + @Override + protected List getEntitySpecificOperations() { + addViewOperation("folder", MetadataOperation.VIEW_BASIC); + return null; + } + + @Override + public ContextFile addHref(UriInfo uriInfo, ContextFile file) { + super.addHref(uriInfo, file); + Entity.withHref(uriInfo, file.getFolder()); + return file; + } + + @GET + @Operation( + operationId = "listDriveFiles", + summary = "List files", + responses = { + @ApiResponse( + responseCode = "200", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ContextFileList.class))) + }) + public ResultList list( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @QueryParam("fields") String fieldsParam, + @QueryParam("limit") @DefaultValue("10") int limit, + @QueryParam("before") String before, + @QueryParam("after") String after, + @QueryParam("include") @DefaultValue("non-deleted") Include include) { + return super.listInternal( + uriInfo, securityContext, fieldsParam, new ListFilter(include), limit, before, after); + } + + @GET + @Path("/{id}") + @Operation(operationId = "getDriveFile", summary = "Get a file by ID") + public ContextFile get( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("id") UUID id, + @QueryParam("fields") String fieldsParam, + @QueryParam("include") @DefaultValue("non-deleted") Include include) { + return getInternal(uriInfo, securityContext, id, fieldsParam, include); + } + + @GET + @Path("/name/{fqn}") + @Operation(operationId = "getDriveFileByFqn", summary = "Get a file by FQN") + public ContextFile getByName( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("fqn") String fqn, + @QueryParam("fields") String fieldsParam, + @QueryParam("include") @DefaultValue("non-deleted") Include include) { + return getByNameInternal(uriInfo, securityContext, fqn, fieldsParam, include); + } + + @POST + @Operation(operationId = "createDriveFile", summary = "Create a file entry") + public Response create( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Valid CreateContextFile createFile) { + ContextFile file = + mapper.createToEntity(createFile, securityContext.getUserPrincipal().getName()); + return create(uriInfo, securityContext, file); + } + + @PUT + @Operation(operationId = "createOrUpdateDriveFile", summary = "Create or update a file") + public Response createOrUpdate( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Valid CreateContextFile createFile) { + ContextFile file = + mapper.createToEntity(createFile, securityContext.getUserPrincipal().getName()); + return createOrUpdate(uriInfo, securityContext, file); + } + + @PATCH + @Path("/{id}") + @Consumes(MediaType.APPLICATION_JSON_PATCH_JSON) + @Operation(operationId = "patchDriveFile", summary = "Update a file via JSON Patch") + public Response patch( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("id") UUID id, + @Valid jakarta.json.JsonPatch patch) { + return patchInternal(uriInfo, securityContext, id, patch); + } + + @POST + @Path("/upload") + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Operation( + operationId = "uploadDriveFile", + summary = "Upload a file to Drive", + description = "Uploads a file to S3 and creates a ContextFile entity.", + responses = { + @ApiResponse( + responseCode = "201", + description = "File uploaded", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ContextFile.class))) + }) + public Response uploadFile( + @FormDataParam("file") InputStream fileInputStream, + @FormDataParam("file") FormDataContentDisposition fileDetail, + @FormDataParam("displayName") String displayName, + @FormDataParam("description") String description, + @FormDataParam("folder") String folderFqn, + @Context UriInfo uriInfo, + @Context SecurityContext securityContext) + throws IOException { + String user = securityContext.getUserPrincipal().getName(); + String originalFileName = + fileDetail.getFileName() != null ? fileDetail.getFileName() : fileDetail.getName(); + String contentType = URLConnection.guessContentTypeFromName(originalFileName); + if (contentType == null) { + contentType = "application/octet-stream"; + } + String fileExtension = ""; + int dotIdx = originalFileName.lastIndexOf('.'); + if (dotIdx != -1) { + fileExtension = originalFileName.substring(dotIdx + 1).toLowerCase(); + } + + AssetService assetService = AssetServiceFactory.getService(); + if (assetService == null) { + return Response.status(Response.Status.SERVICE_UNAVAILABLE) + .entity("{\"message\":\"Object storage is not configured\"}") + .type(MediaType.APPLICATION_JSON) + .build(); + } + + String pageName = ContextFileUploadSupport.sanitizeEntityName(originalFileName); + ContextFileType fileType = ContextFileUploadSupport.detectFileType(contentType); + + CreateContextFile createFile = new CreateContextFile(); + createFile.setName(pageName); + createFile.setDisplayName(displayName != null ? displayName : originalFileName); + createFile.setDescription(description); + createFile.setFileType(fileType); + createFile.setContentType(contentType); + createFile.setFileExtension(fileExtension); + createFile.setProcessingStatus(ProcessingStatus.Uploaded); + if (folderFqn != null && !folderFqn.isEmpty()) { + createFile.setFolder(folderFqn); + } + + try (ContextFileUploadSupport.BufferedUpload bufferedUpload = + ContextFileUploadSupport.bufferUpload(fileInputStream, maxFileSize)) { + createFile.setFileSize((double) bufferedUpload.getSize()); + + ContextFile file = mapper.createToEntity(createFile, user); + repository.prepareInternal(file, false); + + Asset asset = + ContextFileUploadSupport.buildAsset( + file, originalFileName, contentType, fileExtension, bufferedUpload.getSize(), user); + ContextFileContent content = + ContextFileUploadSupport.buildContent(file, asset, bufferedUpload.getChecksum(), user); + file.setAssetId(asset.getId()); + file.setHeadContentId(content.getId().toString()); + + boolean assetUploaded = false; + boolean assetPersisted = false; + ContextFile createdFile = null; + try { + try (InputStream uploadStream = bufferedUpload.newInputStream()) { + assetService.upload(asset, uploadStream).join(); + } + assetUploaded = true; + repository.getAssetRepository().create(asset); + assetPersisted = true; + + Response createResponse = create(uriInfo, securityContext, file); + createdFile = (ContextFile) createResponse.getEntity(); + + repository + .getContentRepository() + .create(null, content, user, ImpersonationContext.getImpersonatedBy()); + extractionService.submit(createdFile.getId(), content.getId()); + return createResponse; + } catch (Exception e) { + if (createdFile != null) { + cleanupFailedUpload(user, createdFile.getId()); + } + if (assetPersisted) { + try { + repository.getAssetRepository().delete(asset.getId()); + } catch (Exception ignored) { + // Best-effort cleanup. + } + } + if (assetUploaded) { + try { + assetService.delete(asset).join(); + } catch (Exception ignored) { + // Best-effort cleanup. + } + } + throw e; + } + } catch (ContextFileUploadSupport.MaxFileSizeExceededException e) { + return Response.status(Response.Status.REQUEST_ENTITY_TOO_LARGE) + .entity( + String.format( + "{\"message\":\"File size %d exceeds configured limit %d bytes\"}", + e.getActualSize(), e.getMaxFileSize())) + .type(MediaType.APPLICATION_JSON) + .build(); + } + } + + @GET + @Path("/{id}/download") + @Operation(operationId = "downloadDriveFile", summary = "Download a file by ID") + public Response downloadFile( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("id") UUID id, + @QueryParam("include") @DefaultValue("non-deleted") Include include, + @QueryParam("redirect") @DefaultValue("true") boolean redirect, + @QueryParam("expiry") @DefaultValue("300") int expirySeconds) { + ContextFile file = getInternal(uriInfo, securityContext, id, "", include); + Asset asset = resolveAsset(file); + if (asset == null) { + return Response.status(Response.Status.NOT_FOUND) + .entity("{\"message\":\"No current content found for this file\"}") + .type(MediaType.APPLICATION_JSON) + .build(); + } + + AssetService assetService = AssetServiceFactory.getService(); + if (assetService == null) { + return Response.status(Response.Status.SERVICE_UNAVAILABLE) + .entity("{\"message\":\"Object storage is not configured\"}") + .type(MediaType.APPLICATION_JSON) + .build(); + } + + try { + if (redirect && supportsRedirectDownload(assetService)) { + String signedUrl = + assetService.generateDownloadUrlWithExpiry( + asset, Duration.ofSeconds(clampExpiry(expirySeconds))); + if (signedUrl != null && !signedUrl.isEmpty()) { + return Response.temporaryRedirect(URI.create(signedUrl)).build(); + } + } + + InputStream fileStream = assetService.read(asset).join(); + if (fileStream == null) { + return Response.status(Response.Status.NOT_FOUND) + .entity("{\"message\":\"No current content found for this file\"}") + .type(MediaType.APPLICATION_JSON) + .build(); + } + + StreamingOutput output = + stream -> { + try (InputStream input = fileStream) { + input.transferTo(stream); + } catch (IOException e) { + throw new WebApplicationException("Failed to stream file content", e); + } + }; + + String safeName = sanitizeFileName(asset.getFileName()); + return Response.ok(output, asset.getContentType()) + .header("Content-Disposition", "attachment; filename=\"" + safeName + "\"") + .header("Content-Length", asset.getSize().longValue()) + .build(); + } catch (Exception e) { + return Response.status(Response.Status.INTERNAL_SERVER_ERROR) + .entity("{\"message\":\"Failed to download file content\"}") + .type(MediaType.APPLICATION_JSON) + .build(); + } + } + + @DELETE + @Path("/{id}") + @Operation(operationId = "deleteDriveFile", summary = "Delete a file") + public Response delete( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("id") UUID id, + @Parameter(description = "Permanently delete the file asynchronously.") + @QueryParam("hardDelete") + @DefaultValue("false") + boolean hardDelete) { + if (hardDelete) { + ContextFile file = getInternal(uriInfo, securityContext, id, "", Include.ALL); + if (!Boolean.TRUE.equals(file.getDeleted())) { + super.delete(uriInfo, securityContext, id, false, false); + } + return deleteByIdAsync(uriInfo, securityContext, id, false, true); + } + return super.delete(uriInfo, securityContext, id, false, false); + } + + @PUT + @Path("/restore") + @Operation( + operationId = "restoreDriveFile", + summary = "Restore a soft deleted drive file", + description = "Restore a drive file from the trash.") + public Response restore( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Valid RestoreEntity restore) { + return restoreEntity(uriInfo, securityContext, restore.getId()); + } + + private Asset resolveAsset(ContextFile file) { + if (file.getHeadContentId() != null && !file.getHeadContentId().isEmpty()) { + ContextFileContent content = repository.getContentById(file.getHeadContentId()); + if (content != null && content.getAssetId() != null && !content.getAssetId().isEmpty()) { + return repository.getAssetRepository().getById(content.getAssetId()); + } + } + if (file.getAssetId() != null && !file.getAssetId().isEmpty()) { + return repository.getAssetRepository().getById(file.getAssetId()); + } + return null; + } + + private void cleanupFailedUpload(String user, UUID fileId) { + try { + repository.delete(user, fileId, false, true); + } catch (Exception ignored) { + // Best-effort cleanup after a partially completed upload. + } + } + + private boolean supportsRedirectDownload(AssetService assetService) { + // The configured service is wrapped by QueuedDeleteAssetService, so unwrap to inspect the + // real provider when deciding whether to issue a signed-URL redirect. + AssetService unwrapped = AssetServiceFactory.unwrap(assetService); + return unwrapped instanceof S3AssetService || unwrapped instanceof AzureAssetService; + } + + static final int MAX_EXPIRY_SECONDS = 3600; + + /** Sanitize a filename for use in Content-Disposition headers. */ + static String sanitizeFileName(String fileName) { + return fileName.replaceAll("[\"\\\\\\r\\n]", "_"); + } + + /** Clamp expiry to [1, MAX_EXPIRY_SECONDS]. */ + static int clampExpiry(int expirySeconds) { + return Math.max(1, Math.min(expirySeconds, MAX_EXPIRY_SECONDS)); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileUploadSupport.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileUploadSupport.java new file mode 100644 index 000000000000..4e5bc22c5a00 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/ContextFileUploadSupport.java @@ -0,0 +1,198 @@ +package org.openmetadata.service.resources.drive; + +import org.openmetadata.schema.attachments.Asset; +import org.openmetadata.schema.attachments.AssetType; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileContent; +import org.openmetadata.schema.entity.data.ContextFileType; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.HexFormat; +import java.util.UUID; +import org.openmetadata.service.resources.feeds.MessageParser; + +final class ContextFileUploadSupport { + private static final String CONTEXT_FILE_ENTITY = "contextFile"; + + static final class MaxFileSizeExceededException extends IOException { + private final long actualSize; + private final long maxFileSize; + + MaxFileSizeExceededException(long actualSize, long maxFileSize) { + super( + String.format("File size %d exceeds configured limit %d bytes", actualSize, maxFileSize)); + this.actualSize = actualSize; + this.maxFileSize = maxFileSize; + } + + long getActualSize() { + return actualSize; + } + + long getMaxFileSize() { + return maxFileSize; + } + } + + static final class BufferedUpload implements AutoCloseable { + private final Path path; + private final long size; + private final String checksum; + + BufferedUpload(Path path, long size, String checksum) { + this.path = path; + this.size = size; + this.checksum = checksum; + } + + long getSize() { + return size; + } + + String getChecksum() { + return checksum; + } + + InputStream newInputStream() throws IOException { + return Files.newInputStream(path); + } + + @Override + public void close() throws IOException { + Files.deleteIfExists(path); + } + } + + private ContextFileUploadSupport() {} + + static boolean exceedsMaxFileSize(long fileSize, long maxFileSize) { + return maxFileSize > 0 && fileSize > maxFileSize; + } + + static String sanitizeEntityName(String originalFileName) { + String sanitized = + originalFileName.replaceAll("[^a-zA-Z0-9._-]", "_").replaceAll("_+", "_").toLowerCase(); + if (sanitized.length() > 180) { + sanitized = sanitized.substring(0, 180); + } + return sanitized + "_" + UUID.randomUUID().toString().substring(0, 8); + } + + static ContextFileType detectFileType(String contentType) { + if (contentType == null) { + return ContextFileType.Other; + } + String ct = contentType.toLowerCase(); + if (ct.equals("application/pdf")) { + return ContextFileType.PDF; + } + if (ct.contains("spreadsheet") || ct.contains("excel")) { + return ContextFileType.Spreadsheet; + } + if (ct.contains("presentation") || ct.contains("powerpoint")) { + return ContextFileType.Presentation; + } + if (ct.startsWith("image/")) { + return ContextFileType.Image; + } + if (ct.equals("text/csv") || ct.equals("application/csv")) { + return ContextFileType.CSV; + } + if (ct.contains("document") || ct.contains("word")) { + return ContextFileType.Document; + } + if (ct.startsWith("text/")) { + return ContextFileType.Text; + } + return ContextFileType.Other; + } + + static String buildEntityLink(ContextFile file) { + return "<#E::" + CONTEXT_FILE_ENTITY + "::" + file.getFullyQualifiedName() + ">"; + } + + static BufferedUpload bufferUpload(InputStream inputStream, long maxFileSize) throws IOException { + Path tempFile = Files.createTempFile("context-file-upload-", ".bin"); + MessageDigest digest = sha256Digest(); + long totalBytes = 0L; + byte[] buffer = new byte[8192]; + + try (OutputStream outputStream = Files.newOutputStream(tempFile)) { + int bytesRead; + while ((bytesRead = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, bytesRead); + digest.update(buffer, 0, bytesRead); + totalBytes += bytesRead; + if (exceedsMaxFileSize(totalBytes, maxFileSize)) { + throw new MaxFileSizeExceededException(totalBytes, maxFileSize); + } + } + return new BufferedUpload(tempFile, totalBytes, HexFormat.of().formatHex(digest.digest())); + } catch (IOException | RuntimeException e) { + Files.deleteIfExists(tempFile); + throw e; + } + } + + static Asset buildAsset( + ContextFile file, + String originalFileName, + String contentType, + String fileExtension, + long fileSize, + String updatedBy) { + Asset asset = new Asset(); + String entityLink = buildEntityLink(file); + MessageParser.EntityLink assetLink = MessageParser.EntityLink.parse(entityLink); + asset.setId(UUID.randomUUID().toString()); + asset.setFileName(originalFileName); + asset.setContentType(contentType); + asset.setSize((double) fileSize); + asset.setEntityLink(entityLink); + asset.setFullyQualifiedName(assetLink.getEntityFQN()); + asset.setUrl(""); + asset.setAssetType(AssetType.External); + asset.setExtension(fileExtension); + asset.setUpdatedBy(updatedBy); + asset.setUpdatedAt(System.currentTimeMillis()); + asset.setDeleted(false); + return asset; + } + + static ContextFileContent buildContent( + ContextFile file, Asset asset, String checksum, String updatedBy) { + String suffix = UUID.randomUUID().toString().substring(0, 8); + return new ContextFileContent() + .withId(UUID.randomUUID()) + .withName(file.getName() + "_content_" + suffix) + .withContextFile(file.getEntityReference()) + .withAssetId(asset.getId()) + .withContentType(asset.getContentType()) + .withSize(asset.getSize()) + .withChecksum(checksum) + .withIngestedAt(System.currentTimeMillis()) + .withIsCurrent(true) + .withProcessingStatus(ProcessingStatus.Uploaded) + .withUpdatedBy(updatedBy) + .withUpdatedAt(System.currentTimeMillis()) + .withDeleted(false); + } + + static String sha256(byte[] content) { + return HexFormat.of().formatHex(sha256Digest().digest(content)); + } + + private static MessageDigest sha256Digest() { + try { + return MessageDigest.getInstance("SHA-256"); + } catch (NoSuchAlgorithmException e) { + throw new IllegalStateException("SHA-256 is required for ContextFile content checksums", e); + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/FolderMapper.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/FolderMapper.java new file mode 100644 index 000000000000..321aaf320eff --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/FolderMapper.java @@ -0,0 +1,19 @@ +package org.openmetadata.service.resources.drive; + +import static org.openmetadata.service.util.EntityUtil.getEntityReference; + +import org.openmetadata.service.jdbi3.FolderRepository; +import org.openmetadata.schema.api.data.CreateFolder; +import org.openmetadata.schema.entity.data.Folder; +import org.openmetadata.service.mapper.EntityMapper; + +public class FolderMapper implements EntityMapper { + @Override + public Folder createToEntity(CreateFolder create, String user) { + return copy(new Folder(), create, user) + .withTags(create.getTags()) + .withIcon(create.getIcon()) + .withColor(create.getColor()) + .withParent(getEntityReference(FolderRepository.FOLDER_ENTITY, create.getParent())); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/FolderResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/FolderResource.java new file mode 100644 index 000000000000..f3d2fb4351c5 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/drive/FolderResource.java @@ -0,0 +1,222 @@ +package org.openmetadata.service.resources.drive; + +import static org.openmetadata.service.jdbi3.FolderRepository.FOLDER_ENTITY; + +import org.openmetadata.service.jdbi3.FolderRepository; +import org.openmetadata.schema.api.data.CreateFolder; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.Folder; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PATCH; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.UriInfo; +import java.util.List; +import java.util.UUID; +import org.openmetadata.schema.api.data.RestoreEntity; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.type.MetadataOperation; +import org.openmetadata.schema.utils.ResultList; +import org.openmetadata.service.Entity; +import org.openmetadata.service.jdbi3.ListFilter; +import org.openmetadata.service.limits.Limits; +import org.openmetadata.service.resources.Collection; +import org.openmetadata.service.resources.EntityResource; +import org.openmetadata.service.security.Authorizer; + +@Tag(name = "Drive Folders", description = "APIs for managing folders in the Context Center Drive.") +@Path("/v1/drive/folders") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Collection(name = "driveFolders") +public class FolderResource extends EntityResource { + public static final String COLLECTION_PATH = "v1/drive/folders/"; + public static final String FIELDS = "owners,tags,parent,children,domains,followers"; + private final FolderMapper mapper = new FolderMapper(); + + public static class FolderContents { + public Folder folder; + public List folders; + public List files; + public int childrenFolderCount; + public int childrenFileCount; + public int itemCount; + } + + public FolderResource(Authorizer authorizer, Limits limits) { + super(FOLDER_ENTITY, authorizer, limits); + } + + public static class FolderList extends ResultList {} + + @Override + protected List getEntitySpecificOperations() { + addViewOperation("parent,children", MetadataOperation.VIEW_BASIC); + return null; + } + + @Override + public Folder addHref(UriInfo uriInfo, Folder folder) { + super.addHref(uriInfo, folder); + Entity.withHref(uriInfo, folder.getParent()); + Entity.withHref(uriInfo, folder.getChildren()); + return folder; + } + + @GET + @Operation( + operationId = "listDriveFolders", + summary = "List folders", + responses = { + @ApiResponse( + responseCode = "200", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = FolderList.class))) + }) + public ResultList list( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @QueryParam("fields") String fieldsParam, + @QueryParam("limit") @DefaultValue("10") int limit, + @QueryParam("before") String before, + @QueryParam("after") String after, + @QueryParam("include") @DefaultValue("non-deleted") Include include) { + return super.listInternal( + uriInfo, securityContext, fieldsParam, new ListFilter(include), limit, before, after); + } + + @GET + @Path("/{id}") + @Operation(operationId = "getDriveFolder", summary = "Get a folder by ID") + public Folder get( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("id") UUID id, + @QueryParam("fields") String fieldsParam, + @QueryParam("include") @DefaultValue("non-deleted") Include include) { + return getInternal(uriInfo, securityContext, id, fieldsParam, include); + } + + @GET + @Path("/name/{fqn}") + @Operation(operationId = "getDriveFolderByFqn", summary = "Get a folder by FQN") + public Folder getByName( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("fqn") String fqn, + @QueryParam("fields") String fieldsParam, + @QueryParam("include") @DefaultValue("non-deleted") Include include) { + return getByNameInternal(uriInfo, securityContext, fqn, fieldsParam, include); + } + + @GET + @Path("/{id}/contents") + @Operation( + operationId = "getDriveFolderContents", + summary = "Get the direct contents of a folder") + public FolderContents getContents( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("id") UUID id, + @QueryParam("include") @DefaultValue("non-deleted") Include include) { + Folder folder = getInternal(uriInfo, securityContext, id, "parent,children", include); + List folders = repository.getChildFolderEntities(folder); + List files = repository.getChildFileEntities(folder); + + FolderContents response = new FolderContents(); + response.folder = folder; + response.folders = folders; + response.files = files; + response.childrenFolderCount = folders.size(); + response.childrenFileCount = files.size(); + response.itemCount = folders.size() + files.size(); + return response; + } + + @POST + @Operation(operationId = "createDriveFolder", summary = "Create a folder") + public Response create( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Valid CreateFolder create) { + Folder folder = mapper.createToEntity(create, securityContext.getUserPrincipal().getName()); + return create(uriInfo, securityContext, folder); + } + + @PUT + @Operation(operationId = "createOrUpdateDriveFolder", summary = "Create or update a folder") + public Response createOrUpdate( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Valid CreateFolder create) { + Folder folder = mapper.createToEntity(create, securityContext.getUserPrincipal().getName()); + return createOrUpdate(uriInfo, securityContext, folder); + } + + @PATCH + @Path("/{id}") + @Consumes(MediaType.APPLICATION_JSON_PATCH_JSON) + @Operation(operationId = "patchDriveFolder", summary = "Update a folder via JSON Patch") + public Response patch( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("id") UUID id, + @Valid jakarta.json.JsonPatch patch) { + return patchInternal(uriInfo, securityContext, id, patch); + } + + @DELETE + @Path("/{id}") + @Operation(operationId = "deleteDriveFolder", summary = "Delete a folder") + public Response delete( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @PathParam("id") UUID id, + @QueryParam("recursive") @DefaultValue("false") boolean recursive, + @Parameter(description = "Permanently delete the folder asynchronously.") + @QueryParam("hardDelete") + @DefaultValue("false") + boolean hardDelete) { + if (hardDelete) { + Folder folder = getInternal(uriInfo, securityContext, id, "", Include.ALL); + if (!Boolean.TRUE.equals(folder.getDeleted())) { + super.delete(uriInfo, securityContext, id, recursive, false); + } + return deleteByIdAsync(uriInfo, securityContext, id, recursive, true); + } + return super.delete(uriInfo, securityContext, id, recursive, false); + } + + @PUT + @Path("/restore") + @Operation( + operationId = "restoreDriveFolder", + summary = "Restore a soft deleted drive folder", + description = "Restore a folder from the trash.") + public Response restore( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Valid RestoreEntity restore) { + return restoreEntity(uriInfo, securityContext, restore.getId()); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/knowledge/KnowledgePageMapper.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/knowledge/KnowledgePageMapper.java new file mode 100644 index 000000000000..dd901bd939d0 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/knowledge/KnowledgePageMapper.java @@ -0,0 +1,32 @@ +package org.openmetadata.service.resources.knowledge; + +import static org.openmetadata.service.Entity.ORGANIZATION_NAME; +import static org.openmetadata.service.Entity.TEAM; + +import org.openmetadata.schema.api.data.CreatePage; +import org.openmetadata.schema.entity.data.Page; +import java.util.ArrayList; +import java.util.List; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.type.Votes; +import org.openmetadata.service.Entity; +import org.openmetadata.service.mapper.EntityMapper; + +public class KnowledgePageMapper implements EntityMapper { + @Override + public Page createToEntity(CreatePage create, String user) { + if (create.getRelatedEntities() == null || create.getRelatedEntities().isEmpty()) { + List references = new ArrayList<>(); + references.add(Entity.getEntityReferenceByName(TEAM, ORGANIZATION_NAME, Include.ALL)); + create.withRelatedEntities(references); + } + return copy(new Page(), create, user) + .withTags(create.getTags()) + .withVotes(new Votes().withUpVotes(0).withDownVotes(0)) + .withPageType(create.getPageType()) + .withPage(create.getPage()) + .withParent(create.getParent()) + .withRelatedEntities(create.getRelatedEntities()); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/knowledge/KnowledgePageResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/knowledge/KnowledgePageResource.java new file mode 100644 index 000000000000..e511c062b6d4 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/knowledge/KnowledgePageResource.java @@ -0,0 +1,768 @@ +package org.openmetadata.service.resources.knowledge; + +import static org.openmetadata.service.jdbi3.KnowledgePageRepository.KNOWLEDGE_PAGE_ENTITY; +import static org.openmetadata.service.Entity.BOT; +import static org.openmetadata.service.Entity.TEST_CASE; +import static org.openmetadata.service.Entity.TEST_SUITE; +import static org.openmetadata.service.Entity.USER; + +import org.openmetadata.service.jdbi3.DaoListFilter; +import org.openmetadata.service.jdbi3.KnowledgePageRepository; +import org.openmetadata.schema.api.data.CreatePage; +import org.openmetadata.schema.entity.data.Page; +import org.openmetadata.schema.entity.data.PageHierarchy; +import org.openmetadata.schema.entity.data.PageType; +import io.swagger.v3.oas.annotations.ExternalDocumentation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.ExampleObject; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.json.JsonPatch; +import jakarta.validation.Valid; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PATCH; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.UriInfo; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import org.openmetadata.common.utils.CommonUtil; +import org.openmetadata.schema.api.VoteRequest; +import org.openmetadata.schema.api.data.RestoreEntity; +import org.openmetadata.schema.entity.teams.User; +import org.openmetadata.schema.type.ChangeEvent; +import org.openmetadata.schema.type.EntityHistory; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.type.MetadataOperation; +import org.openmetadata.schema.utils.ResultList; +import org.openmetadata.service.Entity; +import org.openmetadata.service.jdbi3.ListFilter; +import org.openmetadata.service.limits.Limits; +import org.openmetadata.service.resources.Collection; +import org.openmetadata.service.resources.EntityResource; +import org.openmetadata.service.security.Authorizer; +import org.openmetadata.service.security.policyevaluator.OperationContext; + +@Slf4j +@Tag(name = "Knowledge", description = "APIs related knowledge pages of data assets.") +@Path("/v1/knowledgeCenter") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Collection(name = "KnowledgeCenter") +public class KnowledgePageResource extends EntityResource { + public static final String INVALID_ENTITY_MSG = + "Given Entity Type : %s does not support Knowledge Pages."; + public static final Set EXCLUDED_ENTITIES = Set.of(USER, BOT, TEST_SUITE, TEST_CASE); + public static final String COLLECTION_PATH = "v1/knowledgeCenter"; + public static final String FIELDS = + "owners,tags,followers,votes,page,parent,childrenCount,relatedEntities,relatedArticles,attachments,domains,dataProducts"; + private final KnowledgePageMapper mapper = new KnowledgePageMapper(); + + public KnowledgePageResource(Authorizer authorizer, Limits limits) { + super(KNOWLEDGE_PAGE_ENTITY, authorizer, limits); + } + + public static class PageList extends ResultList { + /* Required for serde */ + } + + @Override + protected List getEntitySpecificOperations() { + this.allowedFields.add("relatedArticles"); + addViewOperation( + "pageType,page,parent,children,relatedEntities,relatedArticles", + MetadataOperation.VIEW_BASIC); + return null; + } + + @Override + public Page addHref(UriInfo uriInfo, Page entity) { + super.addHref(uriInfo, entity); + Entity.withHref(uriInfo, entity.getRelatedEntities()); + return entity; + } + + @GET + @Operation( + operationId = "listKnowledgePages", + summary = "Get a list of Knowledge Pages", + description = + "Get a list of Knowledge Pages. Use `fields` " + + "parameter to get only necessary fields. Use cursor-based pagination to limit the number " + + "entries in the list using `limit` and `before` or `after` query params.", + responses = { + @ApiResponse( + responseCode = "200", + description = "Get List of Knowledge Pages", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = PageList.class))) + }) + public ResultList listKnowledgePage( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter( + description = "Fields requested in the returned resource", + schema = @Schema(type = "string", example = FIELDS)) + @QueryParam("fields") + String fieldsParam, + @Parameter( + description = "Type of the entity for which to list the Knowledge Pages", + schema = @Schema(type = "string")) + @QueryParam("entityType") + String entityType, + @Parameter(description = "Knowledge Page Type", schema = @Schema(type = "string")) + @QueryParam("pageType") + PageType knowledgePageType, + @Parameter( + description = "UUID of the entity for which to list the Knowledge Pages", + schema = @Schema(type = "UUID")) + @QueryParam("entityId") + UUID entityId, + @Parameter( + description = + "Limit the number Knowledge Pages returned. " + "(1 to 1000000, default = 10)") + @DefaultValue("10") + @Min(value = 0, message = "must be greater than or equal to 0") + @Max(value = 1000000, message = "must be less than or equal to 1000000") + @QueryParam("limit") + int limitParam, + @Parameter( + description = "UUID of the entity for which to list the Knowledge Pages", + schema = @Schema(type = "UUID")) + @QueryParam("tagFQN") + String tagFQN, + @Parameter( + description = "Returns list of Knowledge Pages before this cursor", + schema = @Schema(type = "string")) + @QueryParam("before") + String before, + @Parameter( + description = "Returns list of Knowledge Pages after this cursor", + schema = @Schema(type = "string")) + @QueryParam("after") + String after, + @Parameter( + description = "Include all, deleted, or non-deleted entities.", + schema = @Schema(implementation = Include.class)) + @QueryParam("include") + @DefaultValue("non-deleted") + Include include) { + ListFilter filter = new ListFilter(include); + if ((!CommonUtil.nullOrEmpty(entityId) && CommonUtil.nullOrEmpty(entityType)) + || (CommonUtil.nullOrEmpty(entityId) && !CommonUtil.nullOrEmpty(entityType))) { + throw new IllegalArgumentException( + "Query Param Entity Id and Entity Type both needs to be provided."); + } else if (!CommonUtil.nullOrEmpty(entityId) && !CommonUtil.nullOrEmpty(entityType)) { + filter.addQueryParam("entityType", entityType); + List fromIds = new ArrayList<>(); + // Add the User + fromIds.add(entityId.toString()); + // Add team and domain if exists + if (entityType.equals(USER)) { + User user = Entity.getEntity(USER, entityId, "domains,teams", include); + // Add Teams + if (user.getTeams() != null) { + user.getTeams().forEach(team -> fromIds.add(team.getId().toString())); + } + // Add Domains + if (user.getDomains() != null) { + user.getDomains().forEach(domain -> fromIds.add(domain.getId().toString())); + } + } + filter.addQueryParam("entityId", getUsersFromIdList(fromIds)); + } + if (knowledgePageType != null) { + filter.addQueryParam("pageType", knowledgePageType.value()); + } + + if (!CommonUtil.nullOrEmpty(tagFQN)) { + filter.addQueryParam("tagFQN", tagFQN); + } + return super.listInternal( + uriInfo, securityContext, fieldsParam, filter, limitParam, before, after); + } + + @GET + @Path("/hierarchy") + @Valid + @Operation( + operationId = "listPageHierarchy", + summary = "List Page with hierarchy", + description = "Get a list of pages with hierarchy.", + responses = { + @ApiResponse( + responseCode = "200", + description = "List of pages with hierarchy", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = KnowledgePageResource.PageList.class))) + }) + public ResultList listHierarchy( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Knowledge Page Type", schema = @Schema(type = "string")) + @QueryParam("pageType") + PageType knowledgePageType, + @Parameter(description = "Limit the number of pages returned. (1 to 1000000, default = 10)") + @DefaultValue("10000") + @Min(value = 0, message = "must be greater than or equal to 0") + @Max(value = 1000000, message = "must be less than or equal to 1000000") + @QueryParam("limit") + int limitParam) { + DaoListFilter filter = new DaoListFilter(Include.NON_DELETED); + if (knowledgePageType != null) { + filter.addQueryParam("pageType", knowledgePageType.value()); + } + return new ResultList<>(repository.listHierarchy(filter, limitParam)); + } + + @GET + @Path("/search/hierarchy") + @Valid + @Operation( + operationId = "listPageHierarchySearch", + summary = "List Page with hierarchy from Search", + description = "Get a list of pages with hierarchy from Search.", + responses = { + @ApiResponse( + responseCode = "200", + description = "List of pages with hierarchy from Search", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = KnowledgePageResource.PageList.class))) + }) + public ResultList listHierarchyWithSearch( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Knowledge Page Type", schema = @Schema(type = "string")) + @QueryParam("pageType") + PageType knowledgePageType, + @Parameter(description = "Offset for pagination") @QueryParam("offset") @DefaultValue("0") + int offset, + @Parameter(description = "Limit the number of pages returned. (1 to 1000000, default = 10)") + @DefaultValue("10") + @QueryParam("limit") + int limit, + @Parameter(description = "Parent Fully Qualified Name") @QueryParam("parent") String parent, + @Parameter( + description = + "FQN of the active page to show the active page correctly in the hierarchy , while showing other root nodes at level 1.") + @QueryParam("activeFqn") + String activeFqn) { + if (!CommonUtil.nullOrEmpty(activeFqn)) { + return repository.getHierarchyWithSearchForActivePage( + activeFqn, knowledgePageType, offset, limit); + } else { + return repository.getHierarchyWithSearch(parent, knowledgePageType, offset, limit); + } + } + + @GET + @Path("/{id}") + @Operation( + operationId = "getKnowledgePageById", + summary = "Get a Knowledge Page", + description = "Get a KnowledgePage by `id`", + responses = { + @ApiResponse( + responseCode = "200", + description = "KnowledgePage", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))), + @ApiResponse( + responseCode = "404", + description = "KnowledgePage for instance {id} is not found") + }) + public Page getKnowledgePageById( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "KnowledgePage Id", schema = @Schema(type = "UUID")) @PathParam("id") + UUID id, + @Parameter( + description = "Fields requested in the returned resource", + schema = @Schema(type = "string", example = FIELDS)) + @QueryParam("fields") + String fieldsParam, + @Parameter( + description = "Include all, deleted, or non-deleted entities.", + schema = @Schema(implementation = Include.class)) + @QueryParam("include") + @DefaultValue("non-deleted") + Include include, + @Parameter( + description = + "Per-relation include control. Format: field:value,field2:value2. " + + "Example: owners:non-deleted,followers:all. " + + "Valid values: all, deleted, non-deleted. " + + "If not specified for a field, uses the entity's include value.", + schema = @Schema(type = "string", example = "owners:non-deleted,followers:all")) + @QueryParam("includeRelations") + String includeRelations) { + return getInternal(uriInfo, securityContext, id, fieldsParam, include, includeRelations); + } + + @GET + @Path("/name/{fqn}") + @Operation( + operationId = "getKnowledgePageFqn", + summary = "Get a KnowledgePage by name", + description = "Get a KnowledgePage by fully qualified table name.", + responses = { + @ApiResponse( + responseCode = "200", + description = "KnowledgePage", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))), + @ApiResponse( + responseCode = "404", + description = "KnowledgePage for instance {id} is not found") + }) + public Page getKnowledgePageByName( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter( + description = "Fully qualified name of the KnowledgePage", + schema = @Schema(type = "string")) + @PathParam("fqn") + String fqn, + @Parameter( + description = "Fields requested in the returned resource", + schema = @Schema(type = "string", example = FIELDS)) + @QueryParam("fields") + String fieldsParam, + @Parameter( + description = "Include all, deleted, or non-deleted entities.", + schema = @Schema(implementation = Include.class)) + @QueryParam("include") + @DefaultValue("non-deleted") + Include include, + @Parameter( + description = + "Per-relation include control. Format: field:value,field2:value2. " + + "Example: owners:non-deleted,followers:all. " + + "Valid values: all, deleted, non-deleted. " + + "If not specified for a field, uses the entity's include value.", + schema = @Schema(type = "string", example = "owners:non-deleted,followers:all")) + @QueryParam("includeRelations") + String includeRelations) { + return getByNameInternal(uriInfo, securityContext, fqn, fieldsParam, include, includeRelations); + } + + @GET + @Path("/{id}/versions") + @Operation( + operationId = "listAllKnowledgePageVersion", + summary = "Get List of all KnowledgePage versions", + description = "Get a list of all the versions of a KnowledgePage identified by `id`", + responses = { + @ApiResponse( + responseCode = "200", + description = "List of KnowledgePage versions", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = EntityHistory.class))) + }) + public EntityHistory listVersions( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "KnowledgePage Id", schema = @Schema(type = "string")) + @PathParam("id") + UUID id) { + return super.listVersionsInternal(securityContext, id); + } + + @GET + @Path("/{id}/versions/{version}") + @Operation( + operationId = "getSpecificKnowledgePageVersion", + summary = "Get a specific version of the KnowledgePage", + description = "Get a version of the KnowledgePage by given `id`", + responses = { + @ApiResponse( + responseCode = "200", + description = "KnowledgePage", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))), + @ApiResponse( + responseCode = "404", + description = "KnowledgePage for instance {id} and version {version} is " + "not found") + }) + public Page getVersion( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "KnowledgePage Id", schema = @Schema(type = "UUID")) @PathParam("id") + UUID id, + @Parameter( + description = "KnowledgePage version number in the form `major`.`minor`", + schema = @Schema(type = "string", example = "0.1 or 1.1")) + @PathParam("version") + String version) { + return super.getVersionInternal(securityContext, id, version); + } + + @POST + @Operation( + operationId = "createKnowledgePage", + summary = "Create a Knowledge Page", + description = "Create a Knowledge Page.", + responses = { + @ApiResponse( + responseCode = "200", + description = "The Knowledge Page", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))), + @ApiResponse(responseCode = "400", description = "Bad request") + }) + public Response create( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Valid CreatePage create) { + Page page = mapper.createToEntity(create, securityContext.getUserPrincipal().getName()); + return create(uriInfo, securityContext, page); + } + + @PUT + @Operation( + operationId = "createOrUpdateKnowledgePage", + summary = "Create or update a Knowledge Page", + description = + "Create a Knowledge Page, if it does not exist. If a knowledge page already exists, update the Knowledge Page.", + responses = { + @ApiResponse( + responseCode = "200", + description = "The Knowledge Page", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))), + @ApiResponse(responseCode = "400", description = "Bad request") + }) + public Response createOrUpdate( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Valid CreatePage create) { + Page page = mapper.createToEntity(create, securityContext.getUserPrincipal().getName()); + return createOrUpdate(uriInfo, securityContext, page); + } + + @PATCH + @Path("/{id}") + @Operation( + operationId = "patchKnowledgePage", + summary = "Update a Knowledge Page", + description = "Update an existing Knowledge Page using JsonPatch.", + externalDocs = + @ExternalDocumentation( + description = "JsonPatch RFC", + url = "https://tools.ietf.org/html/rfc6902")) + @Consumes(MediaType.APPLICATION_JSON_PATCH_JSON) + public Response patch( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Id of the Knowledge Page", schema = @Schema(type = "UUID")) + @PathParam("id") + UUID id, + @RequestBody( + description = "JsonPatch with array of operations", + content = + @Content( + mediaType = MediaType.APPLICATION_JSON_PATCH_JSON, + examples = { + @ExampleObject( + "[" + "{op:remove, path:/a}," + "{op:add, path: /b, value: val}" + "]") + })) + JsonPatch patch) { + return patchInternal(uriInfo, securityContext, id, patch); + } + + @PUT + @Path("/{id}/followers") + @Operation( + operationId = "addFollower", + summary = "Add a follower", + description = "Add a user identified by `userId` as follower of this model", + responses = { + @ApiResponse( + responseCode = "200", + description = "OK", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ChangeEvent.class))), + @ApiResponse(responseCode = "404", description = "model for instance {id} is not found") + }) + public Response addFollower( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Id of the Knowledge Page", schema = @Schema(type = "UUID")) + @PathParam("id") + UUID id, + @Parameter( + description = "Id of the user to be added as follower", + schema = @Schema(type = "UUID")) + UUID userId) { + return repository + .addFollower(securityContext.getUserPrincipal().getName(), id, userId) + .toResponse(); + } + + @PUT + @Path("/{id}/vote") + @Operation( + operationId = "updateVote", + summary = "Update Vote for a this entity", + description = "Update vote for a entity", + responses = { + @ApiResponse( + responseCode = "200", + description = "OK", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ChangeEvent.class))), + @ApiResponse(responseCode = "404", description = "model for instance {id} is not found") + }) + public Response updateVote( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Id of the Query", schema = @Schema(type = "UUID")) @PathParam("id") + UUID id, + @Valid VoteRequest request) { + return repository + .updateVote(securityContext.getUserPrincipal().getName(), id, request) + .toResponse(); + } + + @DELETE + @Path("/{id}/followers/{userId}") + @Operation( + operationId = "deleteFollower", + summary = "Remove a follower", + description = "Remove the user identified `userId` as a follower of the model.", + responses = { + @ApiResponse( + responseCode = "200", + description = "OK", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ChangeEvent.class))), + }) + public Response deleteFollower( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Id of the Knowledge Page", schema = @Schema(type = "UUID")) + @PathParam("id") + UUID id, + @Parameter( + description = "Id of the user being removed as follower", + schema = @Schema(type = "UUID")) + @PathParam("userId") + UUID userId) { + return repository + .deleteFollower(securityContext.getUserPrincipal().getName(), id, userId) + .toResponse(); + } + + @PUT + @Path("/{id}/usage") + @Operation( + operationId = "addKnowledgePageUsage", + summary = "Add Knowledge Page usage", + description = "Add Knowledge Page usage", + responses = { + @ApiResponse( + responseCode = "200", + description = "OK", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))) + }) + public Response addKnowledgePageUsage( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Id of the Knowledge Page", schema = @Schema(type = "UUID")) + @PathParam("id") + UUID id, + @Valid List entityIds) { + OperationContext operationContext = + new OperationContext(entityType, MetadataOperation.EDIT_ALL); + authorizer.authorize(securityContext, operationContext, getResourceContextById(id)); + return repository + .addKnowledgePageUsage(uriInfo, securityContext.getUserPrincipal().getName(), id, entityIds) + .toResponse(); + } + + @DELETE + @Path("/{id}/usage") + @Operation( + operationId = "removeKnowledgePageUsage", + summary = "remove Knowledge Page usage", + description = "remove Knowledge Page Usage", + responses = { + @ApiResponse( + responseCode = "200", + description = "OK", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))) + }) + public Response removeKnowledgePageUsage( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Id of the knowledge page", schema = @Schema(type = "UUID")) + @PathParam("id") + UUID id, + @Valid List entityIds) { + OperationContext operationContext = + new OperationContext(entityType, MetadataOperation.EDIT_ALL); + authorizer.authorize(securityContext, operationContext, getResourceContextById(id)); + return repository + .removeKnowledgePageUsedIn( + uriInfo, securityContext.getUserPrincipal().getName(), id, entityIds) + .toResponse(); + } + + @PUT + @Path("/restore") + @Operation( + operationId = "restore", + summary = "Restore a soft deleted Knowledge Page", + description = "Restore a soft deleted Knowledge Page.", + responses = { + @ApiResponse( + responseCode = "200", + description = "Successfully restored the Knowledge Page ", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Page.class))) + }) + public Response restoreQuery( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Valid RestoreEntity restore) { + return restoreEntity(uriInfo, securityContext, restore.getId()); + } + + @DELETE + @Path("/{id}") + @Operation( + operationId = "deleteKnowledgePage", + summary = "Delete a Knowledge Page", + description = "Delete a knowledge page by `id`.", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse( + responseCode = "404", + description = "Knowledge Page for instance {id} is not found") + }) + public Response delete( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Id of the Knowledge Page", schema = @Schema(type = "UUID")) + @PathParam("id") + UUID id, + @Parameter( + description = "Recursively delete this entity and it's children. (Default `false`)") + @QueryParam("recursive") + @DefaultValue("false") + boolean recursive) { + return delete(uriInfo, securityContext, id, recursive, true); + } + + @DELETE + @Path("/async/{id}") + @Operation( + operationId = "deleteKnowledgePageAsync", + summary = "Asynchronously delete a Knowledge Page", + description = "Asynchronously delete a knowledge page by `id`.", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse( + responseCode = "404", + description = "Knowledge Page for instance {id} is not found") + }) + public Response deleteByIdAsync( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter(description = "Id of the Knowledge Page", schema = @Schema(type = "UUID")) + @PathParam("id") + UUID id, + @Parameter( + description = "Recursively delete this entity and it's children. (Default `false`)") + @QueryParam("recursive") + @DefaultValue("false") + boolean recursive) { + return deleteByIdAsync(uriInfo, securityContext, id, recursive, true); + } + + @DELETE + @Path("/name/{fqn}") + @Operation( + operationId = "deleteKnowledgePageByFQN", + summary = "Delete a Knowledge Page", + description = "Delete a KnowledgePage by `fullyQualifiedName`.", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse( + responseCode = "404", + description = "Knowledge Page for instance {fqn} is not found") + }) + public Response delete( + @Context UriInfo uriInfo, + @Context SecurityContext securityContext, + @Parameter( + description = "Fully qualified name of the Knowledge Page", + schema = @Schema(type = "string")) + @PathParam("fqn") + String fqn, + @Parameter( + description = "Recursively delete this entity and it's children. (Default `false`)") + @QueryParam("recursive") + @DefaultValue("false") + boolean recursive) { + return deleteByName(uriInfo, securityContext, fqn, recursive, true); + } + + private String getUsersFromIdList(List fromIds) { + return fromIds.stream().map(item -> "'" + item + "'").collect(Collectors.joining(",")); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexFactory.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexFactory.java index 1af43d6f4ca6..c86c8cf0eb34 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexFactory.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexFactory.java @@ -18,8 +18,11 @@ import org.openmetadata.schema.entity.data.DashboardDataModel; import org.openmetadata.schema.entity.data.Database; import org.openmetadata.schema.entity.data.DatabaseSchema; +import org.openmetadata.schema.entity.data.ContextFile; import org.openmetadata.schema.entity.data.Directory; import org.openmetadata.schema.entity.data.File; +import org.openmetadata.schema.entity.data.Folder; +import org.openmetadata.schema.entity.data.Page; import org.openmetadata.schema.entity.data.Glossary; import org.openmetadata.schema.entity.data.GlossaryTerm; import org.openmetadata.schema.entity.data.Metric; @@ -52,6 +55,7 @@ import org.openmetadata.service.search.indexes.ChartIndex; import org.openmetadata.service.search.indexes.ClassificationIndex; import org.openmetadata.service.search.indexes.ContainerIndex; +import org.openmetadata.service.search.indexes.ContextFileIndex; import org.openmetadata.service.search.indexes.DashboardDataModelIndex; import org.openmetadata.service.search.indexes.DashboardIndex; import org.openmetadata.service.search.indexes.DashboardServiceIndex; @@ -64,6 +68,7 @@ import org.openmetadata.service.search.indexes.DriveServiceIndex; import org.openmetadata.service.search.indexes.EntityReportDataIndex; import org.openmetadata.service.search.indexes.FileIndex; +import org.openmetadata.service.search.indexes.FolderIndex; import org.openmetadata.service.search.indexes.GlossaryIndex; import org.openmetadata.service.search.indexes.GlossaryTermIndex; import org.openmetadata.service.search.indexes.IngestionPipelineIndex; @@ -77,6 +82,7 @@ import org.openmetadata.service.search.indexes.MetricIndex; import org.openmetadata.service.search.indexes.MlModelIndex; import org.openmetadata.service.search.indexes.MlModelServiceIndex; +import org.openmetadata.service.search.indexes.PageIndex; import org.openmetadata.service.search.indexes.PipelineExecutionIndex; import org.openmetadata.service.search.indexes.PipelineIndex; import org.openmetadata.service.search.indexes.PipelineServiceIndex; @@ -159,6 +165,9 @@ public SearchIndex buildIndex(String entityType, Object entity) { case Entity.FILE -> new FileIndex((File) entity); case Entity.SPREADSHEET -> new SpreadsheetIndex((Spreadsheet) entity); case Entity.WORKSHEET -> new WorksheetIndex((Worksheet) entity); + case Entity.FOLDER -> new FolderIndex((Folder) entity); + case Entity.CONTEXT_FILE -> new ContextFileIndex((ContextFile) entity); + case Entity.PAGE -> new PageIndex((Page) entity); case Entity.DATA_PRODUCT -> new DataProductIndex((DataProduct) entity); case Entity.METADATA_SERVICE -> new MetadataServiceIndex((MetadataService) entity); case Entity.ENTITY_REPORT_DATA -> new EntityReportDataIndex((ReportData) entity); diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/ContextFileIndex.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/ContextFileIndex.java new file mode 100644 index 000000000000..89355cc16f4c --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/ContextFileIndex.java @@ -0,0 +1,59 @@ +package org.openmetadata.service.search.indexes; + +import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty; + +import java.util.Map; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.service.Entity; + +public class ContextFileIndex implements SearchIndex { + final ContextFile file; + + public ContextFileIndex(ContextFile file) { + this.file = file; + } + + @Override + public Object getEntity() { + return file; + } + + @Override + public String getEntityTypeName() { + return Entity.CONTEXT_FILE; + } + + @Override + public Map buildSearchIndexDocInternal(Map doc) { + doc.put("entityType", Entity.CONTEXT_FILE); + doc.put("deleted", file.getDeleted() != null ? file.getDeleted() : Boolean.FALSE); + if (file.getOwners() != null) { + doc.put("owners", file.getOwners()); + } + if (file.getVotes() != null) { + int up = file.getVotes().getUpVotes() != null ? file.getVotes().getUpVotes() : 0; + int down = file.getVotes().getDownVotes() != null ? file.getVotes().getDownVotes() : 0; + doc.put("totalVotes", up - down); + } + doc.put("fileType", file.getFileType()); + doc.put("fileSize", file.getFileSize()); + doc.put("fileExtension", file.getFileExtension()); + doc.put("contentType", file.getContentType()); + doc.put("processingStatus", file.getProcessingStatus()); + doc.put("sourceType", file.getSourceType()); + if (!nullOrEmpty(file.getExtractedText())) { + doc.put("extractedText", file.getExtractedText()); + } + if (file.getFolder() != null) { + doc.put("folder", getEntityWithDisplayName(file.getFolder())); + } + return doc; + } + + public static Map getFields() { + Map fields = SearchIndex.getDefaultFields(); + fields.put("fileExtension", 3.0f); + fields.put("extractedText", 2.0f); + return fields; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/FolderIndex.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/FolderIndex.java new file mode 100644 index 000000000000..6735ca4b402d --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/FolderIndex.java @@ -0,0 +1,41 @@ +package org.openmetadata.service.search.indexes; + +import java.util.Map; +import org.openmetadata.schema.entity.data.Folder; +import org.openmetadata.service.Entity; + +public class FolderIndex implements SearchIndex { + final Folder folder; + + public FolderIndex(Folder folder) { + this.folder = folder; + } + + @Override + public Object getEntity() { + return folder; + } + + @Override + public String getEntityTypeName() { + return Entity.FOLDER; + } + + @Override + public Map buildSearchIndexDocInternal(Map doc) { + doc.put("entityType", Entity.FOLDER); + doc.put("deleted", folder.getDeleted() != null ? folder.getDeleted() : Boolean.FALSE); + if (folder.getOwners() != null) { + doc.put("owners", folder.getOwners()); + } + if (folder.getParent() != null) { + doc.put("parent", getEntityWithDisplayName(folder.getParent())); + } + doc.put("childrenCount", folder.getChildrenCount()); + return doc; + } + + public static Map getFields() { + return SearchIndex.getDefaultFields(); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/PageIndex.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/PageIndex.java new file mode 100644 index 000000000000..85234c30c951 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/PageIndex.java @@ -0,0 +1,43 @@ +package org.openmetadata.service.search.indexes; + +import java.util.Map; +import org.openmetadata.schema.entity.data.Page; +import org.openmetadata.service.Entity; +import org.openmetadata.service.util.FullyQualifiedName; + +public class PageIndex implements SearchIndex { + final Page page; + + public PageIndex(Page page) { + this.page = page; + } + + @Override + public Object getEntity() { + return page; + } + + @Override + public String getEntityTypeName() { + return Entity.PAGE; + } + + @Override + public Map buildSearchIndexDocInternal(Map doc) { + doc.put("fqnDepth", calculateFqnDepth(page.getFullyQualifiedName())); + // Pages are hard-deleted (not soft-deleted), so always appear as not-deleted in search + doc.put("deleted", Boolean.FALSE); + return doc; + } + + int calculateFqnDepth(String fullyQualifiedName) { + if (fullyQualifiedName == null || fullyQualifiedName.isEmpty()) { + return 0; + } + return FullyQualifiedName.split(fullyQualifiedName).length; + } + + public static Map getFields() { + return SearchIndex.getDefaultFields(); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/context/ContextEntityPromptServiceTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/context/ContextEntityPromptServiceTest.java new file mode 100644 index 000000000000..664bca1fc923 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/context/ContextEntityPromptServiceTest.java @@ -0,0 +1,126 @@ +package org.openmetadata.service.context; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import jakarta.ws.rs.core.SecurityContext; +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Test; +import org.openmetadata.schema.type.EntityReference; + +class ContextEntityPromptServiceTest { + + @Test + void assembleDeduplicatesEntitiesAndFormatsPrompt() { + EntityReference fileRef = reference("contextFile", "q3-report"); + EntityReference pageRef = reference("page", "distribution-guidelines"); + ContextEntityPromptService service = + new ContextEntityPromptService( + (securityContext, reference) -> + switch (reference.getType()) { + case "contextFile" -> Optional.of( + new ResolvedContextEntity( + fileRef, + "File (PDF)", + "Q3 Report", + "finance.q3-report", + "Quarterly planning document", + "Revenue grew materially year over year.")); + case "page" -> Optional.of( + new ResolvedContextEntity( + pageRef, + "Page", + "Distribution Guidelines", + "knowledge.distribution-guidelines", + null, + "Check skewness and percentiles before quoting averages.")); + default -> Optional.empty(); + }); + + ContextPromptInjectionResult result = + service.assemble(null, List.of(fileRef, fileRef, pageRef)); + + assertEquals(2, result.usedEntityRefs().size()); + assertTrue(result.formattedContext().contains("")); + assertTrue(result.formattedContext().contains("Q3 Report")); + assertTrue(result.formattedContext().contains("Distribution Guidelines")); + assertTrue(result.formattedContext().contains("Content:")); + assertTrue(result.totalTokens() > 0); + } + + @Test + void assembleRespectsBudgetByTruncatingLongBodies() { + EntityReference fileRef = reference("contextFile", "long-file"); + String longBody = "token ".repeat(5000); + ContextEntityPromptService service = + new ContextEntityPromptService( + (securityContext, reference) -> + Optional.of( + new ResolvedContextEntity( + fileRef, "File (Text)", "Long File", "drive.long-file", null, longBody))); + + ContextPromptInjectionResult result = service.assemble(null, List.of(fileRef)); + + assertFalse(result.formattedContext().isEmpty()); + assertTrue(result.formattedContext().contains("[truncated]")); + assertTrue(result.totalTokens() <= ContextEntityPromptService.TOTAL_TOKEN_BUDGET); + } + + @Test + void assembleReturnsEmptyWhenNothingResolves() { + EntityReference ref = reference("contextFile", "missing"); + ContextEntityPromptService service = + new ContextEntityPromptService( + (SecurityContext sc, EntityReference reference) -> Optional.empty()); + + ContextPromptInjectionResult result = service.assemble(null, List.of(ref)); + + assertTrue(result.formattedContext().isEmpty()); + assertTrue(result.usedEntityRefs().isEmpty()); + assertEquals(0, result.totalTokens()); + } + + @Test + void assembleSelectsRelevantChunkForQueryInsteadOfDocumentPrefix() { + EntityReference fileRef = reference("contextFile", "analytics-playbook"); + String longIntro = "intro ".repeat(1500); + String relevantSection = + "When the revenue distribution is skewed, do not rely only on averages. " + + "Use median, percentiles, and outlier review before making claims."; + String longTail = "tail ".repeat(1500); + String longBody = longIntro + "\n\n" + relevantSection + "\n\n" + longTail; + + ContextEntityPromptService service = + new ContextEntityPromptService( + (securityContext, reference) -> + Optional.of( + new ResolvedContextEntity( + fileRef, + "File (PDF)", + "Analytics Playbook", + "drive.analytics-playbook", + null, + longBody))); + + ContextPromptInjectionResult result = + service.assemble( + null, + List.of(fileRef), + "What does the playbook say about skewed revenue distributions and percentiles?"); + + assertFalse(result.formattedContext().isEmpty()); + assertTrue(result.formattedContext().contains(relevantSection)); + } + + private EntityReference reference(String type, String name) { + return new EntityReference() + .withId(UUID.randomUUID()) + .withType(type) + .withName(name) + .withFullyQualifiedName(type + "." + name) + .withDisplayName(name); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/context/DefaultContextEntityPromptLoaderTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/context/DefaultContextEntityPromptLoaderTest.java new file mode 100644 index 000000000000..2067a363ec8e --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/context/DefaultContextEntityPromptLoaderTest.java @@ -0,0 +1,122 @@ +package org.openmetadata.service.context; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import org.openmetadata.service.jdbi3.KnowledgePageRepository; +import org.openmetadata.service.jdbi3.ContextFileContentRepository; +import org.openmetadata.service.jdbi3.ContextFileRepository; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileContent; +import org.openmetadata.schema.entity.data.ContextFileType; +import java.lang.reflect.Method; +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.Include; +import org.openmetadata.service.security.Authorizer; + +class DefaultContextEntityPromptLoaderTest { + + @Test + void resolveExtractedTextPrefersCanonicalContentSnapshot() throws Exception { + Authorizer authorizer = mock(Authorizer.class); + ContextFileRepository contextFileRepository = mock(ContextFileRepository.class); + ContextFileContentRepository contentRepository = mock(ContextFileContentRepository.class); + KnowledgePageRepository knowledgeCenterRepository = mock(KnowledgePageRepository.class); + + UUID contentId = UUID.randomUUID(); + + ContextFile file = + new ContextFile() + .withId(UUID.randomUUID()) + .withName("revenue-chart") + .withDisplayName("Revenue Chart") + .withFullyQualifiedName("drive.revenue-chart") + .withFileType(ContextFileType.Image) + .withDescription("Quarterly snapshot") + .withHeadContentId(contentId.toString()) + .withExtractedText("Indexed excerpt only"); + ContextFileContent content = + new ContextFileContent() + .withId(contentId) + .withExtractedText("Canonical OCR text with full numeric callouts"); + + when(contentRepository.getById(contentId)).thenReturn(content); + + DefaultContextEntityPromptLoader loader = + new DefaultContextEntityPromptLoader( + authorizer, contextFileRepository, contentRepository, knowledgeCenterRepository); + Method resolveExtractedText = + DefaultContextEntityPromptLoader.class.getDeclaredMethod( + "resolveExtractedText", ContextFile.class); + resolveExtractedText.setAccessible(true); + + String extractedText = (String) resolveExtractedText.invoke(loader, file); + + assertEquals("Canonical OCR text with full numeric callouts", extractedText); + } + + @Disabled( + "Requires Entity registry initialized with ContextFileRepository; authorizeView " + + "calls new ResourceContext(...) which looks up Entity.getEntityRepository(\"contextFile\"). " + + "Integration test coverage verifies this end-to-end.") + @Test + void loadContextFileBuildsPromptEntityFromCanonicalContentSnapshot() { + Authorizer authorizer = mock(Authorizer.class); + ContextFileRepository contextFileRepository = mock(ContextFileRepository.class); + ContextFileContentRepository contentRepository = mock(ContextFileContentRepository.class); + KnowledgePageRepository knowledgeCenterRepository = mock(KnowledgePageRepository.class); + + UUID fileId = UUID.randomUUID(); + UUID contentId = UUID.randomUUID(); + EntityReference reference = + new EntityReference() + .withId(fileId) + .withType("contextFile") + .withName("revenue-playbook") + .withFullyQualifiedName("drive.revenue-playbook") + .withDisplayName("Revenue Playbook"); + + ContextFile file = + new ContextFile() + .withId(fileId) + .withName("revenue-playbook") + .withDisplayName("Revenue Playbook") + .withFullyQualifiedName("drive.revenue-playbook") + .withDescription("Reusable guidance for AskCollate") + .withFileType(ContextFileType.PDF) + .withHeadContentId(contentId.toString()); + ContextFileContent content = + new ContextFileContent() + .withId(contentId) + .withExtractedText("Use median and percentiles when the distribution is skewed."); + + when(contextFileRepository.get(isNull(), eq(fileId), any(), eq(Include.NON_DELETED), eq(false))) + .thenReturn(file); + when(contentRepository.getById(contentId)).thenReturn(content); + + DefaultContextEntityPromptLoader loader = + new DefaultContextEntityPromptLoader( + authorizer, contextFileRepository, contentRepository, knowledgeCenterRepository); + + Optional resolved = loader.load(null, reference); + + assertTrue(resolved.isPresent()); + assertEquals("File (PDF)", resolved.get().label()); + assertEquals("Revenue Playbook", resolved.get().title()); + assertEquals("drive.revenue-playbook", resolved.get().location()); + assertEquals("Reusable guidance for AskCollate", resolved.get().summary()); + assertEquals( + "Use median and percentiles when the distribution is skewed.", resolved.get().body()); + verify(authorizer).authorize(isNull(), any(), any()); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/drive/ContextFileExtractionServiceTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/drive/ContextFileExtractionServiceTest.java new file mode 100644 index 000000000000..bfb1ed6a32a7 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/drive/ContextFileExtractionServiceTest.java @@ -0,0 +1,216 @@ +package org.openmetadata.service.drive; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; +import static org.mockito.Mockito.lenient; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.same; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import org.openmetadata.service.jdbi3.AssetRepository; +import org.openmetadata.service.jdbi3.ContextFileContentRepository; +import org.openmetadata.service.jdbi3.ContextFileRepository; +import org.openmetadata.schema.attachments.Asset; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileContent; +import org.openmetadata.schema.entity.data.ContextFileType; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import org.openmetadata.service.attachments.AssetService; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; +import java.util.concurrent.RejectedExecutionException; +import java.util.function.Supplier; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; +import org.openmetadata.schema.type.Include; + +@ExtendWith(MockitoExtension.class) +class ContextFileExtractionServiceTest { + + @Mock private ContextFileRepository repository; + @Mock private ContextFileContentRepository contentRepository; + @Mock private AssetRepository assetRepository; + @Mock private AssetService assetService; + @Mock private ContextFileTextExtractor textExtractor; + + @Captor private ArgumentCaptor updatedFileCaptor; + @Captor private ArgumentCaptor updatedContentCaptor; + + private UUID fileId; + private UUID contentId; + private ContextFile file; + private ContextFileContent content; + private Asset asset; + + @BeforeEach + void setUp() { + fileId = UUID.randomUUID(); + contentId = UUID.randomUUID(); + + file = + new ContextFile() + .withId(fileId) + .withName("report") + .withFileType(ContextFileType.PDF) + .withFileExtension("pdf") + .withHeadContentId(contentId.toString()) + .withProcessingStatus(ProcessingStatus.Uploaded); + + content = + new ContextFileContent() + .withId(contentId) + .withName("v1") + .withAssetId("asset-1") + .withContextFile(file.getEntityReference()) + .withProcessingStatus(ProcessingStatus.Uploaded); + + asset = new Asset(); + asset.setId("asset-1"); + + lenient().when(repository.getContentRepository()).thenReturn(contentRepository); + lenient().when(repository.getAssetRepository()).thenReturn(assetRepository); + when(repository.get(isNull(), eq(fileId), any(), eq(Include.NON_DELETED), eq(false))) + .thenReturn(file); + lenient().when(contentRepository.getById(contentId)).thenReturn(content); + lenient().when(assetRepository.getById("asset-1")).thenReturn(asset); + } + + @Test + void processSuccessMarksAnalyzingThenProcessed() throws Exception { + when(assetService.read(asset)) + .thenReturn( + CompletableFuture.completedFuture( + new ByteArrayInputStream("Quarterly results".getBytes()))); + when(textExtractor.extract(any(InputStream.class), same(file))) + .thenReturn(ContextFileTextExtractor.ExtractionResult.processed("Quarterly results", 3)); + + service(Runnable::run, () -> assetService).process(fileId, contentId); + + verify(repository, times(2)) + .update(isNull(), same(file), updatedFileCaptor.capture(), anyString()); + verify(contentRepository, times(2)) + .update(isNull(), same(content), updatedContentCaptor.capture(), anyString()); + + List fileUpdates = updatedFileCaptor.getAllValues(); + assertEquals(ProcessingStatus.Analyzing, fileUpdates.get(0).getProcessingStatus()); + assertEquals(ProcessingStatus.Processed, fileUpdates.get(1).getProcessingStatus()); + assertEquals("Quarterly results", fileUpdates.get(1).getExtractedText()); + assertEquals(3, fileUpdates.get(1).getPageCount()); + + List contentUpdates = updatedContentCaptor.getAllValues(); + assertEquals(ProcessingStatus.Analyzing, contentUpdates.get(0).getProcessingStatus()); + assertNull(contentUpdates.get(0).getProcessingError()); + assertEquals(ProcessingStatus.Processed, contentUpdates.get(1).getProcessingStatus()); + assertEquals("Quarterly results", contentUpdates.get(1).getExtractedText()); + } + + @Test + void processMarksFailureWhenObjectStorageIsUnavailable() { + service(Runnable::run, () -> null).process(fileId, contentId); + + verifyFailedWith("Object storage is not configured for text extraction"); + } + + @Test + void processMarksFailureWhenStorageReadReturnsNullStream() { + when(assetService.read(asset)).thenReturn(CompletableFuture.completedFuture(null)); + + service(Runnable::run, () -> assetService).process(fileId, contentId); + + verifyFailedWith("Unable to read file content from object storage"); + } + + @Test + void submitMarksFailureWhenExecutorRejectsWork() { + Executor rejectingExecutor = + task -> { + throw new RejectedExecutionException("queue full"); + }; + + service(rejectingExecutor, () -> assetService).submit(fileId, contentId); + + verifyImmediateFailureWith("Text extraction queue is full. Please retry later."); + verify(assetService, never()).read(any()); + } + + @Test + void processSkipsWhenHeadContentNoLongerMatches() { + file.setHeadContentId(UUID.randomUUID().toString()); + + service(Runnable::run, () -> assetService).process(fileId, contentId); + + verify(repository, never()).update(any(), any(), any(), anyString()); + verify(contentRepository, never()).update(any(), any(), any(), anyString()); + verify(assetService, never()).read(any()); + } + + @Test + void processRethrowsVirtualMachineErrors() throws Exception { + when(assetService.read(asset)) + .thenReturn( + CompletableFuture.completedFuture(new ByteArrayInputStream(new byte[] {1, 2, 3}))); + when(textExtractor.extract(any(InputStream.class), same(file))) + .thenThrow(new InternalError("fatal")); + + assertThrows( + InternalError.class, + () -> service(Runnable::run, () -> assetService).process(fileId, contentId)); + } + + private void verifyFailedWith(String expectedReason) { + verify(repository, times(2)) + .update(isNull(), same(file), updatedFileCaptor.capture(), anyString()); + verify(contentRepository, times(2)) + .update(isNull(), same(content), updatedContentCaptor.capture(), anyString()); + + List fileUpdates = updatedFileCaptor.getAllValues(); + assertEquals(ProcessingStatus.Analyzing, fileUpdates.get(0).getProcessingStatus()); + assertEquals(ProcessingStatus.Failed, fileUpdates.get(1).getProcessingStatus()); + assertNull(fileUpdates.get(1).getExtractedText()); + assertNull(fileUpdates.get(1).getPageCount()); + + List contentUpdates = updatedContentCaptor.getAllValues(); + assertEquals(ProcessingStatus.Analyzing, contentUpdates.get(0).getProcessingStatus()); + assertEquals(ProcessingStatus.Failed, contentUpdates.get(1).getProcessingStatus()); + assertEquals(expectedReason, contentUpdates.get(1).getProcessingError()); + assertNull(contentUpdates.get(1).getExtractedText()); + } + + private void verifyImmediateFailureWith(String expectedReason) { + verify(repository).update(isNull(), same(file), updatedFileCaptor.capture(), anyString()); + verify(contentRepository) + .update(isNull(), same(content), updatedContentCaptor.capture(), anyString()); + + ContextFile fileUpdate = updatedFileCaptor.getValue(); + assertEquals(ProcessingStatus.Failed, fileUpdate.getProcessingStatus()); + assertNull(fileUpdate.getExtractedText()); + assertNull(fileUpdate.getPageCount()); + + ContextFileContent contentUpdate = updatedContentCaptor.getValue(); + assertEquals(ProcessingStatus.Failed, contentUpdate.getProcessingStatus()); + assertEquals(expectedReason, contentUpdate.getProcessingError()); + assertNull(contentUpdate.getExtractedText()); + } + + private ContextFileExtractionService service( + Executor executor, Supplier assetServiceSupplier) { + return new ContextFileExtractionService( + repository, assetServiceSupplier, executor, textExtractor); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/drive/ContextFileTextExtractorTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/drive/ContextFileTextExtractorTest.java new file mode 100644 index 000000000000..d52975179328 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/drive/ContextFileTextExtractorTest.java @@ -0,0 +1,245 @@ +package org.openmetadata.service.drive; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileType; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Comparator; +import java.util.UUID; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDPageContentStream; +import org.apache.pdfbox.pdmodel.font.PDType1Font; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.jupiter.api.Test; + +class ContextFileTextExtractorTest { + + private final ContextFileTextExtractor extractor = new ContextFileTextExtractor(); + + @Test + void extractPlainTextMarksFileProcessed() throws Exception { + ContextFile file = + new ContextFile().withId(UUID.randomUUID()).withName("notes").withFileType(ContextFileType.Text); + byte[] content = "Context Center remembers this note".getBytes(StandardCharsets.UTF_8); + + ContextFileTextExtractor.ExtractionResult result = + extractor.extract(new ByteArrayInputStream(content), file); + + assertEquals(ProcessingStatus.Processed, result.processingStatus()); + assertEquals("Context Center remembers this note", result.extractedText()); + assertEquals(result.extractedText(), result.indexedText()); + assertNull(result.pageCount()); + } + + @Test + void extractPdfReturnsTextAndPageCount() throws Exception { + ContextFile file = + new ContextFile() + .withId(UUID.randomUUID()) + .withName("report") + .withFileType(ContextFileType.PDF) + .withFileExtension("pdf"); + + ContextFileTextExtractor.ExtractionResult result = + extractor.extract(new ByteArrayInputStream(createPdf("Quarterly PDF Fixture")), file); + + assertEquals(ProcessingStatus.Processed, result.processingStatus()); + assertTrue(result.extractedText().contains("Quarterly PDF Fixture")); + assertEquals(1, result.pageCount()); + } + + @Test + void extractSpreadsheetReturnsSheetTextAndCount() throws Exception { + ContextFile file = + new ContextFile() + .withId(UUID.randomUUID()) + .withName("pricing") + .withFileType(ContextFileType.Spreadsheet) + .withFileExtension("xlsx"); + + ContextFileTextExtractor.ExtractionResult result = + extractor.extract(new ByteArrayInputStream(createWorkbook()), file); + + assertEquals(ProcessingStatus.Processed, result.processingStatus()); + assertTrue(result.extractedText().contains("Sheet: Pricing")); + assertTrue(result.extractedText().contains("Widget")); + assertEquals(1, result.pageCount()); + } + + @Test + void extractImageUsesConfiguredOcrEngine() throws Exception { + ContextFileTextExtractor extractor = + new ContextFileTextExtractor( + new ContextFileTextExtractor.ImageOcrEngine() { + @Override + public boolean isAvailable() { + return true; + } + + @Override + public String extract(java.nio.file.Path imagePath) { + return "Revenue chart shows regional growth"; + } + }); + ContextFile file = + new ContextFile() + .withId(UUID.randomUUID()) + .withName("diagram") + .withFileType(ContextFileType.Image) + .withFileExtension("png"); + + ContextFileTextExtractor.ExtractionResult result = + extractor.extract(new ByteArrayInputStream(new byte[] {1, 2, 3}), file); + + assertEquals(ProcessingStatus.Processed, result.processingStatus()); + assertEquals("Revenue chart shows regional growth", result.extractedText()); + assertEquals(result.extractedText(), result.indexedText()); + assertEquals(1, result.pageCount()); + } + + @Test + void extractImageReturnsUnsupportedWhenOcrUnavailable() throws Exception { + ContextFileTextExtractor extractor = + new ContextFileTextExtractor( + new ContextFileTextExtractor.ImageOcrEngine() { + @Override + public boolean isAvailable() { + return false; + } + + @Override + public String extract(java.nio.file.Path imagePath) { + throw new UnsupportedOperationException("OCR should not run when unavailable"); + } + }); + ContextFile file = + new ContextFile() + .withId(UUID.randomUUID()) + .withName("diagram") + .withFileType(ContextFileType.Image) + .withFileExtension("png"); + + ContextFileTextExtractor.ExtractionResult result = + extractor.extract(new ByteArrayInputStream(new byte[] {1, 2, 3}), file); + + assertEquals(ProcessingStatus.Unsupported, result.processingStatus()); + assertNull(result.extractedText()); + assertTrue(result.processingError().contains("OCR")); + } + + @Test + void extractImageUsesConfiguredTikaTesseractPathOverride() throws Exception { + String originalPath = System.getProperty(ContextFileTextExtractor.TIKA_TESSERACT_PATH_PROPERTY); + Path fakeTesseractHome = createFakeTesseractHome("Revenue chart shows regional growth"); + System.setProperty( + ContextFileTextExtractor.TIKA_TESSERACT_PATH_PROPERTY, fakeTesseractHome.toString()); + + try { + ContextFileTextExtractor extractor = + new ContextFileTextExtractor(new ContextFileTextExtractor.TesseractImageOcrEngine()); + ContextFile file = + new ContextFile() + .withId(UUID.randomUUID()) + .withName("diagram") + .withFileType(ContextFileType.Image) + .withFileExtension("png"); + + ContextFileTextExtractor.ExtractionResult result = + extractor.extract(new ByteArrayInputStream(new byte[] {1, 2, 3}), file); + + assertEquals(ProcessingStatus.Processed, result.processingStatus()); + assertEquals("Revenue chart shows regional growth", result.extractedText()); + assertEquals(result.extractedText(), result.indexedText()); + } finally { + if (originalPath == null) { + System.clearProperty(ContextFileTextExtractor.TIKA_TESSERACT_PATH_PROPERTY); + } else { + System.setProperty(ContextFileTextExtractor.TIKA_TESSERACT_PATH_PROPERTY, originalPath); + } + deleteRecursively(fakeTesseractHome); + } + } + + @Test + void processedResultsTruncateIndexedTextBeforeCanonicalText() { + String text = "x".repeat(ContextFileTextExtractor.MAX_CANONICAL_TEXT_LENGTH + 100); + + ContextFileTextExtractor.ExtractionResult result = + ContextFileTextExtractor.ExtractionResult.processed(text, null); + + assertEquals( + ContextFileTextExtractor.MAX_CANONICAL_TEXT_LENGTH, result.extractedText().length()); + assertEquals(ContextFileTextExtractor.MAX_INDEXED_TEXT_LENGTH, result.indexedText().length()); + } + + private byte[] createPdf(String text) throws IOException { + try (PDDocument document = new PDDocument(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + PDPage page = new PDPage(); + document.addPage(page); + try (PDPageContentStream contentStream = new PDPageContentStream(document, page)) { + contentStream.beginText(); + contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12); + contentStream.newLineAtOffset(72, 720); + contentStream.showText(text); + contentStream.endText(); + } + document.save(outputStream); + return outputStream.toByteArray(); + } + } + + private byte[] createWorkbook() throws IOException { + try (Workbook workbook = new XSSFWorkbook(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + var sheet = workbook.createSheet("Pricing"); + var header = sheet.createRow(0); + header.createCell(0).setCellValue("Item"); + header.createCell(1).setCellValue("Price"); + var row = sheet.createRow(1); + row.createCell(0).setCellValue("Widget"); + row.createCell(1).setCellValue(42); + workbook.write(outputStream); + return outputStream.toByteArray(); + } + } + + private Path createFakeTesseractHome(String extractedText) throws IOException { + Path home = Files.createTempDirectory("fake-tesseract-home-"); + Path executable = home.resolve("tesseract"); + Files.writeString( + executable, + "#!/bin/sh\n" + + "if [ $# -eq 0 ] || [ \"$1\" = \"--version\" ]; then\n" + + " echo \"tesseract 5.0.0\"\n" + + " exit 0\n" + + "fi\n" + + "output_base=\"$2\"\n" + + "printf '%s\\n' \"" + + extractedText + + "\" > \"${output_base}.txt\"\n", + StandardCharsets.UTF_8); + executable.toFile().setExecutable(true); + return home; + } + + private void deleteRecursively(Path root) throws IOException { + if (root == null || Files.notExists(root)) { + return; + } + try (var paths = Files.walk(root)) { + paths.sorted(Comparator.reverseOrder()).forEach(path -> path.toFile().delete()); + } + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/ContextFileResourceTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/ContextFileResourceTest.java new file mode 100644 index 000000000000..01f9bb4c71d4 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/ContextFileResourceTest.java @@ -0,0 +1,76 @@ +package org.openmetadata.service.resources.drive; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +class ContextFileResourceTest { + + // ------------------------------------------------------------------ + // sanitizeFileName + // ------------------------------------------------------------------ + + @Test + void testSanitizeFileName_normalName() { + assertEquals("report.pdf", ContextFileResource.sanitizeFileName("report.pdf")); + } + + @Test + void testSanitizeFileName_removesDoubleQuotes() { + assertEquals("file_name_.pdf", ContextFileResource.sanitizeFileName("file\"name\".pdf")); + } + + @Test + void testSanitizeFileName_removesBackslashes() { + assertEquals("path_to_file.txt", ContextFileResource.sanitizeFileName("path\\to\\file.txt")); + } + + @Test + void testSanitizeFileName_removesNewlines() { + assertEquals("file_name.txt", ContextFileResource.sanitizeFileName("file\nname.txt")); + } + + @Test + void testSanitizeFileName_removesCarriageReturns() { + assertEquals("file_name.txt", ContextFileResource.sanitizeFileName("file\rname.txt")); + } + + @Test + void testSanitizeFileName_combinedInjection() { + assertEquals("a_b_c_d_e.txt", ContextFileResource.sanitizeFileName("a\"b\\c\rd\ne.txt")); + } + + // ------------------------------------------------------------------ + // clampExpiry + // ------------------------------------------------------------------ + + @Test + void testClampExpiry_normalValue() { + assertEquals(300, ContextFileResource.clampExpiry(300)); + } + + @Test + void testClampExpiry_zeroClampedToOne() { + assertEquals(1, ContextFileResource.clampExpiry(0)); + } + + @Test + void testClampExpiry_negativeClampedToOne() { + assertEquals(1, ContextFileResource.clampExpiry(-100)); + } + + @Test + void testClampExpiry_exactMax() { + assertEquals(3600, ContextFileResource.clampExpiry(3600)); + } + + @Test + void testClampExpiry_exceedsMaxClampedToMax() { + assertEquals(3600, ContextFileResource.clampExpiry(999999999)); + } + + @Test + void testClampExpiry_intMaxClampedToMax() { + assertEquals(3600, ContextFileResource.clampExpiry(Integer.MAX_VALUE)); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/ContextFileUploadSupportTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/ContextFileUploadSupportTest.java new file mode 100644 index 000000000000..f74fcfd128a4 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/ContextFileUploadSupportTest.java @@ -0,0 +1,97 @@ +package org.openmetadata.service.resources.drive; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.openmetadata.schema.attachments.Asset; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileContent; +import org.openmetadata.schema.entity.data.ContextFileType; +import java.io.ByteArrayInputStream; +import java.nio.charset.StandardCharsets; +import java.util.UUID; +import org.junit.jupiter.api.Test; + +class ContextFileUploadSupportTest { + + @Test + void detectFileTypeUsesMimeMappings() { + assertEquals(ContextFileType.PDF, ContextFileUploadSupport.detectFileType("application/pdf")); + assertEquals( + ContextFileType.Spreadsheet, + ContextFileUploadSupport.detectFileType( + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")); + assertEquals(ContextFileType.Image, ContextFileUploadSupport.detectFileType("image/png")); + assertEquals(ContextFileType.CSV, ContextFileUploadSupport.detectFileType("text/csv")); + assertEquals( + ContextFileType.Other, ContextFileUploadSupport.detectFileType("application/octet-stream")); + } + + @Test + void sanitizeEntityNameProducesBoundedUniqueName() { + String name = ContextFileUploadSupport.sanitizeEntityName("Quarterly Report (Final).pdf"); + assertTrue(name.startsWith("quarterly_report_final_.pdf_")); + assertTrue(name.length() <= 189); + } + + @Test + void exceedsMaxFileSizeHonorsConfiguredLimit() { + assertTrue(ContextFileUploadSupport.exceedsMaxFileSize(1025, 1024)); + assertTrue(!ContextFileUploadSupport.exceedsMaxFileSize(1024, 1024)); + assertTrue(!ContextFileUploadSupport.exceedsMaxFileSize(2048, 0)); + } + + @Test + void buildAssetAndContentCarryCanonicalFileIdentity() { + ContextFile file = + new ContextFile() + .withId(UUID.randomUUID()) + .withName("q1-report") + .withFullyQualifiedName("finance.q1-report"); + byte[] bytes = "hello world".getBytes(StandardCharsets.UTF_8); + + Asset asset = + ContextFileUploadSupport.buildAsset( + file, "Q1 Report.pdf", "application/pdf", "pdf", bytes.length, "admin"); + ContextFileContent content = + ContextFileUploadSupport.buildContent( + file, asset, ContextFileUploadSupport.sha256(bytes), "admin"); + + assertNotNull(asset.getId()); + assertEquals("<#E::contextFile::finance.q1-report>", asset.getEntityLink()); + assertEquals(file.getEntityReference(), content.getContextFile()); + assertEquals(asset.getId(), content.getAssetId()); + assertEquals(ContextFileUploadSupport.sha256(bytes), content.getChecksum()); + assertTrue(content.getName().startsWith("q1-report_content_")); + } + + @Test + void bufferUploadStreamsToTempFileAndComputesChecksum() throws Exception { + byte[] bytes = "streamed payload".getBytes(StandardCharsets.UTF_8); + + try (ContextFileUploadSupport.BufferedUpload bufferedUpload = + ContextFileUploadSupport.bufferUpload(new ByteArrayInputStream(bytes), 1024)) { + assertEquals(bytes.length, bufferedUpload.getSize()); + assertEquals(ContextFileUploadSupport.sha256(bytes), bufferedUpload.getChecksum()); + try (var inputStream = bufferedUpload.newInputStream()) { + assertArrayEquals(bytes, inputStream.readAllBytes()); + } + } + } + + @Test + void bufferUploadRejectsOversizedFiles() { + byte[] bytes = "too-large".getBytes(StandardCharsets.UTF_8); + + ContextFileUploadSupport.MaxFileSizeExceededException ex = + assertThrows( + ContextFileUploadSupport.MaxFileSizeExceededException.class, + () -> ContextFileUploadSupport.bufferUpload(new ByteArrayInputStream(bytes), 3)); + + assertEquals(bytes.length, ex.getActualSize()); + assertEquals(3, ex.getMaxFileSize()); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/DriveMapperTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/DriveMapperTest.java new file mode 100644 index 000000000000..0da9d3cd7e09 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/resources/drive/DriveMapperTest.java @@ -0,0 +1,45 @@ +package org.openmetadata.service.resources.drive; + +import static org.openmetadata.service.jdbi3.FolderRepository.FOLDER_ENTITY; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import org.openmetadata.schema.api.data.CreateContextFile; +import org.openmetadata.schema.api.data.CreateFolder; +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileType; +import org.openmetadata.schema.entity.data.Folder; +import org.openmetadata.schema.entity.data.ProcessingStatus; +import org.junit.jupiter.api.Test; + +class DriveMapperTest { + + @Test + void folderMapperCarriesParentReference() { + Folder folder = + new FolderMapper() + .createToEntity( + new CreateFolder().withName("child-folder").withParent("root-folder"), "admin"); + + assertNotNull(folder.getParent()); + assertEquals(FOLDER_ENTITY, folder.getParent().getType()); + assertEquals("root-folder", folder.getParent().getFullyQualifiedName()); + } + + @Test + void contextFileMapperCarriesFolderReference() { + ContextFile file = + new ContextFileMapper() + .createToEntity( + new CreateContextFile() + .withName("report") + .withFolder("root-folder.child-folder") + .withFileType(ContextFileType.PDF) + .withProcessingStatus(ProcessingStatus.Uploaded), + "admin"); + + assertNotNull(file.getFolder()); + assertEquals(FOLDER_ENTITY, file.getFolder().getType()); + assertEquals("root-folder.child-folder", file.getFolder().getFullyQualifiedName()); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/ContextFileIndexTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/ContextFileIndexTest.java new file mode 100644 index 000000000000..180b33a24567 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/ContextFileIndexTest.java @@ -0,0 +1,83 @@ +package org.openmetadata.service.search.indexes; + +import static org.openmetadata.service.jdbi3.ContextFileRepository.CONTEXT_FILE_ENTITY; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.mockito.Mockito.mock; + +import org.openmetadata.schema.entity.data.ContextFile; +import org.openmetadata.schema.entity.data.ContextFileType; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.mockito.MockedStatic; +import org.mockito.Mockito; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.Votes; +import org.openmetadata.service.Entity; +import org.openmetadata.service.search.SearchRepository; + +class ContextFileIndexTest { + + private static MockedStatic entityStaticMock; + + @BeforeAll + static void setUp() { + SearchRepository mockSearchRepo = mock(SearchRepository.class, Mockito.RETURNS_DEEP_STUBS); + entityStaticMock = Mockito.mockStatic(Entity.class); + entityStaticMock.when(Entity::getSearchRepository).thenReturn(mockSearchRepo); + } + + @AfterAll + static void tearDown() { + entityStaticMock.close(); + } + + @Test + void testGetEntityTypeName() { + ContextFile file = new ContextFile().withId(UUID.randomUUID()).withName("file"); + assertEquals(CONTEXT_FILE_ENTITY, new ContextFileIndex(file).getEntityTypeName()); + } + + @Test + void testGetEntity() { + ContextFile file = new ContextFile().withId(UUID.randomUUID()).withName("file"); + assertEquals(file, new ContextFileIndex(file).getEntity()); + } + + @Test + void testBuildSearchIndexDocInternal_setsCommonFieldsAndNormalizesDeleted() { + EntityReference owner = + new EntityReference().withId(UUID.randomUUID()).withType("user").withName("admin"); + EntityReference folder = + new EntityReference() + .withId(UUID.randomUUID()) + .withType("folder") + .withName("docs") + .withDisplayName("Docs"); + + ContextFile file = + new ContextFile() + .withId(UUID.randomUUID()) + .withName("quarterly-report") + .withFullyQualifiedName("docs.quarterly-report") + .withOwners(List.of(owner)) + .withFolder(folder) + .withFileType(ContextFileType.PDF) + .withVotes(new Votes().withUpVotes(3).withDownVotes(1)); + + Map result = + new ContextFileIndex(file).buildSearchIndexDocInternal(new HashMap<>()); + + assertEquals(CONTEXT_FILE_ENTITY, result.get("entityType")); + assertEquals(Boolean.FALSE, result.get("deleted")); + assertEquals(2, result.get("totalVotes")); + assertEquals(ContextFileType.PDF, result.get("fileType")); + assertNotNull(result.get("owners")); + assertNotNull(result.get("folder")); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/FolderIndexTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/FolderIndexTest.java new file mode 100644 index 000000000000..2e63445e2426 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/FolderIndexTest.java @@ -0,0 +1,79 @@ +package org.openmetadata.service.search.indexes; + +import static org.openmetadata.service.jdbi3.FolderRepository.FOLDER_ENTITY; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.mockito.Mockito.mock; + +import org.openmetadata.schema.entity.data.Folder; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.mockito.MockedStatic; +import org.mockito.Mockito; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.service.Entity; +import org.openmetadata.service.search.SearchRepository; + +class FolderIndexTest { + + private static MockedStatic entityStaticMock; + + @BeforeAll + static void setUp() { + SearchRepository mockSearchRepo = mock(SearchRepository.class, Mockito.RETURNS_DEEP_STUBS); + entityStaticMock = Mockito.mockStatic(Entity.class); + entityStaticMock.when(Entity::getSearchRepository).thenReturn(mockSearchRepo); + } + + @AfterAll + static void tearDown() { + entityStaticMock.close(); + } + + @Test + void testGetEntityTypeName() { + Folder folder = new Folder().withId(UUID.randomUUID()).withName("folder"); + assertEquals(FOLDER_ENTITY, new FolderIndex(folder).getEntityTypeName()); + } + + @Test + void testGetEntity() { + Folder folder = new Folder().withId(UUID.randomUUID()).withName("folder"); + assertEquals(folder, new FolderIndex(folder).getEntity()); + } + + @Test + void testBuildSearchIndexDocInternal_setsCommonFieldsAndParent() { + EntityReference owner = + new EntityReference().withId(UUID.randomUUID()).withType("user").withName("admin"); + EntityReference parent = + new EntityReference() + .withId(UUID.randomUUID()) + .withType(FOLDER_ENTITY) + .withName("parent") + .withDisplayName("Parent"); + + Folder folder = + new Folder() + .withId(UUID.randomUUID()) + .withName("child") + .withFullyQualifiedName("parent.child") + .withOwners(List.of(owner)) + .withParent(parent) + .withChildrenCount(2); + + Map result = + new FolderIndex(folder).buildSearchIndexDocInternal(new HashMap<>()); + + assertEquals(FOLDER_ENTITY, result.get("entityType")); + assertEquals(Boolean.FALSE, result.get("deleted")); + assertEquals(2, result.get("childrenCount")); + assertNotNull(result.get("owners")); + assertNotNull(result.get("parent")); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/PageIndexTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/PageIndexTest.java new file mode 100644 index 000000000000..af5a30e58fb3 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/search/indexes/PageIndexTest.java @@ -0,0 +1,114 @@ +package org.openmetadata.service.search.indexes; + +import static org.openmetadata.service.jdbi3.KnowledgePageRepository.KNOWLEDGE_PAGE_ENTITY; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.mockito.Mockito.mock; + +import org.openmetadata.schema.entity.data.Page; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.mockito.MockedStatic; +import org.mockito.Mockito; +import org.openmetadata.service.Entity; +import org.openmetadata.service.search.SearchRepository; + +class PageIndexTest { + + private static MockedStatic entityStaticMock; + + @BeforeAll + static void setUp() { + SearchRepository mockSearchRepo = mock(SearchRepository.class, Mockito.RETURNS_DEEP_STUBS); + entityStaticMock = Mockito.mockStatic(Entity.class); + entityStaticMock.when(Entity::getSearchRepository).thenReturn(mockSearchRepo); + } + + @AfterAll + static void tearDown() { + entityStaticMock.close(); + } + + @Test + void testGetEntityTypeName() { + Page page = new Page().withId(UUID.randomUUID()).withName("p"); + assertEquals(KNOWLEDGE_PAGE_ENTITY, new PageIndex(page).getEntityTypeName()); + } + + @Test + void testGetEntity() { + Page page = new Page().withId(UUID.randomUUID()).withName("p"); + assertEquals(page, new PageIndex(page).getEntity()); + } + + @Test + void testBuildSearchIndexDocInternal_setsFqnDepth() { + Page page = + new Page() + .withId(UUID.randomUUID()) + .withName("child") + .withFullyQualifiedName("root.parent.child"); + + Map doc = new HashMap<>(); + Map result = new PageIndex(page).buildSearchIndexDocInternal(doc); + + assertEquals(3, result.get("fqnDepth")); + } + + @Test + void testBuildSearchIndexDocInternal_setsDeletedFalse() { + Page page = new Page().withId(UUID.randomUUID()).withName("p").withFullyQualifiedName("root.p"); + + Map doc = new HashMap<>(); + Map result = new PageIndex(page).buildSearchIndexDocInternal(doc); + + assertEquals(Boolean.FALSE, result.get("deleted")); + } + + @Test + void testBuildSearchIndexDocInternal_doesNotSetCommonFields() { + Page page = new Page().withId(UUID.randomUUID()).withName("p").withFullyQualifiedName("root.p"); + + Map doc = new HashMap<>(); + Map result = new PageIndex(page).buildSearchIndexDocInternal(doc); + + // Common fields are now auto-handled by the template method + assertFalse(result.containsKey("owners")); + assertFalse(result.containsKey("entityType")); + assertFalse(result.containsKey("followers")); + assertFalse(result.containsKey("totalVotes")); + // Only entity-specific fields + assertEquals(2, result.size()); // fqnDepth + deleted + } + + @Test + void testFqnDepth_singlePart() { + Page page = + new Page().withId(UUID.randomUUID()).withName("root").withFullyQualifiedName("root"); + + Map doc = new HashMap<>(); + Map result = new PageIndex(page).buildSearchIndexDocInternal(doc); + + assertEquals(1, result.get("fqnDepth")); + } + + @Test + void testFqnDepth_nullFqn() { + Page page = new Page().withId(UUID.randomUUID()).withName("p"); + + PageIndex index = new PageIndex(page); + assertEquals(0, index.calculateFqnDepth(null)); + } + + @Test + void testFqnDepth_emptyFqn() { + Page page = new Page().withId(UUID.randomUUID()).withName("p"); + + PageIndex index = new PageIndex(page); + assertEquals(0, index.calculateFqnDepth("")); + } +} diff --git a/openmetadata-spec/src/main/resources/elasticsearch/en/context_file_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/en/context_file_search_index.json new file mode 100644 index 000000000000..e7358c6bf63d --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/en/context_file_search_index.json @@ -0,0 +1,84 @@ +{ + "settings": { + "index": { "max_ngram_diff": 7 }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { "type": "custom", "char_filter": [], "filter": ["lowercase"] } + }, + "tokenizer": { + "om_ngram_tokenizer": { "type": "ngram", "min_gram": 3, "max_gram": 10, "token_chars": ["letter", "digit"] } + }, + "analyzer": { + "om_analyzer": { "tokenizer": "letter", "filter": ["lowercase", "om_stemmer"] }, + "om_ngram": { "type": "custom", "tokenizer": "om_ngram_tokenizer", "filter": ["lowercase"] } + }, + "filter": { + "om_stemmer": { "type": "stemmer", "name": "english" } + } + } + }, + "mappings": { + "properties": { + "id": { "type": "text" }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { "type": "keyword", "ignore_above": 256 } + } + }, + "fullyQualifiedName": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { "type": "keyword", "normalizer": "lowercase_normalizer", "ignore_above": 256 }, + "ngram": { "type": "text", "analyzer": "om_ngram" } + } + }, + "entityType": { "type": "keyword" }, + "description": { "type": "text" }, + "deleted": { "type": "boolean" }, + "fileType": { "type": "keyword" }, + "fileSize": { "type": "long" }, + "fileExtension": { "type": "keyword" }, + "contentType": { "type": "keyword" }, + "processingStatus": { "type": "keyword" }, + "sourceType": { "type": "keyword" }, + "extractedText": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } + }, + "folder": { + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "owners": { + "type": "nested", + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "tags": { + "properties": { + "tagFQN": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "labelType": { "type": "keyword" }, + "source": { "type": "keyword" } + } + }, + "followers": { "type": "keyword" }, + "totalVotes": { "type": "integer" }, + "version": { "type": "float" }, + "updatedAt": { "type": "date", "format": "epoch_second" }, + "updatedBy": { "type": "text" } + } + } +} diff --git a/openmetadata-spec/src/main/resources/elasticsearch/en/folder_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/en/folder_search_index.json new file mode 100644 index 000000000000..3a6f2cdaa73a --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/en/folder_search_index.json @@ -0,0 +1,73 @@ +{ + "settings": { + "index": { "max_ngram_diff": 7 }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { "type": "custom", "char_filter": [], "filter": ["lowercase"] } + }, + "tokenizer": { + "om_ngram_tokenizer": { "type": "ngram", "min_gram": 3, "max_gram": 10, "token_chars": ["letter", "digit"] } + }, + "analyzer": { + "om_analyzer": { "tokenizer": "letter", "filter": ["lowercase", "om_stemmer"] }, + "om_ngram": { "type": "custom", "tokenizer": "om_ngram_tokenizer", "filter": ["lowercase"] } + }, + "filter": { + "om_stemmer": { "type": "stemmer", "name": "english" } + } + } + }, + "mappings": { + "properties": { + "id": { "type": "text" }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { "type": "keyword", "ignore_above": 256 } + } + }, + "fullyQualifiedName": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { "type": "keyword", "normalizer": "lowercase_normalizer", "ignore_above": 256 }, + "ngram": { "type": "text", "analyzer": "om_ngram" } + } + }, + "entityType": { "type": "keyword" }, + "description": { "type": "text" }, + "deleted": { "type": "boolean" }, + "childrenCount": { "type": "integer" }, + "parent": { + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "owners": { + "type": "nested", + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "tags": { + "properties": { + "tagFQN": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "labelType": { "type": "keyword" }, + "source": { "type": "keyword" } + } + }, + "followers": { "type": "keyword" }, + "version": { "type": "float" }, + "updatedAt": { "type": "date", "format": "epoch_second" }, + "updatedBy": { "type": "text" } + } + } +} diff --git a/openmetadata-spec/src/main/resources/elasticsearch/en/knowledge_page_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/en/knowledge_page_search_index.json new file mode 100644 index 000000000000..36a170ee6081 --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/en/knowledge_page_search_index.json @@ -0,0 +1,450 @@ +{ + "settings": { + "index": { + "max_ngram_diff": 7 + }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { + "type": "custom", + "char_filter": [], + "filter": ["lowercase"] + } + }, + "tokenizer": { + "om_ngram_tokenizer": { + "type": "ngram", + "min_gram": 3, + "max_gram": 10, + "token_chars": ["letter", "digit"] + } + }, + "analyzer": { + "om_analyzer": { + "tokenizer": "letter", + "filter": ["lowercase", "om_stemmer"] + }, + "om_ngram": { + "type": "custom", + "tokenizer": "om_ngram_tokenizer", + "filter": ["lowercase"] + } + }, + "filter": { + "om_stemmer": { + "type": "stemmer", + "name": "english" + } + } + } + }, + "mappings": { + "properties": { + "id": { + "type": "text" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + }, + "ngram": { + "type": "text", + "analyzer": "om_ngram" + }, + "actualCase": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "entityType": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "description": { + "type": "text" + }, + "version": { + "type": "float" + }, + "updatedAt": { + "type": "date", + "format": "epoch_second" + }, + "updatedBy": { + "type": "text" + }, + "href": { + "type": "text" + }, + "fqnDepth": { + "type": "integer" + }, + "deleted": { + "type": "boolean" + }, + "owners": { + "type": "nested", + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "reviewers": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "href": { + "type": "text" + } + } + }, + "entityStatus": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "followers": { + "type": "keyword" + }, + "tags": { + "properties": { + "tagFQN": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "labelType": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "source": { + "type": "keyword" + }, + "state": { + "type": "keyword" + } + } + }, + "pageType" : { + "type": "keyword" + }, + "relatedEntities": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "editors": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "parent" : { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "children" : { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "ownerDisplayName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "ownerName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "fingerprint": { + "type": "keyword" + }, + "textToEmbed": { + "type": "text" + }, + "chunkIndex": { + "type": "integer" + }, + "chunkCount": { + "type": "integer" + }, + "parentId": { + "type": "keyword" + } + } + } +} \ No newline at end of file diff --git a/openmetadata-spec/src/main/resources/elasticsearch/indexMapping.json b/openmetadata-spec/src/main/resources/elasticsearch/indexMapping.json index bda49897067a..2bb1bd52c9c5 100644 --- a/openmetadata-spec/src/main/resources/elasticsearch/indexMapping.json +++ b/openmetadata-spec/src/main/resources/elasticsearch/indexMapping.json @@ -587,5 +587,26 @@ "mcpServer" ], "childAliases": [] + }, + "page": { + "indexName": "knowledge_page_search_index", + "indexMappingFile": "/elasticsearch/%s/knowledge_page_search_index.json", + "alias": "page", + "parentAliases": ["all", "dataAsset", "dataAssetEmbeddings"], + "childAliases": [] + }, + "folder": { + "indexName": "folder_search_index", + "indexMappingFile": "/elasticsearch/%s/folder_search_index.json", + "alias": "folder", + "parentAliases": ["all"], + "childAliases": ["contextFile"] + }, + "contextFile": { + "indexName": "context_file_search_index", + "indexMappingFile": "/elasticsearch/%s/context_file_search_index.json", + "alias": "contextFile", + "parentAliases": ["all", "folder"], + "childAliases": [] } } diff --git a/openmetadata-spec/src/main/resources/elasticsearch/jp/context_file_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/jp/context_file_search_index.json new file mode 100644 index 000000000000..e7358c6bf63d --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/jp/context_file_search_index.json @@ -0,0 +1,84 @@ +{ + "settings": { + "index": { "max_ngram_diff": 7 }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { "type": "custom", "char_filter": [], "filter": ["lowercase"] } + }, + "tokenizer": { + "om_ngram_tokenizer": { "type": "ngram", "min_gram": 3, "max_gram": 10, "token_chars": ["letter", "digit"] } + }, + "analyzer": { + "om_analyzer": { "tokenizer": "letter", "filter": ["lowercase", "om_stemmer"] }, + "om_ngram": { "type": "custom", "tokenizer": "om_ngram_tokenizer", "filter": ["lowercase"] } + }, + "filter": { + "om_stemmer": { "type": "stemmer", "name": "english" } + } + } + }, + "mappings": { + "properties": { + "id": { "type": "text" }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { "type": "keyword", "ignore_above": 256 } + } + }, + "fullyQualifiedName": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { "type": "keyword", "normalizer": "lowercase_normalizer", "ignore_above": 256 }, + "ngram": { "type": "text", "analyzer": "om_ngram" } + } + }, + "entityType": { "type": "keyword" }, + "description": { "type": "text" }, + "deleted": { "type": "boolean" }, + "fileType": { "type": "keyword" }, + "fileSize": { "type": "long" }, + "fileExtension": { "type": "keyword" }, + "contentType": { "type": "keyword" }, + "processingStatus": { "type": "keyword" }, + "sourceType": { "type": "keyword" }, + "extractedText": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } + }, + "folder": { + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "owners": { + "type": "nested", + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "tags": { + "properties": { + "tagFQN": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "labelType": { "type": "keyword" }, + "source": { "type": "keyword" } + } + }, + "followers": { "type": "keyword" }, + "totalVotes": { "type": "integer" }, + "version": { "type": "float" }, + "updatedAt": { "type": "date", "format": "epoch_second" }, + "updatedBy": { "type": "text" } + } + } +} diff --git a/openmetadata-spec/src/main/resources/elasticsearch/jp/folder_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/jp/folder_search_index.json new file mode 100644 index 000000000000..3a6f2cdaa73a --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/jp/folder_search_index.json @@ -0,0 +1,73 @@ +{ + "settings": { + "index": { "max_ngram_diff": 7 }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { "type": "custom", "char_filter": [], "filter": ["lowercase"] } + }, + "tokenizer": { + "om_ngram_tokenizer": { "type": "ngram", "min_gram": 3, "max_gram": 10, "token_chars": ["letter", "digit"] } + }, + "analyzer": { + "om_analyzer": { "tokenizer": "letter", "filter": ["lowercase", "om_stemmer"] }, + "om_ngram": { "type": "custom", "tokenizer": "om_ngram_tokenizer", "filter": ["lowercase"] } + }, + "filter": { + "om_stemmer": { "type": "stemmer", "name": "english" } + } + } + }, + "mappings": { + "properties": { + "id": { "type": "text" }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { "type": "keyword", "ignore_above": 256 } + } + }, + "fullyQualifiedName": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { "type": "keyword", "normalizer": "lowercase_normalizer", "ignore_above": 256 }, + "ngram": { "type": "text", "analyzer": "om_ngram" } + } + }, + "entityType": { "type": "keyword" }, + "description": { "type": "text" }, + "deleted": { "type": "boolean" }, + "childrenCount": { "type": "integer" }, + "parent": { + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "owners": { + "type": "nested", + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "tags": { + "properties": { + "tagFQN": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "labelType": { "type": "keyword" }, + "source": { "type": "keyword" } + } + }, + "followers": { "type": "keyword" }, + "version": { "type": "float" }, + "updatedAt": { "type": "date", "format": "epoch_second" }, + "updatedBy": { "type": "text" } + } + } +} diff --git a/openmetadata-spec/src/main/resources/elasticsearch/jp/knowledge_page_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/jp/knowledge_page_search_index.json new file mode 100644 index 000000000000..dd24e8ba84b2 --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/jp/knowledge_page_search_index.json @@ -0,0 +1,467 @@ +{ + "settings": { + "index": { + "max_ngram_diff": 1 + }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { + "type": "custom", + "char_filter": [], + "filter": [ + "lowercase" + ] + } + }, + "tokenizer": { + "om_ngram_tokenizer": { + "type": "ngram", + "min_gram": 1, + "max_gram": 2, + "token_chars": ["letter", "digit"] + } + }, + "analyzer": { + "om_analyzer": { + "tokenizer": "letter", + "filter": [ + "lowercase", + "om_stemmer" + ] + }, + "om_analyzer_jp": { + "type": "custom", + "tokenizer": "kuromoji_tokenizer", + "filter": [ + "kuromoji_baseform", + "kuromoji_part_of_speech", + "kuromoji_number", + "kuromoji_stemmer" + ] + }, + "om_ngram": { + "type": "custom", + "tokenizer": "om_ngram_tokenizer", + "filter": [ + "lowercase" + ] + } + }, + "filter": { + "om_stemmer": { + "type": "stemmer", + "name": "english" + } + } + } + }, + "mappings": { + "properties": { + "id": { + "type": "text" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer_jp", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + }, + "ngram": { + "type": "text", + "analyzer": "om_ngram" + }, + "actualCase": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "entityType": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "description": { + "type": "text" + }, + "version": { + "type": "float" + }, + "updatedAt": { + "type": "date", + "format": "epoch_second" + }, + "updatedBy": { + "type": "text" + }, + "href": { + "type": "text" + }, + "fqnDepth": { + "type": "integer" + }, + "deleted": { + "type": "boolean" + }, + "owners": { + "type": "nested", + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "reviewers": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "href": { + "type": "text" + } + } + }, + "entityStatus": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "followers": { + "type": "keyword" + }, + "tags": { + "properties": { + "tagFQN": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "labelType": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "source": { + "type": "keyword" + }, + "state": { + "type": "keyword" + } + } + }, + "pageType" : { + "type": "keyword" + }, + "relatedEntities": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "editors": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "parent" : { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "children" : { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "ownerDisplayName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "ownerName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "fingerprint": { + "type": "keyword" + }, + "textToEmbed": { + "type": "text" + }, + "chunkIndex": { + "type": "integer" + }, + "chunkCount": { + "type": "integer" + }, + "parentId": { + "type": "keyword" + } + } + } +} \ No newline at end of file diff --git a/openmetadata-spec/src/main/resources/elasticsearch/ru/context_file_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/ru/context_file_search_index.json new file mode 100644 index 000000000000..e7358c6bf63d --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/ru/context_file_search_index.json @@ -0,0 +1,84 @@ +{ + "settings": { + "index": { "max_ngram_diff": 7 }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { "type": "custom", "char_filter": [], "filter": ["lowercase"] } + }, + "tokenizer": { + "om_ngram_tokenizer": { "type": "ngram", "min_gram": 3, "max_gram": 10, "token_chars": ["letter", "digit"] } + }, + "analyzer": { + "om_analyzer": { "tokenizer": "letter", "filter": ["lowercase", "om_stemmer"] }, + "om_ngram": { "type": "custom", "tokenizer": "om_ngram_tokenizer", "filter": ["lowercase"] } + }, + "filter": { + "om_stemmer": { "type": "stemmer", "name": "english" } + } + } + }, + "mappings": { + "properties": { + "id": { "type": "text" }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { "type": "keyword", "ignore_above": 256 } + } + }, + "fullyQualifiedName": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { "type": "keyword", "normalizer": "lowercase_normalizer", "ignore_above": 256 }, + "ngram": { "type": "text", "analyzer": "om_ngram" } + } + }, + "entityType": { "type": "keyword" }, + "description": { "type": "text" }, + "deleted": { "type": "boolean" }, + "fileType": { "type": "keyword" }, + "fileSize": { "type": "long" }, + "fileExtension": { "type": "keyword" }, + "contentType": { "type": "keyword" }, + "processingStatus": { "type": "keyword" }, + "sourceType": { "type": "keyword" }, + "extractedText": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } + }, + "folder": { + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "owners": { + "type": "nested", + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "tags": { + "properties": { + "tagFQN": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "labelType": { "type": "keyword" }, + "source": { "type": "keyword" } + } + }, + "followers": { "type": "keyword" }, + "totalVotes": { "type": "integer" }, + "version": { "type": "float" }, + "updatedAt": { "type": "date", "format": "epoch_second" }, + "updatedBy": { "type": "text" } + } + } +} diff --git a/openmetadata-spec/src/main/resources/elasticsearch/ru/folder_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/ru/folder_search_index.json new file mode 100644 index 000000000000..3a6f2cdaa73a --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/ru/folder_search_index.json @@ -0,0 +1,73 @@ +{ + "settings": { + "index": { "max_ngram_diff": 7 }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { "type": "custom", "char_filter": [], "filter": ["lowercase"] } + }, + "tokenizer": { + "om_ngram_tokenizer": { "type": "ngram", "min_gram": 3, "max_gram": 10, "token_chars": ["letter", "digit"] } + }, + "analyzer": { + "om_analyzer": { "tokenizer": "letter", "filter": ["lowercase", "om_stemmer"] }, + "om_ngram": { "type": "custom", "tokenizer": "om_ngram_tokenizer", "filter": ["lowercase"] } + }, + "filter": { + "om_stemmer": { "type": "stemmer", "name": "english" } + } + } + }, + "mappings": { + "properties": { + "id": { "type": "text" }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { "type": "keyword", "ignore_above": 256 } + } + }, + "fullyQualifiedName": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { "type": "keyword", "normalizer": "lowercase_normalizer", "ignore_above": 256 }, + "ngram": { "type": "text", "analyzer": "om_ngram" } + } + }, + "entityType": { "type": "keyword" }, + "description": { "type": "text" }, + "deleted": { "type": "boolean" }, + "childrenCount": { "type": "integer" }, + "parent": { + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "owners": { + "type": "nested", + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "tags": { + "properties": { + "tagFQN": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "labelType": { "type": "keyword" }, + "source": { "type": "keyword" } + } + }, + "followers": { "type": "keyword" }, + "version": { "type": "float" }, + "updatedAt": { "type": "date", "format": "epoch_second" }, + "updatedBy": { "type": "text" } + } + } +} diff --git a/openmetadata-spec/src/main/resources/elasticsearch/ru/knowledge_page_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/ru/knowledge_page_search_index.json new file mode 100644 index 000000000000..e8b01dc75045 --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/ru/knowledge_page_search_index.json @@ -0,0 +1,508 @@ +{ + "settings": { + "index": { + "max_ngram_diff": 17 + }, + "analysis": { + "tokenizer": { + "n_gram_tokenizer": { + "type": "ngram", + "min_gram": 3, + "max_gram": 20, + "token_chars": [ + "letter", + "digit" + ] + } + }, + "normalizer": { + "lowercase_normalizer": { + "type": "custom", + "char_filter": [], + "filter": [ + "lowercase", + "asciifolding" + ] + } + }, + "analyzer": { + "om_analyzer": { + "tokenizer": "standard", + "filter": [ + "word_delimiter_filter", + "lowercase", + "asciifolding", + "russian_stop", + "russian_snowball", + "english_stop", + "om_kstem" + ] + }, + "om_ngram": { + "type": "custom", + "tokenizer": "n_gram_tokenizer", + "filter": [ + "lowercase" + ] + }, + "om_compound_analyzer": { + "tokenizer": "standard", + "filter": [ + "compound_word_delimiter_graph", + "lowercase", + "flatten_graph" + ] + } + }, + "filter": { + "word_delimiter_filter": { + "type": "word_delimiter", + "preserve_original": true + }, + "compound_word_delimiter_graph": { + "type": "word_delimiter_graph", + "generate_word_parts": true, + "generate_number_parts": true, + "split_on_case_change": true, + "split_on_numerics": true, + "catenate_words": false, + "catenate_numbers": false, + "catenate_all": false, + "preserve_original": true, + "stem_english_possessive": true + }, + "russian_stop": { + "type": "stop", + "stopwords": "_russian_" + }, + "english_stop": { + "type": "stop", + "stopwords": "_english_" + }, + "russian_snowball": { + "name": "russian", + "type": "stemmer" + }, + "om_kstem": { + "type": "kstem" + }, + "asciifolding": { + "type": "asciifolding" + } + } + } + }, + "mappings": { + "properties": { + "id": { + "type": "text" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + }, + "ngram": { + "type": "text", + "analyzer": "om_ngram" + }, + "compound": { + "type": "text", + "analyzer": "om_compound_analyzer" + }, + "actualCase": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "entityType": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "description": { + "type": "text" + }, + "version": { + "type": "float" + }, + "updatedAt": { + "type": "date", + "format": "epoch_second" + }, + "updatedBy": { + "type": "text" + }, + "href": { + "type": "text" + }, + "fqnDepth": { + "type": "integer" + }, + "deleted": { + "type": "boolean" + }, + "owners": { + "type": "nested", + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "reviewers": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "href": { + "type": "text" + } + } + }, + "entityStatus": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "followers": { + "type": "keyword" + }, + "tags": { + "properties": { + "tagFQN": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "labelType": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "source": { + "type": "keyword" + }, + "state": { + "type": "keyword" + } + } + }, + "pageType" : { + "type": "keyword" + }, + "relatedEntities": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "editors": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "parent" : { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "children" : { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "ownerDisplayName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "ownerName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "fingerprint": { + "type": "keyword" + }, + "textToEmbed": { + "type": "text" + }, + "chunkIndex": { + "type": "integer" + }, + "chunkCount": { + "type": "integer" + }, + "parentId": { + "type": "keyword" + } + } + } +} \ No newline at end of file diff --git a/openmetadata-spec/src/main/resources/elasticsearch/zh/context_file_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/zh/context_file_search_index.json new file mode 100644 index 000000000000..e7358c6bf63d --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/zh/context_file_search_index.json @@ -0,0 +1,84 @@ +{ + "settings": { + "index": { "max_ngram_diff": 7 }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { "type": "custom", "char_filter": [], "filter": ["lowercase"] } + }, + "tokenizer": { + "om_ngram_tokenizer": { "type": "ngram", "min_gram": 3, "max_gram": 10, "token_chars": ["letter", "digit"] } + }, + "analyzer": { + "om_analyzer": { "tokenizer": "letter", "filter": ["lowercase", "om_stemmer"] }, + "om_ngram": { "type": "custom", "tokenizer": "om_ngram_tokenizer", "filter": ["lowercase"] } + }, + "filter": { + "om_stemmer": { "type": "stemmer", "name": "english" } + } + } + }, + "mappings": { + "properties": { + "id": { "type": "text" }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { "type": "keyword", "ignore_above": 256 } + } + }, + "fullyQualifiedName": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { "type": "keyword", "normalizer": "lowercase_normalizer", "ignore_above": 256 }, + "ngram": { "type": "text", "analyzer": "om_ngram" } + } + }, + "entityType": { "type": "keyword" }, + "description": { "type": "text" }, + "deleted": { "type": "boolean" }, + "fileType": { "type": "keyword" }, + "fileSize": { "type": "long" }, + "fileExtension": { "type": "keyword" }, + "contentType": { "type": "keyword" }, + "processingStatus": { "type": "keyword" }, + "sourceType": { "type": "keyword" }, + "extractedText": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } + }, + "folder": { + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "owners": { + "type": "nested", + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "tags": { + "properties": { + "tagFQN": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "labelType": { "type": "keyword" }, + "source": { "type": "keyword" } + } + }, + "followers": { "type": "keyword" }, + "totalVotes": { "type": "integer" }, + "version": { "type": "float" }, + "updatedAt": { "type": "date", "format": "epoch_second" }, + "updatedBy": { "type": "text" } + } + } +} diff --git a/openmetadata-spec/src/main/resources/elasticsearch/zh/folder_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/zh/folder_search_index.json new file mode 100644 index 000000000000..3a6f2cdaa73a --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/zh/folder_search_index.json @@ -0,0 +1,73 @@ +{ + "settings": { + "index": { "max_ngram_diff": 7 }, + "analysis": { + "normalizer": { + "lowercase_normalizer": { "type": "custom", "char_filter": [], "filter": ["lowercase"] } + }, + "tokenizer": { + "om_ngram_tokenizer": { "type": "ngram", "min_gram": 3, "max_gram": 10, "token_chars": ["letter", "digit"] } + }, + "analyzer": { + "om_analyzer": { "tokenizer": "letter", "filter": ["lowercase", "om_stemmer"] }, + "om_ngram": { "type": "custom", "tokenizer": "om_ngram_tokenizer", "filter": ["lowercase"] } + }, + "filter": { + "om_stemmer": { "type": "stemmer", "name": "english" } + } + } + }, + "mappings": { + "properties": { + "id": { "type": "text" }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { "type": "keyword", "ignore_above": 256 } + } + }, + "fullyQualifiedName": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { "type": "keyword", "normalizer": "lowercase_normalizer", "ignore_above": 256 }, + "ngram": { "type": "text", "analyzer": "om_ngram" } + } + }, + "entityType": { "type": "keyword" }, + "description": { "type": "text" }, + "deleted": { "type": "boolean" }, + "childrenCount": { "type": "integer" }, + "parent": { + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "owners": { + "type": "nested", + "properties": { + "id": { "type": "keyword" }, + "type": { "type": "keyword" }, + "name": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "displayName": { "type": "keyword" } + } + }, + "tags": { + "properties": { + "tagFQN": { "type": "keyword", "normalizer": "lowercase_normalizer" }, + "labelType": { "type": "keyword" }, + "source": { "type": "keyword" } + } + }, + "followers": { "type": "keyword" }, + "version": { "type": "float" }, + "updatedAt": { "type": "date", "format": "epoch_second" }, + "updatedBy": { "type": "text" } + } + } +} diff --git a/openmetadata-spec/src/main/resources/elasticsearch/zh/knowledge_page_search_index.json b/openmetadata-spec/src/main/resources/elasticsearch/zh/knowledge_page_search_index.json new file mode 100644 index 000000000000..7714cd74437b --- /dev/null +++ b/openmetadata-spec/src/main/resources/elasticsearch/zh/knowledge_page_search_index.json @@ -0,0 +1,453 @@ +{ + "settings": { + "analysis": { + "normalizer": { + "lowercase_normalizer": { + "type": "custom", + "char_filter": [], + "filter": [ + "lowercase" + ] + } + }, + "analyzer": { + "om_analyzer": { + "tokenizer": "letter", + "filter": [ + "lowercase", + "om_stemmer" + ] + }, + "om_analyzer_zh": { + "tokenizer": "ik_max_word", + "filter": [ + "lowercase" + ] + }, + "om_ngram": { + "tokenizer": "ngram", + "min_gram": 2, + "max_gram": 10, + "filter": [ + "lowercase" + ] + } + }, + "filter": { + "om_stemmer": { + "type": "stemmer", + "name": "english" + } + } + } + }, + "mappings": { + "properties": { + "id": { + "type": "text" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer_zh", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + }, + "ngram": { + "type": "text", + "analyzer": "om_ngram" + }, + "actualCase": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "entityType": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "description": { + "type": "text" + }, + "version": { + "type": "float" + }, + "updatedAt": { + "type": "date", + "format": "epoch_second" + }, + "updatedBy": { + "type": "text" + }, + "href": { + "type": "text" + }, + "fqnDepth": { + "type": "integer" + }, + "deleted": { + "type": "boolean" + }, + "owners": { + "type": "nested", + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "reviewers": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "href": { + "type": "text" + } + } + }, + "entityStatus": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "followers": { + "type": "keyword" + }, + "tags": { + "properties": { + "tagFQN": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "labelType": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "source": { + "type": "keyword" + }, + "state": { + "type": "keyword" + } + } + }, + "pageType" : { + "type": "keyword" + }, + "relatedEntities": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "editors": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "parent" : { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "children" : { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "ownerDisplayName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "ownerName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "fingerprint": { + "type": "keyword" + }, + "textToEmbed": { + "type": "text" + }, + "chunkIndex": { + "type": "integer" + }, + "chunkCount": { + "type": "integer" + }, + "parentId": { + "type": "keyword" + } + } + } +} \ No newline at end of file diff --git a/openmetadata-spec/src/main/resources/json/schema/api/attachments/createAsset.json b/openmetadata-spec/src/main/resources/json/schema/api/attachments/createAsset.json new file mode 100644 index 000000000000..c836d1777b99 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/api/attachments/createAsset.json @@ -0,0 +1,32 @@ +{ + "$id": "https://open-metadata.org/schema/api/attachments/createAsset.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CreateAssetRequest", + "description": "Schema for creating a new asset record after file upload. The asset record will be updated with the URL and status once the upload is complete.", + "type": "object", + "javaType": "org.openmetadata.schema.api.attachments.CreateAsset", + "properties": { + "fileName": { + "type": "string", + "description": "The original file name of the asset." + }, + "contentType": { + "type": "string", + "description": "MIME type of the asset." + }, + "size": { + "type": "number", + "description": "File size in bytes." + }, + "assetType": { + "description": "Type of the asset.", + "$ref": "../../attachments/asset.json#/definitions/assetType" + }, + "entityLink": { + "description": "Link to the entity that this asset belongs to.", + "$ref": "../../type/basic.json#/definitions/entityLink" + } + }, + "required": ["fileName", "entityLink"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/api/data/createContextFile.json b/openmetadata-spec/src/main/resources/json/schema/api/data/createContextFile.json new file mode 100644 index 000000000000..e55ad181aa7d --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/api/data/createContextFile.json @@ -0,0 +1,86 @@ +{ + "$id": "https://open-metadata.org/schema/api/data/createContextFile.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CreateContextFile", + "description": "Request to create a file in the Context Center Drive.", + "type": "object", + "javaType": "org.openmetadata.schema.api.data.CreateContextFile", + "javaInterfaces": ["org.openmetadata.schema.CreateEntity"], + "properties": { + "name": { + "description": "Name of the file.", + "$ref": "../../type/basic.json#/definitions/entityName" + }, + "displayName": { + "description": "Display name (original filename or user-provided title).", + "type": "string" + }, + "description": { + "description": "Description of the file.", + "$ref": "../../type/basic.json#/definitions/markdown" + }, + "fileType": { + "description": "Type of file.", + "$ref": "../../entity/data/contextFile.json#/definitions/fileType" + }, + "fileSize": { + "description": "File size in bytes.", + "type": "number" + }, + "contentType": { + "description": "MIME type.", + "type": "string" + }, + "fileExtension": { + "description": "File extension.", + "type": "string" + }, + "assetId": { + "description": "Reference to Asset entity in S3.", + "type": "string" + }, + "processingStatus": { + "description": "Processing status.", + "$ref": "../../entity/data/contextFile.json#/definitions/processingStatus" + }, + "sourceType": { + "description": "How the file was added.", + "$ref": "../../entity/data/contextFile.json#/definitions/sourceType" + }, + "sourceId": { + "description": "ID in external source system.", + "type": "string" + }, + "sourceUrl": { + "description": "URL in external source system.", + "type": "string", + "format": "uri" + }, + "folder": { + "description": "Parent folder fully qualified name.", + "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName" + }, + "owners": { + "description": "Owners of this file.", + "$ref": "../../type/entityReferenceList.json", + "default": null + }, + "tags": { + "description": "Tags for this file.", + "type": "array", + "items": { + "$ref": "../../type/tagLabel.json" + }, + "default": null + }, + "domains": { + "description": "Domains this file belongs to.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["name"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/api/data/createFolder.json b/openmetadata-spec/src/main/resources/json/schema/api/data/createFolder.json new file mode 100644 index 000000000000..2e4932672056 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/api/data/createFolder.json @@ -0,0 +1,57 @@ +{ + "$id": "https://open-metadata.org/schema/api/data/createFolder.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CreateFolder", + "description": "Request to create a folder in the Context Center Drive.", + "type": "object", + "javaType": "org.openmetadata.schema.api.data.CreateFolder", + "javaInterfaces": ["org.openmetadata.schema.CreateEntity"], + "properties": { + "name": { + "description": "Name of the folder.", + "$ref": "../../type/basic.json#/definitions/entityName" + }, + "displayName": { + "description": "Display name of the folder.", + "type": "string" + }, + "description": { + "description": "Description of the folder.", + "$ref": "../../type/basic.json#/definitions/markdown" + }, + "icon": { + "description": "Optional icon identifier.", + "type": "string" + }, + "color": { + "description": "Optional color for folder icon.", + "type": "string" + }, + "parent": { + "description": "Parent folder fully qualified name.", + "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName" + }, + "owners": { + "description": "Owners of this folder.", + "$ref": "../../type/entityReferenceList.json", + "default": null + }, + "tags": { + "description": "Tags for this folder.", + "type": "array", + "items": { + "$ref": "../../type/tagLabel.json" + }, + "default": null + }, + "domains": { + "description": "Domains this folder belongs to.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["name"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/api/data/createPage.json b/openmetadata-spec/src/main/resources/json/schema/api/data/createPage.json new file mode 100644 index 000000000000..1de4066a3341 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/api/data/createPage.json @@ -0,0 +1,80 @@ +{ + "$id": "https://open-metadata.org/schema/api/data/createPage.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CreatePage", + "description": "Schema for a Page Request.", + "type": "object", + "javaType": "org.openmetadata.schema.api.data.CreatePage", + "javaInterfaces": [ + "org.openmetadata.schema.CreateEntity" + ], + "properties": { + "name": { + "description": "Name of Page belongs to", + "$ref": "../../type/basic.json#/definitions/entityName" + }, + "displayName": { + "description": "Display Name that identifies this query.", + "type": "string" + }, + "description": { + "description": "Description of the Knowledge Page.", + "$ref": "../../type/basic.json#/definitions/markdown" + }, + "owners": { + "description": "Owner of this entity", + "$ref": "../../type/entityReferenceList.json", + "default": null + }, + "reviewers": { + "description": "User references of the reviewers for this tag.", + "$ref": "../../type/entityReferenceList.json" + }, + "entityStatus": { + "description": "Status of the tag.", + "$ref": "../../type/status.json", + "default": "Approved" + }, + "tags": { + "description": "Tags for this Page", + "type": "array", + "items": { + "$ref": "../../type/tagLabel.json" + }, + "default": null + }, + "pageType" : { + "description": "Type of the Page.", + "$ref": "../../entity/data/page.json#/definitions/pageType" + }, + "page" : { + "description": "Knowledge Page Schema", + "oneOf": [ + { + "$ref": "../../entity/data/quickLink.json" + }, + { + "$ref": "../../entity/data/article.json" + } + ] + }, + "relatedEntities": { + "description": "Related Entities for the Knowledge Page", + "$ref": "../../type/entityReferenceList.json" + }, + "parent": { + "description": "Parent Knowledge Page.", + "$ref": "../../type/entityReference.json", + "default": null + }, + "domains" : { + "description": "Fully qualified name of the domains the Knowledge Page belongs to.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["name", "pageType", "page"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/attachments/asset.json b/openmetadata-spec/src/main/resources/json/schema/attachments/asset.json new file mode 100644 index 000000000000..854cb6602a1e --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/attachments/asset.json @@ -0,0 +1,82 @@ +{ + "$id": "https://open-metadata.org/schema/attachments/asset.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Asset", + "description": "Represents an uploaded asset record (e.g. an image, pdf or attachment) for an entity.", + "type": "object", + "javaType": "org.openmetadata.schema.attachments.Asset", + "definitions": { + "assetType": { + "javaType": "org.openmetadata.schema.attachments.AssetType", + "description": "This schema defines the type used for describing different types of Attachments.", + "type": "string", + "enum": [ + "Inline", + "External" + ], + "javaEnums": [ + { + "name": "Inline" + }, + { + "name": "External" + } + ], + "default": "Inline", + "additionalProperties": false + } + }, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the asset." + }, + "fullyQualifiedName": { + "description": "Fully qualified name of a data asset the attachment belongsTo`.", + "$ref": "../type/basic.json#/definitions/fullyQualifiedEntityName" + }, + "fileName": { + "type": "string", + "description": "The original file name of the asset." + }, + "url": { + "type": "string", + "description": "URL where the asset is accessible." + }, + "contentType": { + "type": "string", + "description": "MIME type of the asset." + }, + "size": { + "type": "number", + "description": "File size in bytes." + }, + "extension": { + "type": "string", + "description": "File extension of the asset." + }, + "assetType": { + "description": "Type of the asset.", + "$ref": "#/definitions/assetType" + }, + "updatedAt": { + "description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.", + "$ref": "../type/basic.json#/definitions/timestamp" + }, + "updatedBy": { + "description": "User who made the update.", + "type": "string" + }, + "deleted": { + "description": "When `true` indicates the entity has been marked for permanent deletion.", + "type": "boolean", + "default": false + }, + "entityLink": { + "description": "Link to the entity that this asset belongs to.", + "$ref": "../type/basic.json#/definitions/entityLink" + } + }, + "required": ["id", "fileName", "entityLink"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/data/article.json b/openmetadata-spec/src/main/resources/json/schema/entity/data/article.json new file mode 100644 index 000000000000..b65ffe581b42 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/data/article.json @@ -0,0 +1,19 @@ +{ + "$id": "https://open-metadata.org/schema/entity/data/article.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Article", + "description": "Article Knowledge Page", + "type": "object", + "javaType": "org.openmetadata.schema.entity.data.Article", + "properties": { + "publicationDate": { + "description": "The publication date of the article.", + "$ref": "../../type/basic.json#/definitions/dateTime" + }, + "relatedArticles": { + "description": "An array of related articles.", + "$ref": "../../type/entityReferenceList.json" + } + }, + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/data/contextFile.json b/openmetadata-spec/src/main/resources/json/schema/entity/data/contextFile.json new file mode 100644 index 000000000000..b7119a185820 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/data/contextFile.json @@ -0,0 +1,187 @@ +{ + "$id": "https://open-metadata.org/schema/entity/data/contextFile.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "ContextFile", + "$comment": "@om-entity-type", + "description": "An uploaded file (PDF, spreadsheet, document) stored in the Context Center Drive.", + "type": "object", + "javaType": "org.openmetadata.schema.entity.data.ContextFile", + "javaInterfaces": ["org.openmetadata.schema.EntityInterface"], + "definitions": { + "fileType": { + "javaType": "org.openmetadata.schema.entity.data.ContextFileType", + "description": "Type of file based on content.", + "type": "string", + "enum": ["PDF", "Spreadsheet", "Presentation", "Image", "Document", "CSV", "Text", "Archive", "Other"], + "javaEnums": [ + { "name": "PDF" }, + { "name": "Spreadsheet" }, + { "name": "Presentation" }, + { "name": "Image" }, + { "name": "Document" }, + { "name": "CSV" }, + { "name": "Text" }, + { "name": "Archive" }, + { "name": "Other" } + ] + }, + "processingStatus": { + "javaType": "org.openmetadata.schema.entity.data.ProcessingStatus", + "description": "Processing state of the file after upload.", + "type": "string", + "enum": ["Uploaded", "Analyzing", "Processed", "Failed", "Unsupported"], + "javaEnums": [ + { "name": "Uploaded" }, + { "name": "Analyzing" }, + { "name": "Processed" }, + { "name": "Failed" }, + { "name": "Unsupported" } + ], + "default": "Uploaded" + }, + "sourceType": { + "javaType": "org.openmetadata.schema.entity.data.ContextFileSourceType", + "description": "How this file was added to the drive.", + "type": "string", + "enum": ["Upload", "DriveSync", "Confluence", "Notion"], + "javaEnums": [ + { "name": "Upload" }, + { "name": "DriveSync" }, + { "name": "Confluence" }, + { "name": "Notion" } + ], + "default": "Upload" + } + }, + "properties": { + "id": { + "description": "Unique identifier of the file.", + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "name": { + "description": "Name of the file.", + "$ref": "../../type/basic.json#/definitions/entityName" + }, + "fullyQualifiedName": { + "description": "Fully qualified name of the file.", + "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName" + }, + "displayName": { + "description": "Display name (original filename or user-provided title).", + "type": "string" + }, + "description": { + "description": "Description of the file.", + "$ref": "../../type/basic.json#/definitions/markdown" + }, + "fileType": { + "description": "Type of file (PDF, Spreadsheet, etc.).", + "$ref": "#/definitions/fileType" + }, + "fileSize": { + "description": "File size in bytes.", + "type": "number" + }, + "contentType": { + "description": "MIME type of the file.", + "type": "string" + }, + "fileExtension": { + "description": "File extension (e.g., pdf, xlsx).", + "type": "string" + }, + "assetId": { + "description": "Legacy reference to the current Asset entity storing the file blob. Prefer headContentId for new flows.", + "type": "string" + }, + "headContentId": { + "description": "Identifier of the current ContextFileContent snapshot for this file.", + "type": "string" + }, + "processingStatus": { + "description": "Current processing state after upload.", + "$ref": "#/definitions/processingStatus" + }, + "extractedText": { + "description": "Full text extracted from the file for search and AI context.", + "type": "string" + }, + "pageCount": { + "description": "Number of pages (PDF) or sheets (spreadsheet).", + "type": "integer" + }, + "sourceType": { + "description": "How this file was added.", + "$ref": "#/definitions/sourceType" + }, + "sourceId": { + "description": "ID of the file in the external source system.", + "type": "string" + }, + "sourceUrl": { + "description": "URL to view the file in the external source system.", + "type": "string", + "format": "uri" + }, + "folder": { + "description": "Parent folder containing this file.", + "$ref": "../../type/entityReference.json" + }, + "owners": { + "description": "Owners of this file.", + "$ref": "../../type/entityReferenceList.json", + "default": null + }, + "tags": { + "description": "Tags associated with this file.", + "type": "array", + "items": { + "$ref": "../../type/tagLabel.json" + }, + "default": null + }, + "version": { + "description": "Metadata version of the entity.", + "$ref": "../../type/entityHistory.json#/definitions/entityVersion" + }, + "updatedAt": { + "description": "Last update time in Unix epoch time milliseconds.", + "$ref": "../../type/basic.json#/definitions/timestamp" + }, + "updatedBy": { + "description": "User who made the update.", + "type": "string" + }, + "href": { + "description": "Link to this resource.", + "$ref": "../../type/basic.json#/definitions/href" + }, + "changeDescription": { + "description": "Change that led to this version.", + "$ref": "../../type/entityHistory.json#/definitions/changeDescription" + }, + "incrementalChangeDescription": { + "description": "Incremental change that led to this version.", + "$ref": "../../type/entityHistory.json#/definitions/changeDescription" + }, + "deleted": { + "description": "When true indicates the entity has been soft deleted.", + "type": "boolean", + "default": false + }, + "domains": { + "description": "Domains this file belongs to.", + "$ref": "../../type/entityReferenceList.json" + }, + "followers": { + "description": "Followers of this file.", + "$ref": "../../type/entityReferenceList.json" + }, + "votes": { + "description": "Votes on this file.", + "$ref": "../../type/votes.json" + } + }, + "required": ["id", "name"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/data/contextFileContent.json b/openmetadata-spec/src/main/resources/json/schema/entity/data/contextFileContent.json new file mode 100644 index 000000000000..0f79a4b8f0e9 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/data/contextFileContent.json @@ -0,0 +1,108 @@ +{ + "$id": "https://open-metadata.org/schema/entity/data/contextFileContent.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "ContextFileContent", + "$comment": "@om-entity-type", + "description": "A stored content snapshot for a ContextFile.", + "type": "object", + "javaType": "org.openmetadata.schema.entity.data.ContextFileContent", + "javaInterfaces": ["org.openmetadata.schema.EntityInterface"], + "properties": { + "id": { + "description": "Unique identifier of the content snapshot.", + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "name": { + "description": "Name of the content snapshot.", + "$ref": "../../type/basic.json#/definitions/entityName" + }, + "displayName": { + "description": "Display name of the content snapshot.", + "type": "string" + }, + "description": { + "description": "Description of the content snapshot.", + "$ref": "../../type/basic.json#/definitions/markdown" + }, + "fullyQualifiedName": { + "description": "Fully qualified name of the content snapshot.", + "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName" + }, + "contextFile": { + "description": "The file this content snapshot belongs to.", + "$ref": "../../type/entityReference.json" + }, + "assetId": { + "description": "Reference to the Asset entity storing the actual file blob.", + "type": "string" + }, + "contentType": { + "description": "MIME type of the stored content.", + "type": "string" + }, + "size": { + "description": "Content size in bytes.", + "type": "number" + }, + "checksum": { + "description": "SHA-256 checksum of the stored content.", + "type": "string" + }, + "sourceVersion": { + "description": "Provider revision or version token for synced files.", + "type": "string" + }, + "ingestedAt": { + "description": "Time the content snapshot was ingested.", + "$ref": "../../type/basic.json#/definitions/timestamp" + }, + "isCurrent": { + "description": "Whether this is the current content snapshot for the file.", + "type": "boolean", + "default": true + }, + "processingStatus": { + "description": "Processing status for this content snapshot.", + "$ref": "./contextFile.json#/definitions/processingStatus" + }, + "processingError": { + "description": "Processing failure details for this snapshot.", + "type": "string" + }, + "extractedText": { + "description": "Canonical extracted text for this content snapshot.", + "type": "string" + }, + "version": { + "description": "Metadata version of the entity.", + "$ref": "../../type/entityHistory.json#/definitions/entityVersion" + }, + "updatedAt": { + "description": "Last update time in Unix epoch time milliseconds.", + "$ref": "../../type/basic.json#/definitions/timestamp" + }, + "updatedBy": { + "description": "User who made the update.", + "type": "string" + }, + "href": { + "description": "Link to this resource.", + "$ref": "../../type/basic.json#/definitions/href" + }, + "changeDescription": { + "description": "Change that led to this version.", + "$ref": "../../type/entityHistory.json#/definitions/changeDescription" + }, + "incrementalChangeDescription": { + "description": "Incremental change that led to this version.", + "$ref": "../../type/entityHistory.json#/definitions/changeDescription" + }, + "deleted": { + "description": "When true indicates the entity has been soft deleted.", + "type": "boolean", + "default": false + } + }, + "required": ["id", "name", "contextFile"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/data/folder.json b/openmetadata-spec/src/main/resources/json/schema/entity/data/folder.json new file mode 100644 index 000000000000..ebcf9f15d714 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/data/folder.json @@ -0,0 +1,104 @@ +{ + "$id": "https://open-metadata.org/schema/entity/data/folder.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Folder", + "$comment": "@om-entity-type", + "description": "A directory container for organizing files in the Context Center Drive. Folders can nest other folders. Access is determined by owners.", + "type": "object", + "javaType": "org.openmetadata.schema.entity.data.Folder", + "javaInterfaces": ["org.openmetadata.schema.EntityInterface"], + "properties": { + "id": { + "description": "Unique identifier of the folder.", + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "name": { + "description": "Name of the folder.", + "$ref": "../../type/basic.json#/definitions/entityName" + }, + "fullyQualifiedName": { + "description": "Fully qualified name of the folder.", + "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName" + }, + "displayName": { + "description": "Display name of the folder.", + "type": "string" + }, + "description": { + "description": "Description of the folder.", + "$ref": "../../type/basic.json#/definitions/markdown" + }, + "icon": { + "description": "Optional icon identifier for UI display.", + "type": "string" + }, + "color": { + "description": "Optional color for the folder icon.", + "type": "string" + }, + "parent": { + "description": "Parent folder (for nested folders).", + "$ref": "../../type/entityReference.json" + }, + "children": { + "description": "Child folders.", + "$ref": "../../type/entityReferenceList.json" + }, + "childrenCount": { + "description": "Count of direct children (folders + files).", + "type": "integer" + }, + "owners": { + "description": "Owners of this folder. User-owned = personal, Team-owned = team folder, Org-owned = org-wide.", + "$ref": "../../type/entityReferenceList.json", + "default": null + }, + "tags": { + "description": "Tags associated with this folder.", + "type": "array", + "items": { + "$ref": "../../type/tagLabel.json" + }, + "default": null + }, + "version": { + "description": "Metadata version of the entity.", + "$ref": "../../type/entityHistory.json#/definitions/entityVersion" + }, + "updatedAt": { + "description": "Last update time in Unix epoch time milliseconds.", + "$ref": "../../type/basic.json#/definitions/timestamp" + }, + "updatedBy": { + "description": "User who made the update.", + "type": "string" + }, + "href": { + "description": "Link to this resource.", + "$ref": "../../type/basic.json#/definitions/href" + }, + "changeDescription": { + "description": "Change that led to this version.", + "$ref": "../../type/entityHistory.json#/definitions/changeDescription" + }, + "incrementalChangeDescription": { + "description": "Incremental change that led to this version.", + "$ref": "../../type/entityHistory.json#/definitions/changeDescription" + }, + "deleted": { + "description": "When true indicates the entity has been soft deleted.", + "type": "boolean", + "default": false + }, + "domains": { + "description": "Domains this folder belongs to.", + "$ref": "../../type/entityReferenceList.json" + }, + "followers": { + "description": "Followers of this folder.", + "$ref": "../../type/entityReferenceList.json" + } + }, + "required": ["id", "name"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/data/page.json b/openmetadata-spec/src/main/resources/json/schema/entity/data/page.json new file mode 100644 index 000000000000..b6cffc00139e --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/data/page.json @@ -0,0 +1,146 @@ +{ + "$id": "https://open-metadata.org/schema/entity/data/page.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Page", + "$comment": "@om-entity-type", + "description": "This schema defines the type of Page.", + "type": "object", + "javaType": "org.openmetadata.schema.entity.data.Page", + "javaInterfaces": ["org.openmetadata.schema.EntityInterface"], + "definitions": { + "pageType": { + "javaType": "org.openmetadata.schema.entity.data.PageType", + "description": "Type of the Knowledge Page.", + "type": "string", + "enum": ["Article", "QuickLink"] + } + }, + "properties": { + "id": { + "description": "Unique identifier of the Knowledge Page.", + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "name": { + "description": "Name of Knowledge Page belongs to", + "$ref": "../../type/basic.json#/definitions/entityName" + }, + "fullyQualifiedName": { + "description": "Fully qualified name of a Knowledge Page.", + "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName" + }, + "displayName": { + "description": "Display Name that identifies this Knowledge Page. It could be title or label.", + "type": "string" + }, + "description": { + "description": "Description of a Knowledge Page.", + "$ref": "../../type/basic.json#/definitions/markdown" + }, + "version": { + "description": "Metadata version of the entity.", + "$ref": "../../type/entityHistory.json#/definitions/entityVersion" + }, + "updatedAt": { + "description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.", + "$ref": "../../type/basic.json#/definitions/timestamp" + }, + "updatedBy": { + "description": "User who updated the Knowledge Page.", + "type": "string" + }, + "href": { + "description": "Link to this Knowledge Page resource.", + "$ref": "../../type/basic.json#/definitions/href" + }, + "changeDescription": { + "description": "Change that lead to this version of the entity.", + "$ref": "../../type/entityHistory.json#/definitions/changeDescription" + }, + "incrementalChangeDescription": { + "description": "Change that lead to this version of the entity.", + "$ref": "../../type/entityHistory.json#/definitions/changeDescription" + }, + "owners": { + "description": "Owners of this Knowledge Page.", + "$ref": "../../type/entityReferenceList.json", + "default": null + }, + "reviewers": { + "description": "User references of the reviewers for this tag.", + "$ref": "../../type/entityReferenceList.json" + }, + "entityStatus": { + "description": "Status of the tag.", + "$ref": "../../type/status.json" + }, + "followers": { + "description": "Followers of this Knowledge Page.", + "$ref": "../../type/entityReferenceList.json" + }, + "votes" : { + "description": "Votes for this Knowledge Page.", + "$ref": "../../type/votes.json" + }, + "tags": { + "description": "Tags for this SQL query.", + "type": "array", + "items": { + "$ref": "../../type/tagLabel.json" + }, + "default": null + }, + "pageType" : { + "description": "Type of the Knowledge Page.", + "$ref": "#/definitions/pageType" + }, + "page" : { + "description": "Knowledge Page Schema", + "oneOf": [ + { + "$ref": "./article.json" + }, + { + "$ref": "./quickLink.json" + } + ] + }, + "relatedEntities": { + "description": "Related Entities for the Knowledge Page", + "$ref": "../../type/entityReferenceList.json" + }, + "editors": { + "description": "List of users who are updating the entity", + "$ref": "../../type/entityReferenceList.json" + }, + "parent" : { + "description" : "Parent of this Knowledege Center.", + "$ref" : "../../type/entityReference.json" + }, + "children" : { + "description" : "Children of this Knowledge Center.", + "$ref" : "../../type/entityReferenceList.json" + }, + "childrenCount": { + "description": "Count of immediate children glossary terms.", + "type": "integer" + }, + "domains" : { + "description": "Fully qualified name of the domains the Knowledge Page belongs to.", + "$ref" : "../../type/entityReferenceList.json" + }, + "dataProducts" : { + "description": "List of data products this entity is part of.", + "$ref" : "../../type/entityReferenceList.json" + }, + "attachments": { + "description": "Attachments for the Knowledge Page", + "type": "array", + "items": { + "$ref": "../../attachments/asset.json" + }, + "default": null + } + }, + "required": ["name", "pageType", "page"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/data/pageHierarchy.json b/openmetadata-spec/src/main/resources/json/schema/entity/data/pageHierarchy.json new file mode 100644 index 000000000000..4914b630d1e3 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/data/pageHierarchy.json @@ -0,0 +1,65 @@ +{ + "$id": "https://open-metadata.org/schema/entity/data/pageHierarchy.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Page Hierarchy", + "description": "This schema defines the Page entity with Hierarchy.", + "type": "object", + "javaType": "org.openmetadata.schema.entity.data.PageHierarchy", + "definitions": { + "pageHierarchyList": { + "type": "array", + "items": { + "$ref": "pageHierarchy.json" + }, + "default": null + } + }, + "properties": { + "id": { + "description": "Unique identifier for the Page.", + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "pageType": { + "description": "Page type", + "$ref": "./page.json#/definitions/pageType" + }, + "name": { + "description": "A unique name of the Page/.", + "$ref": "../../type/basic.json#/definitions/entityName" + }, + "description": { + "description": "Description of the Page.", + "$ref": "../../type/basic.json#/definitions/markdown" + }, + "fullyQualifiedName": { + "description": "FullyQualifiedName same as `name`.", + "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName" + }, + "displayName": { + "description": "Name used for display purposes", + "type": "string" + }, + "href": { + "description": "Link to the resource corresponding to this entity.", + "$ref": "../../type/basic.json#/definitions/href" + }, + "parent": { + "description": "Parent Knowledge Page.", + "$ref": "../../type/entityReference.json", + "default": null + }, + "children" : { + "excludedFromEqualsAndHashCode": true, + "description" : "Children of this Knowledge Page.", + "$ref" : "#/definitions/pageHierarchyList" + }, + "childrenCount" : { + "excludedFromEqualsAndHashCode": true, + "description" : "Children Count of the Pages", + "type" : "integer", + "default": 0 + } + }, + "required": ["id", "name"], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/data/quickLink.json b/openmetadata-spec/src/main/resources/json/schema/entity/data/quickLink.json new file mode 100644 index 000000000000..bb47a409152e --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/data/quickLink.json @@ -0,0 +1,17 @@ +{ + "$id": "https://open-metadata.org/schema/entity/data/quickLink.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "QuickLink", + "description": "Quick Link Knowledge Page Store.", + "type": "object", + "javaType": "org.openmetadata.schema.entity.data.QuickLink", + "properties": { + "url": { + "description": "The URL or destination of the Quick Link.", + "type": "string", + "format": "uri" + } + }, + "required": ["url"], + "additionalProperties": false +} diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/AIChatApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/AIChatApplication.svg new file mode 100644 index 000000000000..da280d3e6ce3 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/AIChatApplication.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/Automator.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/Automator.svg new file mode 100644 index 000000000000..44ddd87fe129 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/Automator.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAIApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAIApplication.svg new file mode 100644 index 000000000000..af22f62e0f35 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAIApplication.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAIQualityAgentApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAIQualityAgentApplication.svg new file mode 100644 index 000000000000..90b89665d9e9 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAIQualityAgentApplication.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAITierAgentApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAITierAgentApplication.svg new file mode 100644 index 000000000000..446d3ccb13f2 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateAITierAgentApplication.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateSupport.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateSupport.svg new file mode 100644 index 000000000000..facdbe95f5d5 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/CollateSupport.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/DayOneExperienceApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/DayOneExperienceApplication.svg new file mode 100644 index 000000000000..776d2a9ac71d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/DayOneExperienceApplication.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/MetadataExporterApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/MetadataExporterApplication.svg new file mode 100644 index 000000000000..02717a031401 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/MetadataExporterApplication.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/OnboardingApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/OnboardingApplication.svg new file mode 100644 index 000000000000..91a70d0bbf41 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/OnboardingApplication.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/QueryRunner.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/QueryRunner.svg new file mode 100644 index 000000000000..fade2730b398 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/QueryRunner.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ReverseMetadata.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ReverseMetadata.svg new file mode 100644 index 000000000000..c4535612cdd1 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ReverseMetadata.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/SlackApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/SlackApplication.svg new file mode 100644 index 000000000000..2e4cd943bc23 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/SlackApplication.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/TeamsApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/TeamsApplication.svg new file mode 100644 index 000000000000..7d0c20c8a3bf --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/TeamsApplication.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/TelemetryApplication.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/TelemetryApplication.svg new file mode 100644 index 000000000000..5f3018d2087d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/TelemetryApplication.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/agent-logo.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/agent-logo.svg new file mode 100644 index 000000000000..e163f9d42db4 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/agent-logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/area-chart.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/area-chart.svg new file mode 100644 index 000000000000..191265382445 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/area-chart.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/askcollate-header-logo.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/askcollate-header-logo.svg new file mode 100644 index 000000000000..70799099bc38 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/askcollate-header-logo.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/askcollate-icon.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/askcollate-icon.svg new file mode 100644 index 000000000000..48fab54abd19 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/askcollate-icon.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/bar-chart.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/bar-chart.svg new file mode 100644 index 000000000000..b0f338a103af --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/bar-chart.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/billing.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/billing.svg new file mode 100644 index 000000000000..a174a96bdd00 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/billing.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/bring-metadata.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/bring-metadata.svg new file mode 100644 index 000000000000..96f9fe6193f3 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/bring-metadata.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/chat-message.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/chat-message.svg new file mode 100644 index 000000000000..bac97b00056a --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/chat-message.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/collate-ai-two-stars.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/collate-ai-two-stars.svg new file mode 100644 index 000000000000..2310860cdf55 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/collate-ai-two-stars.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/collate-logo.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/collate-logo.svg new file mode 100644 index 000000000000..3ec365f91daa --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/collate-logo.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/collateService.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/collateService.svg new file mode 100644 index 000000000000..af2d790d1b79 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/collateService.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/completed-outlined.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/completed-outlined.svg new file mode 100644 index 000000000000..21c1324558e2 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/completed-outlined.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/completed.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/completed.svg new file mode 100644 index 000000000000..869d5b7ec6a7 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/completed.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/data-quality-no-data-placeholder.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/data-quality-no-data-placeholder.svg new file mode 100644 index 000000000000..e4f9d2f911fb --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/data-quality-no-data-placeholder.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/dataAssets.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/dataAssets.svg new file mode 100644 index 000000000000..68094e4e2317 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/dataAssets.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/external-link.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/external-link.svg new file mode 100644 index 000000000000..0073dfe65b13 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/external-link.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/file_colored_icon.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/file_colored_icon.svg new file mode 100644 index 000000000000..aae0f99967a1 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/file_colored_icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/filter_copy.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/filter_copy.svg new file mode 100644 index 000000000000..aea0366ea96d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/filter_copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/get-started.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/get-started.svg new file mode 100644 index 000000000000..d23437a588df --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/get-started.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/home-02.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/home-02.svg new file mode 100644 index 000000000000..7b97f2f30870 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/home-02.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-abort.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-abort.svg new file mode 100644 index 000000000000..b853e6852bf0 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-abort.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-active-toggle.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-active-toggle.svg new file mode 100644 index 000000000000..efd0064cb328 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-active-toggle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-ai-learning-model.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-ai-learning-model.svg new file mode 100644 index 000000000000..6b9eaa3f20bc --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-ai-learning-model.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-article.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-article.svg new file mode 100644 index 000000000000..1f0b71d0970f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-article.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-articles.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-articles.svg new file mode 100644 index 000000000000..9cfbbef5c02b --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-articles.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bar-chart.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bar-chart.svg new file mode 100644 index 000000000000..515479c00c0e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bar-chart.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bookmark.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bookmark.svg new file mode 100644 index 000000000000..f4308cf59956 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bookmark.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bookmarked.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bookmarked.svg new file mode 100644 index 000000000000..d6df115a52c3 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-bookmarked.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-clock.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-clock.svg new file mode 100644 index 000000000000..ddb9dca29c53 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-clock.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-close-heptagon.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-close-heptagon.svg new file mode 100644 index 000000000000..635a07b925b2 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-close-heptagon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-collate-ai.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-collate-ai.svg new file mode 100644 index 000000000000..2307c20aca06 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-collate-ai.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-conversation.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-conversation.svg new file mode 100644 index 000000000000..a4cf85d2f618 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-conversation.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-custom-dashboard.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-custom-dashboard.svg new file mode 100644 index 000000000000..986b897e649b --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-custom-dashboard.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-data-quality-widget.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-data-quality-widget.svg new file mode 100644 index 000000000000..d8ab203823ec --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-data-quality-widget.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-drag-indicator.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-drag-indicator.svg new file mode 100644 index 000000000000..f4cf44fef7cb --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-drag-indicator.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-external-link.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-external-link.svg new file mode 100644 index 000000000000..8bc24d836b31 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-external-link.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-eye.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-eye.svg new file mode 100644 index 000000000000..cde9ca222902 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-eye.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-failed.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-failed.svg new file mode 100644 index 000000000000..09b3006fbdc7 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-failed.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-featured.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-featured.svg new file mode 100644 index 000000000000..e6cc1baea6d5 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-featured.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-gears.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-gears.svg new file mode 100644 index 000000000000..31bc094c12db --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-gears.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-inactive-toggle.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-inactive-toggle.svg new file mode 100644 index 000000000000..6d2cec5a499f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-inactive-toggle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-inherited-link.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-inherited-link.svg new file mode 100644 index 000000000000..2a6218cb5087 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-inherited-link.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-knowledge-center-widget.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-knowledge-center-widget.svg new file mode 100644 index 000000000000..eadd6c0a0772 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-knowledge-center-widget.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-knowledge-page.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-knowledge-page.svg new file mode 100644 index 000000000000..00c622e11f77 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-knowledge-page.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-link.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-link.svg new file mode 100644 index 000000000000..a73cd590b818 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-link.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-manage-charts.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-manage-charts.svg new file mode 100644 index 000000000000..7e6cb0dcacee --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-manage-charts.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-negative-up-arrow.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-negative-up-arrow.svg new file mode 100644 index 000000000000..a1c12eeeade1 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-negative-up-arrow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-onboarding.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-onboarding.svg new file mode 100644 index 000000000000..f0f25b231a70 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-onboarding.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-overview-test-summary.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-overview-test-summary.svg new file mode 100644 index 000000000000..60dcf57d9df6 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-overview-test-summary.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-overview.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-overview.svg new file mode 100644 index 000000000000..2a6858f5d747 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-overview.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-pipeline-status-widget.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-pipeline-status-widget.svg new file mode 100644 index 000000000000..0e812c82a867 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-pipeline-status-widget.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-positive-down-arrow.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-positive-down-arrow.svg new file mode 100644 index 000000000000..e745e578a40c --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-positive-down-arrow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-queued.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-queued.svg new file mode 100644 index 000000000000..2a5e02d00bc8 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-queued.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-quick-link.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-quick-link.svg new file mode 100644 index 000000000000..0d44d2f13268 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-quick-link.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-sample-data.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-sample-data.svg new file mode 100644 index 000000000000..28cb539c5adf --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-sample-data.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-saved.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-saved.svg new file mode 100644 index 000000000000..b1a96eb830ba --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-saved.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-success.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-success.svg new file mode 100644 index 000000000000..09c70505940f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-success.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-sun.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-sun.svg new file mode 100644 index 000000000000..f2717430e5fd --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-sun.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-table-add.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-table-add.svg new file mode 100644 index 000000000000..48954197b2a3 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-table-add.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-terminal.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-terminal.svg new file mode 100644 index 000000000000..9d312d2ed468 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-terminal.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-trash-grey.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-trash-grey.svg new file mode 100644 index 000000000000..0749581d3a6f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-trash-grey.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-unsaved.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-unsaved.svg new file mode 100644 index 000000000000..1aa7bf87ad86 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-unsaved.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-updated.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-updated.svg new file mode 100644 index 000000000000..1f58b979c4f1 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-updated.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-workflow-bg.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-workflow-bg.svg new file mode 100644 index 000000000000..eeae5a05f677 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-workflow-bg.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-workflow.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-workflow.svg new file mode 100644 index 000000000000..2d06a2790351 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-workflow.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_action.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_action.svg new file mode 100644 index 000000000000..a357e00bb63d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_action.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_add.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_add.svg new file mode 100644 index 000000000000..c4ba0bafe82f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_add_workflow.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_add_workflow.svg new file mode 100644 index 000000000000..bc0cebea5058 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_add_workflow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-check-description.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-check-description.svg new file mode 100644 index 000000000000..d16950cea0a0 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-check-description.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-end.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-end.svg new file mode 100644 index 000000000000..ec742116cbb1 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-end.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-start.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-start.svg new file mode 100644 index 000000000000..0b8416293293 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_canvas-start.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-condition-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-condition-node.svg new file mode 100644 index 000000000000..fc9d171dbd24 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-condition-node.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-condition.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-condition.svg new file mode 100644 index 000000000000..f4953c578c42 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-condition.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-description-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-description-node.svg new file mode 100644 index 000000000000..122a9f7a7417 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_check-description-node.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_click.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_click.svg new file mode 100644 index 000000000000..e4bd3542ae6d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_click.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_data-completeness.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_data-completeness.svg new file mode 100644 index 000000000000..bad553e6c774 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_data-completeness.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_data_completeness-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_data_completeness-node.svg new file mode 100644 index 000000000000..4e2b3bf89baf --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_data_completeness-node.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_discount.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_discount.svg new file mode 100644 index 000000000000..fbc17eba6601 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_discount.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_end-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_end-node.svg new file mode 100644 index 000000000000..0481405a20f0 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_end-node.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sink-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sink-node.svg new file mode 100644 index 000000000000..c21d2f67a152 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sink-node.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sink.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sink.svg new file mode 100644 index 000000000000..7d75724706fd --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sink.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sync-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sync-node.svg new file mode 100644 index 000000000000..7b4d93260653 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sync-node.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sync.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sync.svg new file mode 100644 index 000000000000..5012a3b5d44f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_git-sync.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_redo.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_redo.svg new file mode 100644 index 000000000000..85393f4b9c3e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_redo.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_request-approval.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_request-approval.svg new file mode 100644 index 000000000000..354a4786d72e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_request-approval.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_revert-changes.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_revert-changes.svg new file mode 100644 index 000000000000..25d36d09d04d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_revert-changes.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_revert_changes-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_revert_changes-node.svg new file mode 100644 index 000000000000..9ef3e6d96af7 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_revert_changes-node.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_set-action-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_set-action-node.svg new file mode 100644 index 000000000000..972579bb9ae0 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_set-action-node.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_set-action.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_set-action.svg new file mode 100644 index 000000000000..93a0c331b892 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_set-action.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_sink-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_sink-node.svg new file mode 100644 index 000000000000..5160357842ea --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_sink-node.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_sink.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_sink.svg new file mode 100644 index 000000000000..d9f394c914df --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_sink.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_star.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_star.svg new file mode 100644 index 000000000000..12ad0b369bf6 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_star.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_start-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_start-node.svg new file mode 100644 index 000000000000..88a2c7bbeb18 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_start-node.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_undo.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_undo.svg new file mode 100644 index 000000000000..58c2f513525f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_undo.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_user_approval-node.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_user_approval-node.svg new file mode 100644 index 000000000000..ab4fefa27224 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic_user_approval-node.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ingestion-runner.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ingestion-runner.svg new file mode 100644 index 000000000000..f509e87cab1d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ingestion-runner.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/install-sample-data.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/install-sample-data.svg new file mode 100644 index 000000000000..b69737ad7b4d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/install-sample-data.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/invite-user.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/invite-user.svg new file mode 100644 index 000000000000..4e8107ea5473 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/invite-user.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/knowledge-center-no-data-placeholder.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/knowledge-center-no-data-placeholder.svg new file mode 100644 index 000000000000..9c0d79f52046 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/knowledge-center-no-data-placeholder.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/knowledge-center.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/knowledge-center.svg new file mode 100644 index 000000000000..b055a6bda4ff --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/knowledge-center.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/line-chart.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/line-chart.svg new file mode 100644 index 000000000000..9417b7356ad8 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/line-chart.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/loading-01.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/loading-01.svg new file mode 100644 index 000000000000..f2a06e041a3e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/loading-01.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/message-dots-circle.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/message-dots-circle.svg new file mode 100644 index 000000000000..de15a050cdef --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/message-dots-circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/metadata-button.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/metadata-button.svg new file mode 100644 index 000000000000..e81ef863f21e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/metadata-button.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/new-chat-icon.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/new-chat-icon.svg new file mode 100644 index 000000000000..6c69874bf68c --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/new-chat-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/notification-template-colored-new.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/notification-template-colored-new.svg new file mode 100644 index 000000000000..0dd7a2ed993e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/notification-template-colored-new.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/one.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/one.svg new file mode 100644 index 000000000000..082367cc195f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/one.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/pipeline-no-data-placeholder.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/pipeline-no-data-placeholder.svg new file mode 100644 index 000000000000..87f87a934992 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/pipeline-no-data-placeholder.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/plans.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/plans.svg new file mode 100644 index 000000000000..70860715b73f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/plans.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/preferences-collate.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/preferences-collate.svg new file mode 100644 index 000000000000..121f5805f58b --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/preferences-collate.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/query-runner-empty-state.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/query-runner-empty-state.svg new file mode 100644 index 000000000000..9e985daed2a8 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/query-runner-empty-state.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/query-runner-illustration.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/query-runner-illustration.svg new file mode 100644 index 000000000000..1cea327faa2c --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/query-runner-illustration.svg @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/sample-data-button.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/sample-data-button.svg new file mode 100644 index 000000000000..af1ec58bf548 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/sample-data-button.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/security-service-colored.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/security-service-colored.svg new file mode 100644 index 000000000000..2d236b3edf6c --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/security-service-colored.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-access.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-access.svg new file mode 100644 index 000000000000..f411ef2b98ac --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-access.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-fabric.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-fabric.svg new file mode 100644 index 000000000000..b0a945dcfd42 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-fabric.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-sharepoint.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-sharepoint.svg new file mode 100644 index 000000000000..8baca491054b --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/service-icon-sharepoint.svg @@ -0,0 +1,59 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/setting-sso.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/setting-sso.svg new file mode 100644 index 000000000000..5645bb62363f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/setting-sso.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/sidebar.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/sidebar.svg new file mode 100644 index 000000000000..6548529e2d80 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/sidebar.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/star-gradient.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/star-gradient.svg new file mode 100644 index 000000000000..54dcf69f69a6 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/star-gradient.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/summary-chart.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/summary-chart.svg new file mode 100644 index 000000000000..d9e058225176 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/summary-chart.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/test-connection.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/test-connection.svg new file mode 100644 index 000000000000..0e595042ff5d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/test-connection.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/two.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/two.svg new file mode 100644 index 000000000000..1b31502c1f43 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/two.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/usage.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/usage.svg new file mode 100644 index 000000000000..0e5327fbb98d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/usage.svg @@ -0,0 +1,4 @@ + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/user-icon.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/user-icon.svg new file mode 100644 index 000000000000..bc0bba414ad9 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/user-icon.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/users-button.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/users-button.svg new file mode 100644 index 000000000000..80d4cdc2f0e4 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/users-button.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/vpc-connector.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/vpc-connector.svg new file mode 100644 index 000000000000..4fe447f8dc60 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/vpc-connector.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/welcome-screen.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/welcome-screen.svg new file mode 100644 index 000000000000..2d7ca130db9a --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/welcome-screen.svg @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/workflow-task.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/workflow-task.svg new file mode 100644 index 000000000000..3b322175221c --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/workflow-task.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/workflow.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/workflow.svg new file mode 100644 index 000000000000..2ac2fc831335 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/workflow.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/x-outlined.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/x-outlined.svg new file mode 100644 index 000000000000..8e1003d3fb8a --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/x-outlined.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AuthenticatedAppRouter.tsx b/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AuthenticatedAppRouter.tsx index 5b770729b22e..3faadd7180ae 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AuthenticatedAppRouter.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AuthenticatedAppRouter.tsx @@ -292,6 +292,25 @@ const AddObservabilityPage = withSuspenseFallback( ) ); +const KnowledgeCenterPage = withSuspenseFallback( + React.lazy( + () => import('../../pages/KnowledgeCenterPage/KnowledgeCenterPage') + ) +); + +const KnowledgeCenterFilterPage = withSuspenseFallback( + React.lazy( + () => + import('../../pages/KnowledgeCenterFilterPage/KnowledgeCenterFilterPage') + ) +); + +const KnowledgePageVersionPage = withSuspenseFallback( + React.lazy( + () => import('../../pages/KnowledgePageVersionPage/KnowledgePageVersionPage') + ) +); + const MetricListPage = withSuspenseFallback( React.lazy( () => import('../../pages/MetricsPage/MetricListPage/MetricListPage') @@ -804,6 +823,22 @@ const AuthenticatedAppRouter: FunctionComponent = () => { element={} path={ROUTES.FORGOT_PASSWORD} /> + {[ + ROUTES.KNOWLEDGE_CENTER, + ROUTES.KNOWLEDGE_PAGE, + ROUTES.KNOWLEDGE_PAGE_WITH_TAB, + ROUTES.KNOWLEDGE_PAGE_WITH_SUB_TAB, + ].map((route) => ( + } key={route} path={route} /> + ))} + undefined} />} + path={ROUTES.KNOWLEDGE_PAGE_VERSION} + /> + } + path={ROUTES.KNOWLEDGE_CENTER_FILTER} + /> } path="*" /> ); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/BookMarkWidget/BookMarkWidget.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/BookMarkWidget/BookMarkWidget.test.tsx new file mode 100644 index 000000000000..8978660894a4 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/BookMarkWidget/BookMarkWidget.test.tsx @@ -0,0 +1,151 @@ +import { + render, + screen, + waitForElementToBeRemoved, +} from '@testing-library/react'; +import { User } from 'generated/entity/teams/user'; +import { useApplicationStore } from 'hooks/useApplicationStore'; +import { getUserById } from 'rest/userAPI'; +import { MemoryRouter } from 'react-router-dom'; +import BookMarkWidget from './BookMarkWidget'; + +const mockUserData: User = { + name: 'aaron_johnson0', + email: 'testUser1@email.com', + id: '9304f330-2e9a-4513-883b-c939e29683a8', +}; + +jest.mock('hooks/useApplicationStore', () => ({ + useApplicationStore: jest.fn().mockImplementation(() => ({ + currentUser: mockUserData, + })), +})); + +jest.mock('components/common/Loader/Loader', () => + jest.fn().mockImplementation(() =>

) +); + +jest.mock('rest/userAPI', () => { + return { + getUserById: jest.fn().mockImplementation(() => { + return Promise.resolve({ + follows: [ + { + type: 'page', + id: 'test-page-id', + displayName: 'test-page-name', + fullyQualifiedName: 'test-page-fqn', + }, + ], + }); + }), + }; +}); + +jest.mock('utils/ToastUtils', () => { + return { + showErrorToast: jest.fn().mockImplementation(() => { + return 'Mocked showErrorToast'; + }), + }; +}); + +jest.mock('../../../utils/KnowledgePageUtils', () => ({ + ...jest.requireActual('../../../utils/KnowledgePageUtils'), + getKnowledgePagePath: jest.fn().mockImplementation(() => { + return '/knowledge-center/test-page-fqn'; + }), +})); + +const mockHandleRefreshBookMarkWidget = jest.fn(); + +const mockProps = { + refresh: false, + handleRefreshBookMarkWidget: mockHandleRefreshBookMarkWidget, +}; + +describe('BookMarkWidget', () => { + it('should render BookMarkWidget', async () => { + render(, { wrapper: MemoryRouter }); + + await waitForElementToBeRemoved(() => screen.getByText('Mocked Loader')); + + const bookmarkedPage = screen.getByTestId('bookmarked-test-page-name'); + + expect(bookmarkedPage).toHaveTextContent('test-page-name'); + expect(bookmarkedPage).toHaveAttribute( + 'href', + '/knowledge-center/test-page-fqn' + ); + + expect(screen.getByText('label.bookmark-plural')).toBeInTheDocument(); + + expect(screen.queryByText('Mocked showErrorToast')).not.toBeInTheDocument(); + + expect(mockHandleRefreshBookMarkWidget).toHaveBeenCalledWith(false); + }); + + it('should not call the getUserById if currentUser is not present', async () => { + (useApplicationStore as unknown as jest.Mock).mockImplementationOnce( + () => ({ + currentUser: null, + }) + ); + + render(, { wrapper: MemoryRouter }); + + expect(screen.queryByText('test-page-name')).not.toBeInTheDocument(); + expect(screen.queryByText('test-page-fqn')).not.toBeInTheDocument(); + expect(screen.queryByText('Mocked showErrorToast')).not.toBeInTheDocument(); + + expect(getUserById).not.toHaveBeenCalled(); + }); + + it('should render the placeholder text if there are no bookmarks', async () => { + (getUserById as jest.Mock).mockImplementation(() => { + return Promise.resolve({ + follows: [], + }); + }); + + render(, { wrapper: MemoryRouter }); + + await waitForElementToBeRemoved(() => screen.getByText('Mocked Loader')); + + expect(screen.queryByText('test-page-name')).not.toBeInTheDocument(); + expect(screen.queryByText('test-page-fqn')).not.toBeInTheDocument(); + expect(screen.queryByText('Mocked showErrorToast')).not.toBeInTheDocument(); + + expect( + screen.getByText('message.not-bookmark-anything') + ).toBeInTheDocument(); + }); + + it("should render the title as 'Untitled' if the displayName is not present", async () => { + (getUserById as jest.Mock).mockImplementation(() => { + return Promise.resolve({ + follows: [ + { + type: 'page', + id: 'test-page-id', + displayName: null, + fullyQualifiedName: 'test-page-fqn', + }, + ], + }); + }); + + render(, { wrapper: MemoryRouter }); + + await waitForElementToBeRemoved(() => screen.getByText('Mocked Loader')); + + // test id should have the fullyQualifiedName + const bookmarkedPage = screen.getByTestId('bookmarked-test-page-fqn'); + + expect(bookmarkedPage).toHaveTextContent('label.untitled'); + expect(bookmarkedPage).toHaveAttribute( + 'href', + '/knowledge-center/test-page-fqn' + ); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/BookMarkWidget/BookMarkWidget.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/BookMarkWidget/BookMarkWidget.tsx new file mode 100644 index 000000000000..d27adbc25a34 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/BookMarkWidget/BookMarkWidget.tsx @@ -0,0 +1,91 @@ +import { Space, Typography } from 'antd'; +import { AxiosError } from 'axios'; +import { KnowledgePage } from 'interface/knowledge-center.interface'; +import { isEmpty, map } from 'lodash'; +import ExpandableCard from 'components/common/ExpandableCard/ExpandableCard'; +import Loader from 'components/common/Loader/Loader'; +import { EntityType, TabSpecificField } from 'enums/entity.enum'; +import { useApplicationStore } from 'hooks/useApplicationStore'; +import { getUserById } from 'rest/userAPI'; +import { showErrorToast } from 'utils/ToastUtils'; +import { useEffect, useMemo, useState } from 'react'; +import { ReactComponent as BookMarkIcon } from '../../../assets/svg/ic-bookmark.svg'; +import { t } from '../../../utils/i18next/LocalUtil'; +import { getLink } from '../../../utils/KnowledgePageUtils'; + +const BookMarkWidget = ({ + refresh, + handleRefreshBookMarkWidget, +}: { + refresh: boolean; + handleRefreshBookMarkWidget: (value: boolean) => void; +}) => { + const { currentUser } = useApplicationStore(); + const [isLoading, setIsLoading] = useState(true); + const [data, setData] = useState([]); + + const fetchBookMarks = async () => { + if (!currentUser?.id) { + return; + } + + try { + const userData = await getUserById(currentUser?.id, { + fields: TabSpecificField.FOLLOWS, + }); + const bookmarkData = (userData.follows ?? []).filter( + (reference) => reference.type === EntityType.KNOWLEDGE_PAGE + ); + setData(bookmarkData as unknown as KnowledgePage[]); + } catch (error) { + setData([]); + showErrorToast(error as AxiosError); + } finally { + setIsLoading(false); + handleRefreshBookMarkWidget(false); + } + }; + + const header = useMemo(() => { + return ( +
+ + + {t('label.bookmark-plural')} + +
+ ); + }, [t]); + + useEffect(() => { + fetchBookMarks(); + }, [currentUser]); + + useEffect(() => { + if (refresh) { + fetchBookMarks(); + } + }, [refresh]); + + if (isLoading) { + return ; + } + + return ( + + {isEmpty(data) ? ( + t('message.not-bookmark-anything') + ) : ( + + {map(data, (instance) => getLink(instance, 'bookmarked'))} + + )} + + ); +}; + +export default BookMarkWidget; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.mock.ts b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.mock.ts new file mode 100644 index 000000000000..772c0f2598c6 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.mock.ts @@ -0,0 +1,274 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* eslint-disable max-len */ + +import { + Article, + KnowledgePage, +} from '../../../interface/knowledge-center.interface'; + +export const KNOWLEDGE_PAGE_TAGS = [ + { + tagFQN: 'KnowledgeCenter.HowToGuide', + name: 'HowToGuide', + description: 'How To Guide Quick Link or Article Tag.', + style: { + color: '#25d80e', + }, + source: 'Classification', + labelType: 'Manual', + state: 'Confirmed', + }, + { + tagFQN: 'PersonalData.SpecialCategory', + name: 'SpecialCategory', + description: + 'GDPR special category data is personal information of data subjects that is especially sensitive, the exposure of which could significantly impact the rights and freedoms of data subjects and potentially be used against them for unlawful discrimination.', + source: 'Classification', + labelType: 'Derived', + state: 'Confirmed', + }, + { + tagFQN: 'PII.None', + name: 'None', + description: 'Non PII', + style: {}, + source: 'Classification', + labelType: 'Derived', + state: 'Confirmed', + }, + { + tagFQN: 'testing.testing_term_1', + name: 'testing_term_1', + displayName: 'testing_term_1', + description: 'testing_term_1', + style: {}, + source: 'Glossary', + labelType: 'Manual', + state: 'Confirmed', + }, + { + tagFQN: 'testing.testing_term_4', + name: 'testing_term_4', + displayName: 'testing_term_4', + description: 'testing_term_4', + style: {}, + source: 'Glossary', + labelType: 'Manual', + state: 'Confirmed', + }, +]; + +export const KNOWLEDGE_PAGE_MOCK_DATA = { + id: '8e6427d6-98cc-4334-b2f2-15fb62bde887', + name: 'Article_oRKYYTCu', + fullyQualifiedName: 'Article_oRKYYTCu', + displayName: 'OpenMetadata 1.1.0 Release UI', + description: + 'Less than two months have passed since our exciting OpenMetadata 1.0 Release, and we’re thrilled to announce the completion of Release 1.1 already! The OpenMetadata community thrives on pushing our limits; this latest release is a testament to it. Prepare to be amazed as we unveil a complete UI overhaul, meticulously designed to elevate the user experience across the entire platform. But that’s not all! We’ve also introduced four new connectors, implemented advanced PII masking, and significantly enhanced lineage parsing capabilities, just to name a few of the numerous features we’ve packed into this release. Stay tuned for an exceptional OpenMetadata experience like never before!\n\n_In the upcoming 1.2 Release of OpenMetadata, we are thrilled to introduce exclusive new features specifically tailored for Collate SaaS. You can review Collate’s roadmap here and be as excited as we are 🚀_\n\nCommunity Updates\n-----------------\n\nThanks to the incredible OpenMetadata Community, our growth and activity have skyrocketed. Slack is buzzing with constant engagement, and we truly appreciate your code contributions, feedback, and feature requests. Our webinars are attracting more attendees, and the June community meeting was extra special, thanks to our first Community Spotlight: Gaétan Soulas from Solocal!\n\nWe are excited about our soaring community numbers!\n\nCrossed 2400+ GitHub stars (+200 stars since the previous release)\n\nThe Slack community reached 3200+ members (+500 since the previous release)\n\n168 Open-source GitHub developers (+8 since the previous release)\n\nMerged 526 Commits into the 1.1 Release\n\nOpenMetadata 1.1 Release Highlights\n\nUI Overhaul\n-----------\n\nThis release marks a significant milestone for the OpenMetadata platform, bringing many UI changes that are among the most substantial since the start of the project in 2021.\n\nOur primary focus is to simplify the overall experience for users while building upon our already exceptional UI. We are incredibly excited to share these changes with you as they further enhance the platform’s discovery, collaboration, and data quality experience.\n\nRefined Landing Page\n--------------------', + version: 1.2, + updatedAt: 1695189199255, + updatedBy: 'sachinchaurasiya87', + href: 'http://localhost:8585/api/v1/knowledgeCenter/8e6427d6-98cc-4334-b2f2-15fb62bde887', + changeDescription: { + fieldsAdded: [], + fieldsUpdated: [ + { + name: 'description', + oldValue: + 'Less than two months have passed since our exciting OpenMetadata 1.0 Release, and we’re thrilled to announce the completion of Release 1.1 already! The OpenMetadata community thrives on pushing our limits; this latest release is a testament to it. Prepare to be amazed as we unveil a complete UI overhaul, meticulously designed to elevate the user experience across the entire platform. But that’s not all! We’ve also introduced four new connectors, implemented advanced PII masking, and significantly enhanced lineage parsing capabilities, just to name a few of the numerous features we’ve packed into this release. Stay tuned for an exceptional OpenMetadata experience like never before!\n\nIn the upcoming 1.2 Release of OpenMetadata, we are thrilled to introduce exclusive new features specifically tailored for Collate SaaS. You can review Collate’s roadmap here and be as excited as we are 🚀\n\nCommunity Updates\n-----------------\n\nThanks to the incredible OpenMetadata Community, our growth and activity have skyrocketed. Slack is buzzing with constant engagement, and we truly appreciate your code contributions, feedback, and feature requests. Our webinars are attracting more attendees, and the June community meeting was extra special, thanks to our first Community Spotlight: Gaétan Soulas from Solocal!\n\nWe are excited about our soaring community numbers!\n\nCrossed 2400+ GitHub stars (+200 stars since the previous release)\n\nThe Slack community reached 3200+ members (+500 since the previous release)\n\n168 Open-source GitHub developers (+8 since the previous release)\n\nMerged 526 Commits into the 1.1 Release\n\nOpenMetadata 1.1 Release Highlights\n\nUI Overhaul\n-----------\n\nThis release marks a significant milestone for the OpenMetadata platform, bringing many UI changes that are among the most substantial since the start of the project in 2021.\n\nOur primary focus is to simplify the overall experience for users while building upon our already exceptional UI. We are incredibly excited to share these changes with you as they further enhance the platform’s discovery, collaboration, and data quality experience.\n\nRefined Landing Page\n--------------------', + newValue: + 'Less than two months have passed since our exciting OpenMetadata 1.0 Release, and we’re thrilled to announce the completion of Release 1.1 already! The OpenMetadata community thrives on pushing our limits; this latest release is a testament to it. Prepare to be amazed as we unveil a complete UI overhaul, meticulously designed to elevate the user experience across the entire platform. But that’s not all! We’ve also introduced four new connectors, implemented advanced PII masking, and significantly enhanced lineage parsing capabilities, just to name a few of the numerous features we’ve packed into this release. Stay tuned for an exceptional OpenMetadata experience like never before!\n\n_In the upcoming 1.2 Release of OpenMetadata, we are thrilled to introduce exclusive new features specifically tailored for Collate SaaS. You can review Collate’s roadmap here and be as excited as we are 🚀_\n\nCommunity Updates\n-----------------\n\nThanks to the incredible OpenMetadata Community, our growth and activity have skyrocketed. Slack is buzzing with constant engagement, and we truly appreciate your code contributions, feedback, and feature requests. Our webinars are attracting more attendees, and the June community meeting was extra special, thanks to our first Community Spotlight: Gaétan Soulas from Solocal!\n\nWe are excited about our soaring community numbers!\n\nCrossed 2400+ GitHub stars (+200 stars since the previous release)\n\nThe Slack community reached 3200+ members (+500 since the previous release)\n\n168 Open-source GitHub developers (+8 since the previous release)\n\nMerged 526 Commits into the 1.1 Release\n\nOpenMetadata 1.1 Release Highlights\n\nUI Overhaul\n-----------\n\nThis release marks a significant milestone for the OpenMetadata platform, bringing many UI changes that are among the most substantial since the start of the project in 2021.\n\nOur primary focus is to simplify the overall experience for users while building upon our already exceptional UI. We are incredibly excited to share these changes with you as they further enhance the platform’s discovery, collaboration, and data quality experience.\n\nRefined Landing Page\n--------------------', + }, + ], + fieldsDeleted: [], + previousVersion: 1.1, + }, + owners: [ + { + id: '9304f330-2e9a-4513-883b-c939e29683a8', + type: 'user', + name: 'admin', + fullyQualifiedName: 'admin', + deleted: false, + href: 'http://localhost:8585/api/v1/users/9304f330-2e9a-4513-883b-c939e29683a8', + }, + ], + followers: [ + { + id: '9304f330-2e9a-4513-883b-c939e29683a8', + type: 'user', + name: 'admin', + fullyQualifiedName: 'admin', + deleted: false, + href: 'http://localhost:8585/api/v1/users/9304f330-2e9a-4513-883b-c939e29683a8', + }, + ], + votes: { + upVotes: 1, + downVotes: 0, + upVoters: [ + { + id: '9304f330-2e9a-4513-883b-c939e29683a8', + type: 'user', + name: 'admin', + fullyQualifiedName: 'admin', + deleted: false, + }, + ], + downVoters: [], + }, + pageType: 'Article', + page: { + publicationDate: 1726823190797, + relatedArticles: [], + } as unknown as Article, + deleted: false, + tags: KNOWLEDGE_PAGE_TAGS, +} as KnowledgePage; + +export const KNOWLEDGE_PAGE_PARTIAL_MOCK_DATA = { + id: '8e6427d6-98cc-4334-b2f2-15fb62bde887', + name: 'Article_oRKYYTCu', + fullyQualifiedName: 'Article_oRKYYTCu', + displayName: 'OpenMetadata 1.1.0 Release UI', + description: '', + version: 1.2, + updatedAt: 1695189199255, + updatedBy: 'sachinchaurasiya87', + href: 'http://localhost:8585/api/v1/knowledgeCenter/8e6427d6-98cc-4334-b2f2-15fb62bde887', + changeDescription: { + fieldsAdded: [], + fieldsUpdated: [ + { + name: 'description', + oldValue: + 'Less than two months have passed since our exciting OpenMetadata 1.0 Release, and we’re thrilled to announce the completion of Release 1.1 already! The OpenMetadata community thrives on pushing our limits; this latest release is a testament to it. Prepare to be amazed as we unveil a complete UI overhaul, meticulously designed to elevate the user experience across the entire platform. But that’s not all! We’ve also introduced four new connectors, implemented advanced PII masking, and significantly enhanced lineage parsing capabilities, just to name a few of the numerous features we’ve packed into this release. Stay tuned for an exceptional OpenMetadata experience like never before!\n\nIn the upcoming 1.2 Release of OpenMetadata, we are thrilled to introduce exclusive new features specifically tailored for Collate SaaS. You can review Collate’s roadmap here and be as excited as we are 🚀\n\nCommunity Updates\n-----------------\n\nThanks to the incredible OpenMetadata Community, our growth and activity have skyrocketed. Slack is buzzing with constant engagement, and we truly appreciate your code contributions, feedback, and feature requests. Our webinars are attracting more attendees, and the June community meeting was extra special, thanks to our first Community Spotlight: Gaétan Soulas from Solocal!\n\nWe are excited about our soaring community numbers!\n\nCrossed 2400+ GitHub stars (+200 stars since the previous release)\n\nThe Slack community reached 3200+ members (+500 since the previous release)\n\n168 Open-source GitHub developers (+8 since the previous release)\n\nMerged 526 Commits into the 1.1 Release\n\nOpenMetadata 1.1 Release Highlights\n\nUI Overhaul\n-----------\n\nThis release marks a significant milestone for the OpenMetadata platform, bringing many UI changes that are among the most substantial since the start of the project in 2021.\n\nOur primary focus is to simplify the overall experience for users while building upon our already exceptional UI. We are incredibly excited to share these changes with you as they further enhance the platform’s discovery, collaboration, and data quality experience.\n\nRefined Landing Page\n--------------------', + newValue: + 'Less than two months have passed since our exciting OpenMetadata 1.0 Release, and we’re thrilled to announce the completion of Release 1.1 already! The OpenMetadata community thrives on pushing our limits; this latest release is a testament to it. Prepare to be amazed as we unveil a complete UI overhaul, meticulously designed to elevate the user experience across the entire platform. But that’s not all! We’ve also introduced four new connectors, implemented advanced PII masking, and significantly enhanced lineage parsing capabilities, just to name a few of the numerous features we’ve packed into this release. Stay tuned for an exceptional OpenMetadata experience like never before!\n\n_In the upcoming 1.2 Release of OpenMetadata, we are thrilled to introduce exclusive new features specifically tailored for Collate SaaS. You can review Collate’s roadmap here and be as excited as we are 🚀_\n\nCommunity Updates\n-----------------\n\nThanks to the incredible OpenMetadata Community, our growth and activity have skyrocketed. Slack is buzzing with constant engagement, and we truly appreciate your code contributions, feedback, and feature requests. Our webinars are attracting more attendees, and the June community meeting was extra special, thanks to our first Community Spotlight: Gaétan Soulas from Solocal!\n\nWe are excited about our soaring community numbers!\n\nCrossed 2400+ GitHub stars (+200 stars since the previous release)\n\nThe Slack community reached 3200+ members (+500 since the previous release)\n\n168 Open-source GitHub developers (+8 since the previous release)\n\nMerged 526 Commits into the 1.1 Release\n\nOpenMetadata 1.1 Release Highlights\n\nUI Overhaul\n-----------\n\nThis release marks a significant milestone for the OpenMetadata platform, bringing many UI changes that are among the most substantial since the start of the project in 2021.\n\nOur primary focus is to simplify the overall experience for users while building upon our already exceptional UI. We are incredibly excited to share these changes with you as they further enhance the platform’s discovery, collaboration, and data quality experience.\n\nRefined Landing Page\n--------------------', + }, + ], + fieldsDeleted: [], + previousVersion: 1.1, + }, + pageType: 'Article', + page: { + publicationDate: 1726823190797, + relatedArticles: [], + } as unknown as Article, + deleted: false, +} as KnowledgePage; + +export const QUICK_LINK_MOCK_DATA = { + id: 'fea97e8c-b2ac-4103-b827-29530d1292ad', + name: 'QuickLink_AOJs37ZW', + fullyQualifiedName: 'QuickLink_AOJs37ZW', + displayName: 'OpenMetadata Docs updated', + description: 'Quick Link for OpenMetadata Website updated.', + href: 'http://sandbox-beta.open-metadata.org/api/v1/knowledgeCenter/fea97e8c-b2ac-4103-b827-29530d1292ad', + changeDescription: { + fieldsAdded: [ + { + name: 'tags', + newValue: + '[{"tagFQN":"testing.testing_term_1","name":"testing_term_1","displayName":"testing_term_1","description":"testing_term_1","style":{},"source":"Glossary","labelType":"Manual","state":"Confirmed"},{"tagFQN":"testing.testing_term_4","name":"testing_term_4","displayName":"testing_term_4","description":"testing_term_4","style":{},"source":"Glossary","labelType":"Manual","state":"Confirmed"}]', + }, + ], + fieldsUpdated: [], + fieldsDeleted: [ + { + name: 'tags', + oldValue: + '[{"tagFQN":"testing.testing_term_2","name":"testing_term_2","displayName":"testing_term_2","description":"testing_term_2","style":{},"source":"Glossary","labelType":"Manual","state":"Confirmed"}]', + }, + ], + previousVersion: 0.6, + }, + owners: [ + { + id: 'fcc81c9c-1ca2-4ab6-a44f-722c436c7aa8', + type: 'user', + name: 'rupesh', + fullyQualifiedName: 'rupesh', + description: + 'Amundsen is one of the OSS Data Catalogs that was developed by Lyft and was open-sourced in October 2019. It quickly became popular for solving data discovery and data governance challenges. However, in recent years, Amundsen’s development and growth have slowed down considerably. Without an active community and no clear roadmap to address the emerging needs, the users of Amundsen are looking for alternatives in the OSS space.\n\nOpenMetadata is redefining the modern metadata platform with a bold vision. We have built a centralized metadata repository based on metadata specifications and APIs from the ground up. It is the foundation for innovation with several applications, such as Discovery, Collaboration, Governance, Data Quality, and Data Insights going beyond passive Data Catalogs. Learn more about OpenMetadata’s journey so far here.', + displayName: 'Rupesh Chavan', + deleted: false, + href: 'http://sandbox-beta.open-metadata.org/api/v1/users/fcc81c9c-1ca2-4ab6-a44f-722c436c7aa8', + }, + ], + followers: [], + votes: { + upVotes: 0, + downVotes: 0, + upVoters: [], + downVoters: [], + }, + tags: [ + { + tagFQN: 'KnowledgeCenter.HowToGuide', + name: 'HowToGuide', + description: 'How To Guide Quick Link or Article Tag.', + style: { + color: '#25d80e', + }, + source: 'Classification', + labelType: 'Manual', + state: 'Confirmed', + }, + { + tagFQN: 'PersonalData.SpecialCategory', + name: 'SpecialCategory', + description: + 'GDPR special category data is personal information of data subjects that is especially sensitive, the exposure of which could significantly impact the rights and freedoms of data subjects and potentially be used against them for unlawful discrimination.', + source: 'Classification', + labelType: 'Derived', + state: 'Confirmed', + }, + { + tagFQN: 'PII.None', + name: 'None', + description: 'Non PII', + style: {}, + source: 'Classification', + labelType: 'Derived', + state: 'Confirmed', + }, + { + tagFQN: 'testing.testing_term_1', + name: 'testing_term_1', + displayName: 'testing_term_1', + description: 'testing_term_1', + style: {}, + source: 'Glossary', + labelType: 'Manual', + state: 'Confirmed', + }, + { + tagFQN: 'testing.testing_term_4', + name: 'testing_term_4', + displayName: 'testing_term_4', + description: 'testing_term_4', + style: {}, + source: 'Glossary', + labelType: 'Manual', + state: 'Confirmed', + }, + ], + pageType: 'QuickLink', + page: { + url: 'https://open-metadata.org', + }, + deleted: false, +} as unknown as KnowledgePage; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.test.tsx new file mode 100644 index 000000000000..14350c9dbd59 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.test.tsx @@ -0,0 +1,466 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { act, fireEvent, render, screen } from '@testing-library/react'; +import { Settings } from 'luxon'; +import '../../../test/unit/mocks/mui.mock'; + +import { usePermissionProvider } from 'context/PermissionProvider/PermissionProvider'; +import { User } from 'generated/entity/teams/user'; +import { MemoryRouter } from 'react-router-dom'; +import KnowledgeCard, { KnowledgeCardProps } from './KnowledgeCard'; +import { + KNOWLEDGE_PAGE_MOCK_DATA, + KNOWLEDGE_PAGE_PARTIAL_MOCK_DATA, + KNOWLEDGE_PAGE_TAGS, + QUICK_LINK_MOCK_DATA, +} from './KnowledgeCard.mock'; + +const systemLocale = Settings.defaultLocale; +const systemZoneName = Settings.defaultZone; + +const mockOnUpdateVote = jest.fn(); +const mockOnFollow = jest.fn(); +const mockOnUnFollow = jest.fn(); + +const mockProps: KnowledgeCardProps = { + knowledgeItem: KNOWLEDGE_PAGE_MOCK_DATA, + onUpdateVote: mockOnUpdateVote, + onFollow: mockOnFollow, + onUnFollow: mockOnUnFollow, + onDelete: jest.fn(), + onRefreshTagsCategory: jest.fn(), + readonly: false, +}; + +const mockUserData: User = { + name: 'aaron_johnson0', + email: 'testUser1@email.com', + id: '9304f330-2e9a-4513-883b-c939e29683a8', +}; + +jest.mock('hooks/useApplicationStore', () => ({ + useApplicationStore: jest.fn().mockImplementation(() => ({ + currentUser: mockUserData, + userProfilePics: {}, + })), +})); + +jest.mock( + 'components/common/RichTextEditor/RichTextEditorPreviewerV1', + () => + jest.fn().mockReturnValue(
Viewer
) +); +jest.mock( + 'components/common/PopOverCard/UserPopOverCard', + () => + jest + .fn() + .mockImplementation(({ userName }) => ( +
{userName}
+ )) +); + +jest.mock('../QuickLinkFormModal/QuickLinkFormModal', () => ({ + QuickLinkFormModal: jest + .fn() + .mockReturnValue( +
QuickLinkFormModal
+ ), +})); + +jest.mock( + 'components/common/DeleteWidget/DeleteWidgetModal', + () => + jest + .fn() + .mockReturnValue( +
DeleteWidgetModal
+ ) +); + +jest.mock( + 'context/PermissionProvider/PermissionProvider', + () => ({ + usePermissionProvider: jest.fn().mockReturnValue({ + getEntityPermissionByFqn: jest.fn().mockImplementation(() => ({ + Create: true, + Delete: true, + ViewAll: true, + EditAll: true, + EditDescription: true, + EditDisplayName: true, + EditTags: true, + })), + }), + }) +); + +describe('Knowledge Card', () => { + beforeAll(() => { + // Explicitly set locale and time zone to make sure date time manipulations and literal + // results are consistent regardless of where tests are run + Settings.defaultLocale = 'en-US'; + Settings.defaultZone = 'UTC'; + }); + + afterAll(() => { + // Restore locale and time zone + Settings.defaultLocale = systemLocale; + Settings.defaultZone = systemZoneName; + }); + + it('Should render the knowledge card', async () => { + render(, { + wrapper: MemoryRouter, + }); + const dateOwnerElement = screen.getByTestId('date-owner-col'); + const titleDescriptionElement = screen.getByTestId( + 'knowledge-title-description' + ); + + const metadataElement = screen.getByTestId('knowledge-metadata'); + + expect(dateOwnerElement).toBeInTheDocument(); + expect(titleDescriptionElement).toBeInTheDocument(); + expect(metadataElement).toBeInTheDocument(); + + const ownerName = screen.getByTestId('owner-link'); + + expect(ownerName).toHaveTextContent('admin'); + + const lastEditedByName = screen.getByTestId('owner-name'); + + const updatedAt = screen.getByTestId('updated-at'); + + expect(updatedAt).toHaveTextContent('Sep 20, 2023'); + + const title = screen.getByTestId('entity-header-display-name'); + + expect(title).toHaveTextContent('OpenMetadata 1.1.0 Release UI'); + + const description = screen.getByTestId('viewer-container'); + + expect(description).toBeInTheDocument(); + + const upVoteButton = screen.getByTestId('up-vote-btn'); + const upVoteCount = screen.getByTestId('up-vote-count'); + + expect(upVoteButton).toBeInTheDocument(); + expect(upVoteCount).toHaveTextContent('1'); + + const downVoteButton = screen.getByTestId('down-vote-btn'); + const downVoteCount = screen.getByTestId('down-vote-count'); + + expect(downVoteButton).toBeInTheDocument(); + expect(downVoteCount).toHaveTextContent('0'); + + const updatedAtMetadata = screen.getByTestId('updated-at-metadata'); + + expect(lastEditedByName).toHaveTextContent('sachinchaurasiya87'); + expect(updatedAtMetadata).toHaveTextContent('Sep 20, 2023'); + + const bookmarkBtn = screen.getByTestId('bookmark-btn'); + + expect(bookmarkBtn).toBeInTheDocument(); + expect(bookmarkBtn).toHaveAttribute('data-isfollowing', 'true'); + + KNOWLEDGE_PAGE_TAGS.forEach((tag) => { + const tagElement = screen.getByText(tag.name); + + expect(tagElement).toBeInTheDocument(); + }); + }); + + it('Should render the fallback data', async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + const dateOwnerElement = screen.getByTestId('date-owner-col'); + const titleDescriptionElement = screen.getByTestId( + 'knowledge-title-description' + ); + + const metadataElement = screen.getByTestId('knowledge-metadata'); + + expect(dateOwnerElement).toBeInTheDocument(); + expect(titleDescriptionElement).toBeInTheDocument(); + expect(metadataElement).toBeInTheDocument(); + + const ownerName = screen.getByTestId('owner-link'); + + expect(ownerName).toHaveTextContent('label.no-entity'); + + const updatedAt = screen.getByTestId('updated-at'); + + expect(updatedAt).toHaveTextContent('Sep 20, 2023'); + + const title = screen.getByTestId('entity-header-display-name'); + + expect(title).toHaveTextContent('OpenMetadata 1.1.0 Release UI'); + + const noDescription = screen.getByTestId('no-description'); + + expect(noDescription).toHaveTextContent('label.no-description'); + + const upVoteCount = screen.getByTestId('up-vote-count'); + + expect(upVoteCount).toHaveTextContent('0'); + + const downVoteCount = screen.getByTestId('down-vote-count'); + + expect(downVoteCount).toHaveTextContent('0'); + + const bookmarkBtn = screen.getByTestId('bookmark-btn'); + + expect(bookmarkBtn).toBeInTheDocument(); + expect(bookmarkBtn).toHaveAttribute('data-isfollowing', 'false'); + }); + + it('OnUpdateVote Should work', async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + + // upVote simulation + const upVoteButton = screen.getByTestId('up-vote-btn'); + + fireEvent.click(upVoteButton); + + expect(mockOnUpdateVote).toHaveBeenCalledWith( + { + updatedVoteType: 'votedUp', + }, + '8e6427d6-98cc-4334-b2f2-15fb62bde887' + ); + + // downVote simulation + const downVoteButton = screen.getByTestId('down-vote-btn'); + + fireEvent.click(downVoteButton); + + expect(mockOnUpdateVote).toHaveBeenCalledWith( + { + updatedVoteType: 'votedDown', + }, + '8e6427d6-98cc-4334-b2f2-15fb62bde887' + ); + }); + + it('onFollow Should work', async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + + const bookmarkBtn = screen.getByTestId('bookmark-btn'); + + fireEvent.click(bookmarkBtn); + + expect(mockOnFollow).toHaveBeenCalledWith( + '8e6427d6-98cc-4334-b2f2-15fb62bde887' + ); + }); + + it('onUnFollow Should work', async () => { + render(, { + wrapper: MemoryRouter, + }); + + const bookmarkBtn = screen.getByTestId('bookmark-btn'); + + fireEvent.click(bookmarkBtn); + + expect(mockOnUnFollow).toHaveBeenCalledWith( + '8e6427d6-98cc-4334-b2f2-15fb62bde887' + ); + }); + + it('should render the edit and delete button for quick link', async () => { + await act(async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + }); + + const editButton = screen.getByTestId('edit-quick-link-btn'); + const deleteButton = screen.getByTestId('delete-quick-link-btn'); + + expect(editButton).toBeInTheDocument(); + expect(deleteButton).toBeInTheDocument(); + }); + + it('edit should render the quick link modal', async () => { + await act(async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + }); + + const editButton = screen.getByTestId('edit-quick-link-btn'); + + fireEvent.click(editButton); + + const quickLinkFormModal = screen.getByTestId('quick-link-form-modal'); + + expect(quickLinkFormModal).toBeInTheDocument(); + }); + + it('delete should render the delete widget modal', async () => { + await act(async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + }); + + const deleteButton = screen.getByTestId('delete-quick-link-btn'); + + fireEvent.click(deleteButton); + + const deleteWidgetModal = screen.getByTestId('delete-widget-modal'); + + expect(deleteWidgetModal).toBeInTheDocument(); + }); + + it('quick link title should have target as _blank', async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + + const quickLinkTitle = screen.getByTestId('knowledge-link'); + + expect(quickLinkTitle).toHaveAttribute('target', '_blank'); + }); + + it("should not render the edit and delete button for quick link if user doesn't have permission", async () => { + (usePermissionProvider as jest.Mock).mockImplementationOnce(() => ({ + getEntityPermissionByFqn: jest.fn().mockReturnValue({ + Create: false, + Delete: false, + ViewAll: false, + EditAll: false, + EditDescription: false, + EditDisplayName: false, + EditTags: false, + }), + })); + render( + , + { + wrapper: MemoryRouter, + } + ); + + const editButton = screen.queryByTestId('edit-quick-link-btn'); + const deleteButton = screen.queryByTestId('delete-quick-link-btn'); + + expect(editButton).not.toBeInTheDocument(); + expect(deleteButton).not.toBeInTheDocument(); + }); + + it('should render the edit button for quick link if user have some edit permission', async () => { + (usePermissionProvider as jest.Mock).mockImplementationOnce(() => ({ + getEntityPermissionByFqn: jest.fn().mockReturnValue({ + Create: false, + Delete: false, + ViewAll: false, + EditAll: false, + EditDescription: true, + EditDisplayName: false, + EditTags: true, + }), + })); + await act(async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + }); + + const editButton = screen.getByTestId('edit-quick-link-btn'); + + expect(editButton).toBeInTheDocument(); + }); + + it('should not render the votes-section and bookmark-section if readonly is true', async () => { + render(, { + wrapper: MemoryRouter, + }); + + const voteSection = screen.queryByTestId('votes-section'); + const bookmarkSection = screen.queryByTestId('bookmark-section'); + + expect(voteSection).not.toBeInTheDocument(); + expect(bookmarkSection).not.toBeInTheDocument(); + }); + + it('should not render the edit and delete button for quick link if readonly is true', async () => { + (usePermissionProvider as jest.Mock).mockImplementationOnce(() => ({ + getEntityPermissionByFqn: jest.fn().mockReturnValue({ + Create: true, + Delete: true, + ViewAll: true, + EditAll: true, + EditDescription: true, + EditDisplayName: true, + EditTags: true, + }), + })); + render( + , + { + wrapper: MemoryRouter, + } + ); + + const editButton = screen.queryByTestId('edit-quick-link-btn'); + const deleteButton = screen.queryByTestId('delete-quick-link-btn'); + + expect(editButton).not.toBeInTheDocument(); + expect(deleteButton).not.toBeInTheDocument(); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.tsx new file mode 100644 index 000000000000..1032c1b5303e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/KnowledgeCard.tsx @@ -0,0 +1,494 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import Icon from '@ant-design/icons'; +import { Col, Divider, Row, Space, Typography } from 'antd'; +import { AxiosError } from 'axios'; +import { EntityType } from 'enums/entity.enum'; +import { isUndefined } from 'lodash'; +import { ReactComponent as EditIcon } from 'assets/svg/edit-new.svg'; +import { ReactComponent as IconDelete } from 'assets/svg/ic-delete.svg'; +import { ReactComponent as ThumbsUpFilled } from 'assets/svg/thumbs-up-filled.svg'; +import { ReactComponent as ThumbsUpOutline } from 'assets/svg/thumbs-up-outline.svg'; +import DeleteWidgetModal from 'components/common/DeleteWidget/DeleteWidgetModal'; +import UserPopOverCard from 'components/common/PopOverCard/UserPopOverCard'; +import RichTextEditorPreviewerV1 from 'components/common/RichTextEditor/RichTextEditorPreviewerV1'; + +import TagsViewer from 'components/Tag/TagsViewer/TagsViewer'; +import { DisplayType } from 'components/Tag/TagsViewer/TagsViewer.interface'; + +import Loader from 'components/common/Loader/Loader'; +import { OwnerLabel } from 'components/common/OwnerLabel/OwnerLabel.component'; +import { QueryVoteType } from 'components/Database/TableQueries/TableQueries.interface'; +import { VotingDataProps } from 'components/Entity/Voting/voting.interface'; +import { DE_ACTIVE_COLOR } from 'constants/constants'; +import { usePermissionProvider } from 'context/PermissionProvider/PermissionProvider'; +import { + OperationPermission, + ResourceEntity, +} from 'context/PermissionProvider/PermissionProvider.interface'; +import { useApplicationStore } from 'hooks/useApplicationStore'; +import { formatDate } from 'utils/date-time/DateTimeUtils'; +import { getFrontEndFormat } from 'utils/FeedUtils'; +import { DEFAULT_ENTITY_PERMISSION } from 'utils/PermissionsUtils'; +import { showErrorToast } from 'utils/ToastUtils'; +import { FC, useCallback, useEffect, useMemo, useState } from 'react'; +import { Link } from 'react-router-dom'; +import { ReactComponent as IconArticle } from '../../../assets/svg/ic-articles.svg'; +import { ReactComponent as BookMarkIcon } from '../../../assets/svg/ic-bookmark.svg'; +import { ReactComponent as BookMarkedIcon } from '../../../assets/svg/ic-bookmarked.svg'; +import { ReactComponent as LinkIcon } from '../../../assets/svg/ic-link.svg'; +import { ReactComponent as UpdatedAtIcon } from '../../../assets/svg/ic-updated.svg'; +import { + KnowledgePage, + PageType, + QuickLink, + RecentlyViewedQuickLinks, + RecentViewedKnowledgePage, +} from '../../../interface/knowledge-center.interface'; +import { t } from '../../../utils/i18next/LocalUtil'; +import { + addToKnowledgeCenterRecentViewed, + getKnowledgePagePath, + updateKnowledgeCenterRecentViewed, +} from '../../../utils/KnowledgePageUtils'; +import { + QuickLinkFormModal, + QuickLinkFormModalFormData, +} from '../QuickLinkFormModal/QuickLinkFormModal'; + +import { useCurrentUserPreferences } from 'hooks/currentUserStore/useCurrentUserStore'; +import './knowledge-card.less'; + +export interface KnowledgeCardProps { + knowledgeItem: KnowledgePage; + onUpdateVote?: (data: VotingDataProps, id: string) => Promise; + onFollow?: (id: string) => Promise; + onUnFollow?: (id: string) => Promise; + onDelete?: (id: string) => void; + onRefreshTagsCategory?: (value: boolean) => void; + readonly?: boolean; +} + +const KnowledgeCard: FC = ({ + knowledgeItem, + onUpdateVote, + onFollow, + onUnFollow, + onDelete, + onRefreshTagsCategory, + readonly = false, +}) => { + const { getEntityPermissionByFqn } = usePermissionProvider(); + const { currentUser } = useApplicationStore(); + const USERId = currentUser?.id ?? ''; + + const [knowledgePage, setKnowledgePage] = useState(knowledgeItem); + const [permissions, setPermissions] = useState( + DEFAULT_ENTITY_PERMISSION + ); + + const { + name, + displayName = '', + owners = [], + updatedAt, + description = '', + votes, + updatedBy, + followers = [], + } = knowledgePage; + + const [showAddLinkModal, setShowAddLinkModal] = useState(false); + const [isDelete, setIsDelete] = useState(false); + const [votesLoading, setVotesLoading] = useState<{ + votedUp: boolean; + votedDown: boolean; + }>({ + votedUp: false, + votedDown: false, + }); + + const [isBookmaking, setIsBookmaking] = useState(false); + const { + preferences: { recentlyViewedQuickLinks }, + } = useCurrentUserPreferences(); + const recentlyViewed = + recentlyViewedQuickLinks as unknown as RecentlyViewedQuickLinks['data']; + + const fetchPermission = async (fqn: string) => { + try { + const response = await getEntityPermissionByFqn( + ResourceEntity.KNOWLEDGE_PAGE as unknown as ResourceEntity, + fqn + ); + setPermissions(response); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const voteStatus = useMemo(() => { + if (isUndefined(votes)) { + return QueryVoteType.unVoted; + } + + const upVoters = votes.upVoters || []; + const downVoters = votes.downVoters || []; + + if (upVoters.some((user) => user.id === USERId)) { + return QueryVoteType.votedUp; + } else if (downVoters.some((user) => user.id === USERId)) { + return QueryVoteType.votedDown; + } else { + return QueryVoteType.unVoted; + } + }, [votes, USERId]); + + const isVoteUp = voteStatus === QueryVoteType.votedUp; + const isVoteDown = voteStatus === QueryVoteType.votedDown; + const isQuickLink = knowledgePage.pageType === PageType.QUICK_LINK; + const isFollowing = Boolean(followers?.some(({ id }) => id === USERId)); + const path = isQuickLink + ? (knowledgePage.page as QuickLink).url + : getKnowledgePagePath(knowledgePage.fullyQualifiedName); + + const handleVoteChange = async (type: QueryVoteType) => { + let updatedVoteType; + + // current vote is same as selected vote, it means user is removing vote, else up/down voting + if (voteStatus === type) { + updatedVoteType = QueryVoteType.unVoted; + } else { + updatedVoteType = type; + } + + setVotesLoading((prev) => ({ + ...prev, + [type]: true, + })); + + await onUpdateVote?.({ updatedVoteType }, knowledgePage.id); + + setVotesLoading((prev) => ({ + ...prev, + [type]: false, + })); + }; + + const handleBookmarkChange = useCallback( + async (id: string) => { + setIsBookmaking(true); + if (isFollowing) { + await onUnFollow?.(id); + } else { + await onFollow?.(id); + } + setIsBookmaking(false); + }, + [isFollowing, onUnFollow, onFollow] + ); + + const handleQuickLinkUpdate = async ( + formData: QuickLinkFormModalFormData + ) => { + setKnowledgePage((prevKnowledgePage) => ({ + ...prevKnowledgePage, + displayName: formData.displayName, + description: formData.description, + tags: formData.tags, + page: { + url: formData.url, + }, + relatedEntities: formData?.relatedEntities, + })); + onRefreshTagsCategory?.(true); + }; + + const handleToggleDelete = () => { + setKnowledgePage((prev) => { + if (!prev) { + return prev; + } + + return { ...prev, deleted: !prev?.deleted }; + }); + }; + const afterDeleteAction = useCallback( + (isSoftDelete?: boolean) => { + updateKnowledgeCenterRecentViewed( + recentlyViewed.filter((page) => page.id !== knowledgePage?.id) + ); + isSoftDelete ? handleToggleDelete() : onDelete?.(knowledgePage?.id); + onRefreshTagsCategory?.(true); + }, + [knowledgePage, onDelete, handleToggleDelete, onRefreshTagsCategory] + ); + + const quickLinkActions = useMemo(() => { + const editPermission = + permissions?.EditAll || + permissions?.EditDisplayName || + permissions?.EditDescription || + permissions?.EditTags; + + return ( + <> + {editPermission && ( + { + e.stopPropagation(); + e.preventDefault(); + setShowAddLinkModal(true); + }} + /> + )} + {permissions?.Delete && ( + { + e.stopPropagation(); + e.preventDefault(); + setIsDelete(true); + }} + /> + )} + + ); + }, [permissions]); + + const handleQuickLinkRecentView = useCallback(() => { + if (isQuickLink) { + addToKnowledgeCenterRecentViewed( + knowledgePage as RecentViewedKnowledgePage + ); + } + }, [isQuickLink, knowledgePage]); + + useEffect(() => { + setKnowledgePage(knowledgeItem); + if (knowledgeItem.pageType === PageType.QUICK_LINK) { + fetchPermission(knowledgeItem.fullyQualifiedName); + } + }, [knowledgeItem]); + + return ( + + + +
+ +
+

+ + + {formatDate(updatedAt)} + +

+
+ + + + + +
+ {isQuickLink ? ( + + ) : ( + + )} + + {knowledgePage?.displayName || t('label.untitled')} + + {isQuickLink && !readonly && quickLinkActions} +
+ + {description.trim() ? ( + + ) : ( + + {t('label.no-description')} + + )} +
+ + + {(knowledgePage.tags ?? []).length > 0 && ( + + + + )} + + + {!readonly && ( + + +
handleVoteChange(QueryVoteType.votedUp)}> + + {votesLoading.votedUp ? ( + + ) : ( + + )} + + + {votes?.upVotes ?? 0} + + +
+
handleVoteChange(QueryVoteType.votedDown)}> + + {votesLoading.votedDown ? ( + + ) : ( + + )} + + {votes?.downVotes ?? 0} + + +
+
+ + + )} + + + {`${t('label.last-edited-by')}:`} + + + + + + + {`${t('label.last-updated')}:`} + + {formatDate(updatedAt)} + + + + {!readonly && ( + + + {isBookmaking ? ( + + ) : ( + handleBookmarkChange(knowledgePage.id)} + /> + )} + + )} +
+ + {showAddLinkModal && ( + setShowAddLinkModal(false)} + onSave={(data) => { + handleQuickLinkUpdate(data); + setShowAddLinkModal(false); + }} + /> + )} + {isDelete && ( + setIsDelete(false)} + /> + )} +
+ ); +}; + +export default KnowledgeCard; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/knowledge-card.less b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/knowledge-card.less new file mode 100644 index 000000000000..ab035861c0e7 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCard/knowledge-card.less @@ -0,0 +1,38 @@ +@import (reference) '../../../styles/variables.less'; + +.knowledge-card { + padding: @padding-mlg; + position: relative; + border-radius: @border-rad-sm; + border-left: 4px solid transparent; + opacity: 0.95; + background-color: @grey-9 !important; + border: 0.5px solid @grey-15; + margin: 0 0 @margin-mlg; + + &.highlight-card { + border-left: 4px solid @blue-12; + background: @primary-button-background !important; + } + + &:last-child { + margin-bottom: 0; + } + + .service-icon { + height: 16px; + } + + .entity-summary-details { + font-size: 12px; + + .no-owner { + color: @text-grey-muted; + } + } + + &:hover { + border-color: @primary-color; + background-color: @primary-button-background !important; + } +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/KnowledgeCenterLayout.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/KnowledgeCenterLayout.test.tsx new file mode 100644 index 000000000000..c14381231740 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/KnowledgeCenterLayout.test.tsx @@ -0,0 +1,36 @@ +import { render, screen } from '@testing-library/react'; +import KnowledgeCenterLayout from './KnowledgeCenterLayout'; + +jest.mock( + 'components/common/DocumentTitle/DocumentTitle', + () => + jest.fn().mockImplementation(({ title }) => { + document.title = title; + + return null; + }) +); + +jest.mock('react-router-dom', () => ({ + useLocation: jest.fn().mockReturnValue({ + pathname: '/', + }), +})); + +describe('KnowledgeCenterLayout', () => { + const mockProps = { + children:
Test Children
, + leftSidebar:
Test Left Sidebar
, + rightSidebar:
Test Right Sidebar
, + pageTitle: 'Test Page Title', + }; + + it('should render correctly', () => { + render(); + + expect(screen.getByText('Test Children')).toBeInTheDocument(); + expect(screen.getByText('Test Left Sidebar')).toBeInTheDocument(); + expect(screen.getByText('Test Right Sidebar')).toBeInTheDocument(); + expect(document.title).toEqual('Test Page Title'); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/KnowledgeCenterLayout.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/KnowledgeCenterLayout.tsx new file mode 100644 index 000000000000..9a2afaeaa680 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/KnowledgeCenterLayout.tsx @@ -0,0 +1,126 @@ +import { Card, Typography } from 'antd'; +import classNames from 'classnames'; +import DocumentTitle from 'components/common/DocumentTitle/DocumentTitle'; +import 'components/common/ResizablePanels/resizable-panels.less'; +import React, { FC } from 'react'; +import { ReflexContainer, ReflexElement, ReflexSplitter } from 'react-reflex'; +import i18n from 'utils/i18next/LocalUtil'; +import './knowledge-center-layout.less'; + +interface KnowledgeCenterLayoutProps { + children: React.ReactNode; + leftSidebar: React.ReactNode; + rightSidebar: React.ReactNode; + pageTitle: string; + className?: string; + leftSidebarTitle?: React.ReactNode; + rightSidebarTitle?: string; + leftSidebarExtra?: React.ReactNode; // Pass Antd Card extra to the left sidebar card + rightSidebarExtra?: React.ReactNode; // Pass Antd Card extra to the right sidebar card +} + +const KnowledgeCenterLayout: FC = ({ + children, + leftSidebar, + rightSidebar, + pageTitle, + className, + leftSidebarTitle, + rightSidebarTitle, + leftSidebarExtra, + rightSidebarExtra, +}) => { + const isLeftPanelCollapsed = false; + const isRightPanelCollapsed = !rightSidebar; + + return ( +
+ + + {/* left */} + + + {leftSidebarTitle} + + ) + }> + {leftSidebar} + + + + + {!isLeftPanelCollapsed && ( +
+
+
+ )} + + + {/* middle */} + + {children} + + + + {!isRightPanelCollapsed && ( +
+
+
+ )} + + + + + {rightSidebarTitle} + + ) + }> + {rightSidebar} + + + +
+ ); +}; + +export default KnowledgeCenterLayout; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/SizeAwareElement/SizeAwareElement.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/SizeAwareElement/SizeAwareElement.test.tsx new file mode 100644 index 000000000000..b0f4bb79c972 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/SizeAwareElement/SizeAwareElement.test.tsx @@ -0,0 +1,72 @@ +import { render } from '@testing-library/react'; +import { + CENTER_PANEL_DEFAULT_WIDTH, + CENTER_PANEL_PANEL_MARGIN, +} from 'constants/KnowledgeCenter.constant'; +import { SizeAwareElement } from './SizeAwareElement'; + +describe('SizeAwareElement', () => { + it('renders correctly', () => { + const { getByText } = render( + + Test + + ); + + expect(getByText('Test')).toBeInTheDocument(); + }); + + it('applies correct styles when isLeftPanelCollapsed is true', () => { + const { getByText } = render( + + Test + + ); + + expect(getByText('Test')).toHaveStyle( + `max-width: ${CENTER_PANEL_DEFAULT_WIDTH + 20}px` + ); + }); + + it('applies correct styles when isRightPanelCollapsed is true', () => { + const { getByText } = render( + + Test + + ); + + expect(getByText('Test')).toHaveStyle( + `max-width: ${CENTER_PANEL_DEFAULT_WIDTH + 20}px` + ); + }); + + it('applies correct styles when isRightPanelCollapsed and isLeftPanelCollapsed is true', () => { + const { getByText } = render( + + Test + + ); + + expect(getByText('Test')).toHaveStyle( + `max-width: ${CENTER_PANEL_DEFAULT_WIDTH + 100}px` + ); + }); + + it('applies correct styles when dimensions are provided', () => { + const dimensions = { width: 800, height: 600 }; + const { getByText } = render( + + Test + + ); + + expect(getByText('Test')).toHaveStyle( + `max-width: ${dimensions.width - CENTER_PANEL_PANEL_MARGIN}px` + ); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/SizeAwareElement/SizeAwareElement.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/SizeAwareElement/SizeAwareElement.tsx new file mode 100644 index 000000000000..271d1b6953c9 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/SizeAwareElement/SizeAwareElement.tsx @@ -0,0 +1,46 @@ +import { + CENTER_PANEL_DEFAULT_WIDTH, + CENTER_PANEL_PADDING_HORIZONTAL, + CENTER_PANEL_PADDING_VERTICAL, + CENTER_PANEL_PANEL_MARGIN, +} from 'constants/KnowledgeCenter.constant'; +import { CSSProperties, ReactNode, useMemo } from 'react'; + +interface SizeAwareElementProps { + isLeftPanelCollapsed: boolean; + isRightPanelCollapsed: boolean; + children: ReactNode; + dimensions?: { width: number; height: number }; +} + +export const SizeAwareElement = ({ + children, + isLeftPanelCollapsed, + isRightPanelCollapsed, + dimensions, +}: SizeAwareElementProps) => { + const maxWidth = useMemo(() => { + let width = CENTER_PANEL_DEFAULT_WIDTH; + + if (isLeftPanelCollapsed && isRightPanelCollapsed) { + width = CENTER_PANEL_DEFAULT_WIDTH + 100; + } else if (isLeftPanelCollapsed || isRightPanelCollapsed) { + width = CENTER_PANEL_DEFAULT_WIDTH + 20; + } else { + width = + (dimensions?.width || CENTER_PANEL_DEFAULT_WIDTH) - + CENTER_PANEL_PANEL_MARGIN; + } + + return width; + }, [dimensions, isLeftPanelCollapsed, isRightPanelCollapsed]); + + const style: CSSProperties = { + maxWidth: `${maxWidth}px`, + margin: '0 auto', + padding: `${CENTER_PANEL_PADDING_VERTICAL} ${CENTER_PANEL_PADDING_HORIZONTAL}`, + height: '100%', + }; + + return
{children}
; +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/knowledge-center-layout.less b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/knowledge-center-layout.less new file mode 100644 index 000000000000..126adc43501c --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterLayout/knowledge-center-layout.less @@ -0,0 +1,198 @@ +@import (reference) '../../../styles/variables.less'; +@import (reference) '../../../styles/variables.less'; + +@border-color: #0000001a; + +.knowledge-center-layout { + height: @page-height; + + &.knowledge-details-page { + height: @knowledge-center-content-height; + } +} + +.knowledge-center-layout.reflex-container { + justify-content: flex-start; + align-items: stretch; + align-content: stretch; + display: flex; + position: relative; + width: 100%; + + .left-reflex-card { + > .ant-card-body { + padding: @padding-xs 0; + border-radius: @border-rad-sm; + } + } +} + +.knowledge-center-layout.reflex-container.horizontal { + flex-direction: column; + min-height: 1px; +} + +.knowledge-center-layout.reflex-container.vertical { + flex-direction: row; + min-width: 1px; +} + +.knowledge-center-layout.reflex-container.vertical > .reflex-splitter { + cursor: col-resize; + height: 100%; + width: 1px; +} + +.knowledge-center-layout.reflex-container > .reflex-element { + // hide the scrollbar + -ms-overflow-style: none; + scrollbar-width: none; + + &::-webkit-scrollbar { + display: none; + } +} + +// left panel css + +.knowledge-center-layout.reflex-container .left-panel { + position: relative; + overflow-y: scroll; + + &.left-panel-collapsed { + flex: 0 !important; // to override the inline style + border-right: none; + } +} + +.left-panel-collapse-button { + position: absolute; + top: 8px; + right: -18px; + padding: 4px 8px; + z-index: 10; + background: white; + + .collapse-icon { + vertical-align: middle; + width: 16px; + } + + &:hover, + &:focus { + background: white; + } +} + +.left-panel-collapse-button.collapsed { + position: absolute; + top: 8px; + right: auto; + left: -30px; + padding: 4px 16px; + z-index: 10; + background: white; + + .collapse-icon { + margin-left: 4px; + width: 20px; + } + + &:hover, + &:focus { + background: white; + } +} + +// right panel css + +.knowledge-center-layout.reflex-container .right-panel { + overflow-y: scroll; + + &.right-panel-collapsed { + flex: 0 !important; // to override the inline style + border-left: none; + } +} + +.right-panel-collapse-button { + position: absolute; + top: 8px; + left: -18px; + padding: 4px 8px; + z-index: 10; + background: white; + + .collapse-icon { + vertical-align: middle; + width: 16px; + } + + &:hover, + &:focus { + background: white; + } +} + +.right-panel-collapse-button.collapsed { + position: absolute; + top: 8px; + left: auto; + right: -22px; + padding: 4px 12px; + z-index: 10; + background: white; + + .collapse-icon { + margin-left: 4px; + width: 20px; + } + + &:hover, + &:focus { + background: white; + } +} + +// center panel css + +.knowledge-center-layout.reflex-container .center-panel { + overflow-y: scroll; +} + +// rtl css +div[dir='rtl']#knowledge-center-layout-container { + .knowledge-center-layout.reflex-container { + .left-panel-collapse-button { + left: auto; + right: 258px; + } + + .left-panel-collapse-button.collapsed { + left: auto; + right: -16px; + + .collapse-icon { + margin-right: 4px; + } + } + } + + .knowledge-center-layout.reflex-container .left-panel { + border-left: 1px solid @border-color; + position: relative; + } + + .knowledge-center-layout.reflex-container .left-panel.left-panel-collapsed { + border-left: none; + } + + .knowledge-center-layout.reflex-container .right-panel { + border-right: 1px solid @border-color; + position: relative; + } + + .knowledge-center-layout.reflex-container .right-panel.right-panel-collapsed { + border-right: none; + } +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.less b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.less new file mode 100644 index 000000000000..a4ff36de9405 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.less @@ -0,0 +1,97 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@import 'styles/variables.less'; + +.knowledge-center-widget { + .ant-card-body { + height: 100%; + } + + .article-header { + color: #0f141b; + } + + .knowledge-icon { + height: 32px; + width: 32px; + padding: 2px; + border-radius: 50%; + background-color: #dcf6ff; + + svg { + fill: none; + stroke: @primary-6; + } + } +} + +.knowledge-center-widget-container { + .ant-card-body { + display: flex; + flex-direction: column; + flex: 1; + padding: 0; + overflow: hidden; + } + + .widget-content { + flex: 1; + display: flex; + flex-direction: column; + min-height: 0; + overflow: hidden; + } + + .cards-scroll-container { + display: grid; + gap: @size-xs; + align-content: start; + } + + .entity-list-body { + flex: 1; + padding: @size-mlg; + margin: 0; + overflow-y: auto; + min-height: 0; + + display: flex; + flex-direction: column; + } + + .widget-footer { + flex-shrink: 0; + width: 100%; + background-color: @white; + border-bottom-right-radius: @size-sm; + border-bottom-left-radius: @size-sm; + } + + .ellipsis-text { + max-width: 230px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: inline-block; + vertical-align: bottom; + } + + .article-entry { + padding: @padding-xss @padding-sm; + border-radius: @size-xs; + &:hover { + background-color: @grey-29; + } + } +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.test.tsx new file mode 100644 index 000000000000..fb8e981d4915 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.test.tsx @@ -0,0 +1,182 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + act, + fireEvent, + render, + screen, + waitFor, +} from '@testing-library/react'; +import { MemoryRouter } from 'react-router-dom'; +import { MOCK_KNOWLEDGE_PAGE_LIST } from '../../../pages/KnowledgeCenterListPage/KnowledgeCenterListPage.mock'; +import { getListKnowledgePages } from '../../../rest/knowledgeCenterAPI'; +import KnowledgeCenterWidget from './KnowledgeCenterWidget'; + +const mockHandleRemoveWidget = jest.fn(); + +jest.mock('../../../rest/knowledgeCenterAPI', () => ({ + getListKnowledgePages: jest.fn().mockImplementation(() => Promise.resolve()), +})); + +jest.mock('hooks/useApplicationStore', () => ({ + useApplicationStore: jest.fn().mockReturnValue({ + currentUser: { + id: '2e424734-761a-443f-bf2a-a5b361823c80', + type: 'user', + name: 'aaron_johnson0', + fullyQualifiedName: 'aaron_johnson0', + displayName: 'Aaron Johnson', + deleted: false, + }, + }), +})); + +jest.mock( + 'components/common/ErrorWithPlaceholder/ErrorPlaceHolder', + () => jest.fn().mockImplementation(() =>
ErrorPlaceHolder
) +); + +jest.mock( + 'components/MyData/Widgets/Common/WidgetEmptyState/WidgetEmptyState', + () => + jest + .fn() + .mockImplementation(() => ( +
WidgetEmptyState
+ )) +); + +jest.mock('utils/EntityUtils', () => ({ + getEntityName: jest.fn(), +})); + +describe('Knowledge center widget', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should render the empty placeholder if no data', async () => { + render(, { + wrapper: MemoryRouter, + }); + + await waitFor(() => { + expect(screen.getByTestId('widget-empty-state')).toBeInTheDocument(); + }); + }); + + it('should render the article list', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ data: MOCK_KNOWLEDGE_PAGE_LIST, paging: { total: 15 } }) + ); + + render(, { + wrapper: MemoryRouter, + }); + + await waitFor(() => { + expect(screen.getAllByTestId('article-entry')).toHaveLength( + MOCK_KNOWLEDGE_PAGE_LIST.length + ); + }); + }); + + it('should not display edit controls if isEditView is false', async () => { + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + expect(screen.queryByTestId('more-options-button')).toBeNull(); + expect(screen.queryByTestId('drag-widget-button')).toBeNull(); + }); + + it('should call the handleRemoveWidget function with the passed widget Key', async () => { + await act(async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + }); + + // Click the more options button to open the dropdown + fireEvent.click(screen.getByTestId('more-options-button')); + + // Wait for the dropdown menu to appear and click the remove option + await waitFor(() => { + const removeOption = screen.getByText('label.remove'); + fireEvent.click(removeOption); + }); + + expect(mockHandleRemoveWidget).toHaveBeenCalledWith( + 'KnowledgeCenterWidget' + ); + }); + + it('should render link and article icons properly according to the pageType', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ data: MOCK_KNOWLEDGE_PAGE_LIST, paging: { total: 15 } }) + ); + + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + await waitFor(() => { + const linkIcons = screen.getAllByTestId('link-icon'); + const articleIcons = screen.getAllByTestId('article-icon'); + + expect(linkIcons).toHaveLength(7); + expect(articleIcons).toHaveLength(1); + }); + }); + + it("should render url as a link for quick link with target as '_blank'", async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ data: MOCK_KNOWLEDGE_PAGE_LIST, paging: { total: 15 } }) + ); + + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + await waitFor(() => { + const quickLink = screen.getAllByTestId('quick-link-link'); + + expect(quickLink[0]).toHaveAttribute('target', '_blank'); + expect(quickLink[0]).toHaveAttribute( + 'href', + 'https://docs.open-metadata.org/v1.1.x/how-to-guides/openmetadata' + ); + + const knowledgePage = screen.getAllByTestId('knowledge-page-link'); + + expect(knowledgePage[0]).toHaveAttribute('target', '_self'); + expect(knowledgePage[0]).toHaveAttribute( + 'href', + '/knowledge-center/Article_oRKYYTCu' + ); + }); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.tsx new file mode 100644 index 000000000000..73d5e8118dcc --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeCenterWidget/KnowledgeCenterWidget.tsx @@ -0,0 +1,224 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import Icon from '@ant-design/icons'; +import { Col, Row, Typography } from 'antd'; +import { AxiosError } from 'axios'; +import classNames from 'classnames'; +import { isEmpty, map } from 'lodash'; +import { ReactComponent as KnowledgeCenterNoDataPlaceholder } from 'assets/svg/no-folder-data.svg'; +import WidgetEmptyState from 'components/MyData/Widgets/Common/WidgetEmptyState/WidgetEmptyState'; +import WidgetFooter from 'components/MyData/Widgets/Common/WidgetFooter/WidgetFooter'; +import WidgetHeader from 'components/MyData/Widgets/Common/WidgetHeader/WidgetHeader'; +import WidgetWrapper from 'components/MyData/Widgets/Common/WidgetWrapper/WidgetWrapper'; +import { PAGE_SIZE_MEDIUM } from 'constants/constants'; +import { SIZE } from 'enums/common.enum'; +import { EntityType } from 'enums/entity.enum'; +import { useApplicationStore } from 'hooks/useApplicationStore'; +import { WidgetCommonProps } from 'pages/CustomizablePage/CustomizablePage.interface'; +import { getEntityName } from 'utils/EntityUtils'; +import { showErrorToast } from 'utils/ToastUtils'; +import { useEffect, useMemo, useState } from 'react'; +import { Link, useNavigate } from 'react-router-dom'; +import { ReactComponent as IconArticle } from '../../../assets/svg/ic-article.svg'; +import { ReactComponent as KnowledgeCenterWidgetIcon } from '../../../assets/svg/ic-knowledge-center-widget.svg'; +import { ReactComponent as LinkIcon } from '../../../assets/svg/ic-quick-link.svg'; +import { + KnowledgePage, + PageType, + QuickLink, +} from '../../../interface/knowledge-center.interface'; +import { getListKnowledgePages } from '../../../rest/knowledgeCenterAPI'; +import { t } from '../../../utils/i18next/LocalUtil'; +import { getKnowledgePagePath } from '../../../utils/KnowledgePageUtils'; +import './KnowledgeCenterWidget.less'; + +import { ROUTES } from 'constants/constants'; +const KnowledgeCenterWidget = ({ + isEditView = false, + widgetKey, + handleRemoveWidget, + currentLayout, + handleLayoutUpdate, +}: WidgetCommonProps) => { + const navigate = useNavigate(); + const { currentUser } = useApplicationStore(); + const [isLoading, setIsLoading] = useState(true); + const [data, setData] = useState([]); + + const widgetData = useMemo(() => { + return currentLayout?.find((item) => item.i === widgetKey); + }, [currentLayout, widgetKey]); + + const isFullSizeWidget = useMemo(() => { + return currentLayout?.find((layout) => layout.i === widgetKey)?.w === 2; + }, [currentLayout, widgetKey]); + + const fetchUserKnowledgeArticles = async () => { + if (!currentUser?.id) { + return; + } + + setIsLoading(true); + try { + const { data: responseData } = await getListKnowledgePages({ + entityId: currentUser.id, + entityType: EntityType.USER, + limit: PAGE_SIZE_MEDIUM, + }); + setData(responseData); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setIsLoading(false); + } + }; + + const emptyState = useMemo(() => { + return ( + + } + title={t('label.no-knowledge-articles-available')} + /> + ); + }, [t]); + + const getGridTemplateColumns = () => { + if (isFullSizeWidget) { + return 'repeat(3, 1fr)'; + } + + return 'repeat(1, 1fr)'; + }; + + const articlesContent = useMemo(() => { + return ( +
+
+ {map(data, (knowledgePage) => { + const isQuickLink = knowledgePage.pageType === PageType.QUICK_LINK; + const quickLink = knowledgePage.page as QuickLink; + + return ( + + + + + + + + {getEntityName(knowledgePage)} + + + + + ); + })} +
+
+ ); + }, [data, isFullSizeWidget]); + + const showWidgetFooterMoreButton = useMemo( + () => Boolean(!isLoading) && data?.length > 10, + [data, isLoading] + ); + + const footer = useMemo(() => { + return ( + + ); + }, [isLoading]); + + const widgetHeader = useMemo(() => { + return ( + } + isEditView={isEditView} + title={t('label.knowledge-center')} + widgetKey={widgetKey} + onTitleClick={() => navigate(ROUTES.KNOWLEDGE_CENTER)} + /> + ); + }, [ + currentLayout, + handleLayoutUpdate, + handleRemoveWidget, + isEditView, + widgetKey, + widgetData?.w, + ]); + + useEffect(() => { + fetchUserKnowledgeArticles(); + }, [currentUser]); + + return ( + +
+
+ {isEmpty(data) ? emptyState : articlesContent} +
+ {!isEmpty(data) && !isFullSizeWidget && footer} +
+
+ ); +}; + +export default KnowledgeCenterWidget; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeDetailPageHeader/KnowledgeDetailPageHeader.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeDetailPageHeader/KnowledgeDetailPageHeader.test.tsx new file mode 100644 index 000000000000..23c64acaa90b --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeDetailPageHeader/KnowledgeDetailPageHeader.test.tsx @@ -0,0 +1,207 @@ +import { + fireEvent, + getAllByTestId, + render, + screen, +} from '@testing-library/react'; +import { + ContentChangeState, + KnowledgePage, +} from 'interface/knowledge-center.interface'; +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { User } from 'generated/entity/teams/user'; +import { MOCK_KNOWLEDGE_PAGE_DATA } from 'pages/KnowledgePage/KnowledgePage.mock'; +import { MemoryRouter } from 'react-router-dom'; +import KnowledgeDetailPageHeader, { + KnowledgeDetailPageHeaderProps, +} from './KnowledgeDetailPageHeader'; + +const mockOnCopyToClipBoard = jest.fn(); +const mockPush = jest.fn(); + +const mockUserData: User = { + name: 'aaron_johnson0', + email: 'testUser1@email.com', + id: '9304f330-2e9a-4513-883b-c939e29683a8', + isAdmin: true, +}; + +jest.mock('utils/AdvancedSearchClassBase', () => ({ + advancedSearchClassBase: { + autocomplete: jest.fn().mockReturnValue({ + asyncFetch: jest.fn(), + }), + }, +})); + +jest.mock('utils/JSONLogicSearchClassBase', () => ({ + JSONLogicSearchClassBase: jest.fn().mockImplementation(() => ({ + getTree: jest.fn(), + getFilters: jest.fn(), + })), +})); + +jest.mock( + 'components/Explore/AdvanceSearchProvider/AdvanceSearchProvider.component', + () => ({ + useAdvanceSearch: jest.fn().mockReturnValue({}), + }) +); + +jest.mock('hooks/useApplicationStore', () => ({ + useApplicationStore: jest.fn(() => ({ + currentUser: mockUserData, + })), +})); + +jest.mock('hooks/useClipBoard', () => ({ + ...jest.requireActual('hooks/useClipBoard'), + useClipboard: jest + .fn() + .mockImplementation(() => ({ onCopyToClipBoard: mockOnCopyToClipBoard })), +})); + +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), + useNavigate: jest.fn().mockImplementation(() => mockPush), +})); + +jest.mock('hooks/useFqn', () => ({ + useFqn: jest.fn().mockReturnValue({ + fqn: '', + }), +})); + +jest.mock( + 'components/common/PopOverCard/UserPopOverCard', + () => + jest + .fn() + .mockImplementation(() => ( +
UserPopOverCard
+ )) +); + +jest.mock( + 'components/common/TitleBreadcrumb/TitleBreadcrumb.component', + () => { + return jest.fn().mockImplementation(() =>
TitleBreadcrumb
); + } +); + +const mockOnSetThreadLink = jest.fn(); +const mockOnVoteChange = jest.fn(); +const mockOnFollowChange = jest.fn(); +const mockOnToggleDelete = jest.fn(); + +const mockProps: KnowledgeDetailPageHeaderProps = { + isLoading: false, + knowledgePage: MOCK_KNOWLEDGE_PAGE_DATA as unknown as KnowledgePage, + contentChangeState: ContentChangeState.SAVED, + permissions: { + Delete: true, + } as OperationPermission, + onSetThreadLink: mockOnSetThreadLink, + onVoteChange: mockOnVoteChange, + onFollowChange: mockOnFollowChange, + onToggleDelete: mockOnToggleDelete, + fetchKnowledgePageHierarchy: jest.fn(), +}; + +describe('KnowledgeDetailPageHeader', () => { + it('should render KnowledgeDetailPageHeader', () => { + render(, { + wrapper: MemoryRouter, + }); + const updatedByContainer = screen.getByTestId('updated-by-list'); + + const updatedByList = getAllByTestId( + updatedByContainer, + 'user-popover-card' + ); + + expect(updatedByList).toHaveLength(1); + + const conversation = screen.getByTestId('conversation'); + + expect(conversation).toBeInTheDocument(); + + const upVoteButton = screen.getByTestId('up-vote-btn'); + + expect(upVoteButton).toBeInTheDocument(); + + const downVoteButton = screen.getByTestId('down-vote-btn'); + + expect(downVoteButton).toBeInTheDocument(); + + const versionButton = screen.getByTestId('version-button'); + + expect(versionButton).toHaveTextContent('1.2'); + + const followButton = screen.getByTestId('entity-follow-button'); + + expect(followButton).toHaveTextContent('1'); + + const shareButton = screen.getByTestId('share-button'); + + expect(shareButton).toBeInTheDocument(); + + const manageButton = screen.getByTestId('manage-button'); + + expect(manageButton).toBeInTheDocument(); + + expect(screen.getByText('TitleBreadcrumb')).toBeInTheDocument(); + }); + + it('onSetThreadLink should work', async () => { + render(, { + wrapper: MemoryRouter, + }); + + const conversationBtn = screen.getByTestId('conversation'); + + fireEvent.click(conversationBtn); + + expect(mockOnSetThreadLink).toHaveBeenCalled(); + }); + + it('onVoteChange should work', async () => { + render(, { + wrapper: MemoryRouter, + }); + + const upVoteButton = screen.getByTestId('up-vote-btn'); + + fireEvent.click(upVoteButton); + + const downVoteButton = screen.getByTestId('down-vote-btn'); + + fireEvent.click(downVoteButton); + + expect(mockOnVoteChange).toHaveBeenCalledTimes(2); + }); + + it('onFollowChange should work', async () => { + render(, { + wrapper: MemoryRouter, + }); + + const followButton = screen.getByTestId('entity-follow-button'); + + fireEvent.click(followButton); + + expect(mockOnFollowChange).toHaveBeenCalled(); + }); + + it('Version change should work', async () => { + render(, { + wrapper: MemoryRouter, + }); + + const versionButton = screen.getByTestId('version-button'); + + fireEvent.click(versionButton); + + expect(mockPush).toHaveBeenCalled(); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeDetailPageHeader/KnowledgeDetailPageHeader.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeDetailPageHeader/KnowledgeDetailPageHeader.tsx new file mode 100644 index 000000000000..c40179ac6a32 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgeDetailPageHeader/KnowledgeDetailPageHeader.tsx @@ -0,0 +1,417 @@ +import Icon, { LoadingOutlined } from '@ant-design/icons'; +import { + Button, + Col, + Popover, + Row, + Skeleton, + Space, + Spin, + Tooltip, + Typography, +} from 'antd'; +import ButtonGroup from 'antd/lib/button/button-group'; +import { ReactComponent as ConversationIcon } from 'assets/svg/ic-conversation.svg'; +import { ReactComponent as IconSaved } from 'assets/svg/ic-saved.svg'; +import { ReactComponent as IconUnSaved } from 'assets/svg/ic-unsaved.svg'; +import classNames from 'classnames'; +import { EntityType } from 'enums/entity.enum'; +import { + ContentChangeState, + KnowledgePage, + RecentlyViewedQuickLinks, +} from 'interface/knowledge-center.interface'; +import { isEmpty, isUndefined, map, toString, uniqBy, uniqueId } from 'lodash'; +import { ReactComponent as ShareIcon } from 'assets/svg/ic-share.svg'; +import { ReactComponent as StarFilledIcon } from 'assets/svg/ic-star-filled.svg'; +import { ReactComponent as StarIcon } from 'assets/svg/ic-star.svg'; +import { ReactComponent as VersionIcon } from 'assets/svg/ic-version.svg'; +import { DeleteType } from 'components/common/DeleteWidget/DeleteWidget.interface'; +import ManageButton from 'components/common/EntityPageInfos/ManageButton/ManageButton'; +import UserPopOverCard from 'components/common/PopOverCard/UserPopOverCard'; +import TitleBreadcrumb from 'components/common/TitleBreadcrumb/TitleBreadcrumb.component'; +import { QueryVoteType } from 'components/Database/TableQueries/TableQueries.interface'; +import { EntityStatusBadge } from 'components/Entity/EntityStatusBadge/EntityStatusBadge.component'; +import Voting from 'components/Entity/Voting/Voting.component'; +import { VotingDataProps } from 'components/Entity/Voting/voting.interface'; +import { + ROUTES, + TEXT_BODY_COLOR, +} from 'constants/constants'; +import { EntityField } from 'constants/Feeds.constants'; +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { EntityStatus } from 'generated/entity/data/glossaryTerm'; +import { useCurrentUserPreferences } from 'hooks/currentUserStore/useCurrentUserStore'; +import { useApplicationStore } from 'hooks/useApplicationStore'; +import { useClipboard } from 'hooks/useClipBoard'; +import { useFqn } from 'hooks/useFqn'; +import deleteWidgetClassBase from 'utils/DeleteWidget/DeleteWidgetClassBase'; +import EntityLink from 'utils/EntityLink'; +import { getEntityName } from 'utils/EntityUtils'; +import { FC, useCallback, useMemo, useState } from 'react'; +import { useNavigate } from 'react-router-dom'; +import i18n from 'utils/i18next/LocalUtil'; +import { + getKnowledgeVersionsPath, + updateKnowledgeCenterRecentViewed, +} from 'utils/KnowledgePageUtils'; + +export interface KnowledgeDetailPageHeaderProps { + isLoading: boolean; + contentChangeState: ContentChangeState; + permissions: OperationPermission; + knowledgePage?: KnowledgePage; + onSetThreadLink: (link: string) => void; + onVoteChange: (type: VotingDataProps) => Promise; + onFollowChange: () => Promise; + onToggleDelete: () => void; + fetchKnowledgePageHierarchy?: (forceRefresh?: boolean) => Promise; +} + +const KnowledgeDetailPageHeader: FC = ({ + knowledgePage, + contentChangeState, + onSetThreadLink, + onVoteChange, + permissions, + onFollowChange, + onToggleDelete, + isLoading, + fetchKnowledgePageHierarchy, +}) => { + const navigate = useNavigate(); + const { fqn } = useFqn(); + const { currentUser } = useApplicationStore(); + const USERId = currentUser?.id ?? ''; + const { t } = i18n; + + const [copyTooltip, setCopyTooltip] = useState(); + const { onCopyToClipBoard } = useClipboard(window.location.href); + const [isFollowLoading, setIsFollowLoading] = useState(false); + const { + preferences: { recentlyViewedQuickLinks }, + } = useCurrentUserPreferences(); + const recentlyViewed = + recentlyViewedQuickLinks as unknown as RecentlyViewedQuickLinks['data']; + + const breadcrumbs = useMemo( + () => [ + { + name: t('label.home'), + url: ROUTES.HOME, + }, + { + name: t('label.knowledge-center'), + url: ROUTES.KNOWLEDGE_CENTER, + }, + { + name: (knowledgePage?.displayName ?? '') || t('label.untitled'), + url: '', + activeTitle: false, + }, + ], + [knowledgePage?.displayName] + ); + + const entityStatusBadge = useMemo(() => { + const shouldShowStatus = true; + const entityStatus = knowledgePage?.entityStatus; + + if (!shouldShowStatus || !entityStatus || entityStatus === EntityStatus.Unprocessed) { + return null; + } + + return ( + + ); + }, [knowledgePage?.entityStatus]); + + const contentChangeIcon = useMemo(() => { + if (contentChangeState === ContentChangeState.SAVED) { + return ; + } else if (contentChangeState === ContentChangeState.SAVING) { + return ( + + } + /> + ); + } else if (contentChangeState === ContentChangeState.UN_SAVED) { + return ; + } else { + return null; + } + }, [contentChangeState]); + + const editors = useMemo(() => { + const list = uniqBy( + [ + ...(knowledgePage?.editors ?? []), + ...[{ name: knowledgePage?.updatedBy }], + ], + 'name' + ); + + return { upFrontList: list.slice(0, 5), popOverList: list.slice(5) }; + }, [knowledgePage]); + + const editorsPopoverElement = useMemo( + () => + !isEmpty(editors.popOverList) && ( + + {map(editors.popOverList, (user) => ( + + ))} + + } + trigger={['click', 'hover']}> + {`+${editors.popOverList.length}`} + + ), + [editors] + ); + + const voteStatus = useMemo(() => { + if (isUndefined(knowledgePage?.votes)) { + return QueryVoteType.unVoted; + } + + const upVoters = knowledgePage?.votes.upVoters || []; + const downVoters = knowledgePage?.votes.downVoters || []; + + if (upVoters.some((user) => user.id === USERId)) { + return QueryVoteType.votedUp; + } else if (downVoters.some((user) => user.id === USERId)) { + return QueryVoteType.votedDown; + } else { + return QueryVoteType.unVoted; + } + }, [knowledgePage, USERId]); + + const { isFollowing, followers, version } = useMemo(() => { + return { + isFollowing: Boolean( + knowledgePage?.followers?.some(({ id }) => id === USERId) + ), + followers: knowledgePage?.followers?.length ?? 0, + version: knowledgePage?.version ?? '0.1', + }; + }, [knowledgePage, USERId]); + + const { entityName, entityType } = useMemo(() => { + return { + entityName: getEntityName(knowledgePage), + entityType: t('label.article'), + }; + }, [knowledgePage]); + + const deleteOptions = [ + { + title: `${t('label.permanently-delete')} ${entityType} “${entityName}”`, + description: deleteWidgetClassBase.getDeleteMessage( + entityName, + entityType + ), + type: DeleteType.HARD_DELETE, + isAllowed: true, + }, + ]; + + const handleVersionClick = () => { + navigate(getKnowledgeVersionsPath(fqn, toString(version))); + }; + + const handleShareButtonClick = async () => { + await onCopyToClipBoard(); + setCopyTooltip(t('message.copy-to-clipboard')); + setTimeout(() => setCopyTooltip(''), 2000); + }; + + const handleFollowUnFollow = async () => { + setIsFollowLoading(true); + await onFollowChange(); + setIsFollowLoading(false); + }; + + const afterDeleteAction = useCallback( + (isSoftDelete?: boolean) => { + updateKnowledgeCenterRecentViewed( + recentlyViewed.filter((page) => page.id !== knowledgePage?.id) + ); + isSoftDelete + ? onToggleDelete() + : navigate(ROUTES.KNOWLEDGE_CENTER); + + // fetch knowledge page hierarchy with force refresh to ensure updates are shown + fetchKnowledgePageHierarchy?.(true); + }, + [knowledgePage] + ); + + if (isLoading) { + return ( +
+ + {Array(3) + .fill(null) + .map(() => ( + + + + ))} + + + {Array(3) + .fill(null) + .map(() => ( + + + + ))} + +
+ ); + } + + return ( +
+ + + + {entityStatusBadge} + + + + + {contentChangeIcon} + + {contentChangeState} + + + + {map(editors.upFrontList, (user) => ( + + ))} + + {editorsPopoverElement} + + + onSetThreadLink( + EntityLink.getEntityLink( + EntityType.KNOWLEDGE_PAGE, + knowledgePage?.fullyQualifiedName ?? '', + EntityField.DESCRIPTION + ) + ) + } + /> + + + + + + + +
+ ); +}; + +export default KnowledgeDetailPageHeader; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailComponent/KnowledgePageDetailComponent.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailComponent/KnowledgePageDetailComponent.tsx new file mode 100644 index 000000000000..921b236ad51d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailComponent/KnowledgePageDetailComponent.tsx @@ -0,0 +1,763 @@ +import { Tabs } from 'antd'; +import { AxiosError } from 'axios'; +import { + CREATE_PAGE_HASH, + LONG_DELAY, + SHORT_DELAY, +} from 'constants/constants'; +import { + getKnowledgePageFields, + KNOWLEDGE_PAGE_FIELDS, + KNOWLEDGE_PAGE_UN_SAVED_CHANGE_STATE, +} from 'constants/KnowledgeCenter.constant'; +import { compare } from 'fast-json-patch'; +import { + ContentChangeState, + KnowledgeCenterPageProps, + KnowledgePage, + RecentlyViewedQuickLinks, +} from 'interface/knowledge-center.interface'; +import { + cloneDeep, + debounce, + isEmpty, + isEqual, + isNil, + isUndefined, +} from 'lodash'; +import { EntityTags } from 'Models'; +import { useActivityFeedProvider } from 'components/ActivityFeed/ActivityFeedProvider/ActivityFeedProvider'; +import { ActivityFeedTab } from 'components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.component'; +import { ActivityFeedLayoutType } from 'components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.interface'; +import ActivityThreadPanel from 'components/ActivityFeed/ActivityThreadPanel/ActivityThreadPanel'; +import BlockEditor from 'components/BlockEditor/BlockEditor'; +import { BlockEditorRef } from 'components/BlockEditor/BlockEditor.interface'; +import { EntityAttachmentProvider } from 'components/common/EntityDescription/EntityAttachmentProvider/EntityAttachmentProvider'; +import ErrorPlaceHolder from 'components/common/ErrorWithPlaceholder/ErrorPlaceHolder'; +import TabsLabel from 'components/common/TabsLabel/TabsLabel.component'; +import { GenericProvider } from 'components/Customization/GenericProvider/GenericProvider'; +import { QueryVoteType } from 'components/Database/TableQueries/TableQueries.interface'; +import { VotingDataProps } from 'components/Entity/Voting/voting.interface'; +import { CustomizeEntityType } from 'constants/Customize.constants'; +import { FEED_COUNT_INITIAL_DATA } from 'constants/entity.constants'; +import { usePermissionProvider } from 'context/PermissionProvider/PermissionProvider'; +import { + OperationPermission, + ResourceEntity, +} from 'context/PermissionProvider/PermissionProvider.interface'; +import { ERROR_PLACEHOLDER_TYPE } from 'enums/common.enum'; +import { EntityTabs, EntityType } from 'enums/entity.enum'; +import { + CreateThread, + ThreadType, +} from 'generated/api/feed/createThread'; +import { TagLabel } from 'generated/type/tagLabel'; +import { useCurrentUserPreferences } from 'hooks/currentUserStore/useCurrentUserStore'; +import { useApplicationStore } from 'hooks/useApplicationStore'; +import useCustomLocation from 'hooks/useCustomLocation/useCustomLocation'; +import { FeedCounts } from 'interface/feed.interface'; +import { postThread } from 'rest/feedsAPI'; +import { getFeedCounts } from 'utils/CommonUtils'; +import { DEFAULT_ENTITY_PERMISSION } from 'utils/PermissionsUtils'; +import { getTagsWithoutTier } from 'utils/TableUtils'; +import { createTagObject } from 'utils/TagsUtils'; +import { showErrorToast } from 'utils/ToastUtils'; +import { useRequiredParams } from 'utils/useRequiredParams'; +import { + FC, + KeyboardEvent, + useCallback, + useEffect, + useMemo, + useRef, + useState, +} from 'react'; +import { useLocation, useNavigate } from 'react-router-dom'; +import { + followKnowledgePage, + getKnowledgePageByFqn, + patchKnowledgePage, + unFollowKnowledgePage, + updateKnowledgePageVote, +} from 'rest/knowledgeCenterAPI'; +import i18n from 'utils/i18next/LocalUtil'; +import { + addToKnowledgeCenterRecentViewed, + getKnowledgePagePath, + updateKnowledgeCenterRecentViewed, +} from 'utils/KnowledgePageUtils'; +import KnowledgeDetailPageHeader from '../KnowledgeDetailPageHeader/KnowledgeDetailPageHeader'; +import KnowledgePageDetailRightPanel from '../KnowledgePageDetailRightPanel/KnowledgePageDetailRightPanel'; +import { TitleComponent } from '../TitleComponent/TitleComponent'; +import KnowledgePageDetailSkeleton from './KnowledgePageDetailSkeleton'; + +interface KnowledgePageDetailComponentProps { + onPageChange: (page: Partial) => void; + fetchKnowledgePageHierarchy?: (forceRefresh?: boolean) => Promise; +} + +const KnowledgePageDetailComponent: FC = ({ + onPageChange, + fetchKnowledgePageHierarchy, +}) => { + const { t } = i18n; + const { hash } = useCustomLocation(); + const { currentUser } = useApplicationStore(); + const editorRef = useRef({} as BlockEditorRef); + const { getEntityPermissionByFqn } = usePermissionProvider(); + const location = useLocation(); + const navigate = useNavigate(); + + const { postFeed, deleteFeed, updateFeed } = useActivityFeedProvider(); + const USERId = currentUser?.id ?? ''; + + const { fqn, tab } = useRequiredParams<{ fqn: string; tab?: string }>(); + const [isLoading, setIsLoading] = useState(true); + const [knowledgePage, setKnowledgePage] = useState(); + const [activeTab, setActiveTab] = useState( + tab ?? EntityTabs.OVERVIEW + ); + const [feedCount, setFeedCount] = useState( + FEED_COUNT_INITIAL_DATA + ); + + const [threadLink, setThreadLink] = useState(''); + const [permissions, setPermissions] = useState( + DEFAULT_ENTITY_PERMISSION + ); + const [contentChangeState, setContentChangeState] = + useState(ContentChangeState.SAVED); + + const { + preferences: { recentlyViewedQuickLinks }, + } = useCurrentUserPreferences(); + const recentlyViewed = + recentlyViewedQuickLinks as unknown as RecentlyViewedQuickLinks['data']; + + const fetchPermission = async () => { + setIsLoading(true); + try { + const response = await getEntityPermissionByFqn( + ResourceEntity.KNOWLEDGE_PAGE as unknown as ResourceEntity, + fqn + ); + setPermissions(response); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setIsLoading(false); + } + }; + + const fetchKnowledgePage = async (fqn: string) => { + setIsLoading(true); + try { + const response = await getKnowledgePageByFqn(fqn, { + fields: getKnowledgePageFields([ + KNOWLEDGE_PAGE_FIELDS.RELATED_ARTICLES, + KNOWLEDGE_PAGE_FIELDS.EDITORS, + KNOWLEDGE_PAGE_FIELDS.PARENT, + ]), + }); + setKnowledgePage(response); + addToKnowledgeCenterRecentViewed({ ...response, timestamp: 0 }); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setIsLoading(false); + } + }; + + const updateVoteHandler = async (data: VotingDataProps, id: string) => { + try { + const { entity } = await updateKnowledgePageVote(id, data); + + setKnowledgePage((prev) => { + const currentKnowledgePage = prev as KnowledgePage; + + return { ...currentKnowledgePage, votes: entity.votes }; + }); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const voteStatus = useMemo(() => { + if (isUndefined(knowledgePage?.votes)) { + return QueryVoteType.unVoted; + } + + const upVoters = knowledgePage?.votes.upVoters || []; + const downVoters = knowledgePage?.votes.downVoters || []; + + if (upVoters.some((user) => user.id === USERId)) { + return QueryVoteType.votedUp; + } else if (downVoters.some((user) => user.id === USERId)) { + return QueryVoteType.votedDown; + } else { + return QueryVoteType.unVoted; + } + }, [knowledgePage, USERId]); + + const updateDelay = useMemo( + () => (hash.slice(1) === CREATE_PAGE_HASH ? LONG_DELAY : SHORT_DELAY), + [hash] + ); + + const handleVoteChange = async (type: VotingDataProps) => { + let updatedVoteType; + + // current vote is same as selected vote, it means user is removing vote, else up/down voting + if (voteStatus === type.updatedVoteType) { + updatedVoteType = QueryVoteType.unVoted; + } else { + updatedVoteType = type.updatedVoteType; + } + + knowledgePage && + (await updateVoteHandler({ updatedVoteType }, knowledgePage.id)); + }; + + const { isFollowing, tags, displayName } = useMemo( + () => ({ + isFollowing: Boolean( + knowledgePage?.followers?.some(({ id }) => id === USERId) + ), + + displayName: knowledgePage?.displayName ?? '', + + tags: getTagsWithoutTier(knowledgePage?.tags ?? []), + }), + [knowledgePage, USERId] + ); + + const handleToggleDelete = () => { + setKnowledgePage((prev) => { + if (!prev) { + return prev; + } + + return { ...prev, deleted: !prev?.deleted }; + }); + }; + + const followKnowledgePageHandler = async (knowledgePageId: string) => { + try { + const res = await followKnowledgePage(knowledgePageId, USERId); + const { newValue } = res.changeDescription.fieldsAdded[0]; + setKnowledgePage((prev) => { + if (!prev) { + return prev; + } + + return { + ...prev, + followers: [...(prev?.followers ?? []), ...newValue], + }; + }); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const unFollowKnowledgePageHandler = async (knowledgePageId: string) => { + try { + const res = await unFollowKnowledgePage(knowledgePageId, USERId); + const { oldValue } = res.changeDescription.fieldsDeleted[0]; + + setKnowledgePage((prev) => { + if (!prev) { + return prev; + } + + return { + ...prev, + followers: (prev?.followers ?? []).filter( + (follower) => follower.id !== oldValue[0].id + ), + }; + }); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const handleFollowChange = async () => { + const knowledgePageId = knowledgePage?.id ?? ''; + + if (isFollowing) { + await unFollowKnowledgePageHandler(knowledgePageId); + } else { + await followKnowledgePageHandler(knowledgePageId); + } + }; + + const createThread = async (data: CreateThread) => { + try { + await postThread(data); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const updatedPageContent = useCallback( + async (updatedContent: string) => { + const hasContentEditPermission = + permissions.EditAll || permissions.EditDescription; + + if (isUndefined(knowledgePage) || !hasContentEditPermission) { + return; + } + + const currentKnowledgePage = cloneDeep(knowledgePage); + const existingContent = currentKnowledgePage.description; + + if (existingContent === updatedContent) { + return; + } + + try { + setContentChangeState(ContentChangeState.SAVING); + const updatedKnowledgePage: KnowledgePage = { + ...currentKnowledgePage, + description: updatedContent, + }; + + const patch = compare(currentKnowledgePage, updatedKnowledgePage); + + const response = await patchKnowledgePage( + currentKnowledgePage.id, + patch + ); + + setKnowledgePage({ + ...currentKnowledgePage, + version: response.version, + }); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setContentChangeState(ContentChangeState.SAVED); + } + }, + [knowledgePage, setKnowledgePage, permissions] + ); + + const handleContentSave = useCallback( + debounce(updatedPageContent, updateDelay), + [updatedPageContent, updateDelay, permissions] + ); + + const handleContentOnChange = useCallback( + (content: string) => { + const isChanged = !isEqual(knowledgePage?.description ?? '', content); + setContentChangeState( + isChanged ? ContentChangeState.UN_SAVED : ContentChangeState.SAVED + ); + handleContentSave(content); + }, + [knowledgePage, handleContentSave] + ); + + const updatePage = async (updatedKnowledgePage: KnowledgePage) => { + if (isUndefined(knowledgePage)) { + return; + } + const currentKnowledgePage = cloneDeep(knowledgePage); + try { + const patch = compare(currentKnowledgePage, updatedKnowledgePage); + const response = await patchKnowledgePage(currentKnowledgePage.id, patch); + + setKnowledgePage({ + ...currentKnowledgePage, + tags: response.tags, + owners: response.owners, + reviewers: response.reviewers, + domains: response.domains, + dataProducts: response.dataProducts, + version: response.version, + }); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const updatePageTag = async (selectedTags: EntityTags[]) => { + if (isUndefined(knowledgePage) || isUndefined(selectedTags)) { + return; + } + + const updatedTags: TagLabel[] = createTagObject(selectedTags); + const currentKnowledgePage = cloneDeep(knowledgePage); + try { + const updatedKnowledgePage: KnowledgePage = { + ...currentKnowledgePage, + tags: updatedTags, + }; + const patch = compare(currentKnowledgePage, updatedKnowledgePage); + + const response = await patchKnowledgePage(currentKnowledgePage.id, patch); + + setKnowledgePage({ + ...currentKnowledgePage, + tags: response.tags, + version: response.version, + }); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const handleDisplayNameUpdate = useCallback( + async (updatedDisplayName: string) => { + const hasDisplayNameEditPermission = + permissions.EditAll || permissions.EditDisplayName; + + if (!knowledgePage || !hasDisplayNameEditPermission) { + return; + } + const currentKnowledgePage = cloneDeep(knowledgePage); + const updatedKnowledgePage = { + ...knowledgePage, + displayName: updatedDisplayName.trim(), + }; + try { + setContentChangeState(ContentChangeState.SAVING); + const patch = compare(currentKnowledgePage, updatedKnowledgePage); + + const response = await patchKnowledgePage( + currentKnowledgePage.id, + patch + ); + updateKnowledgeCenterRecentViewed( + recentlyViewed.map((recentView) => { + if (recentView.id === response.id) { + return { ...recentView, displayName: response.displayName }; + } + + return recentView; + }) + ); + + setKnowledgePage({ + ...currentKnowledgePage, + displayName: response.displayName, + version: response.version, + }); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setContentChangeState(ContentChangeState.SAVED); + } + }, + [knowledgePage, setKnowledgePage, permissions] + ); + + const handleDisplayNameSave = useCallback( + debounce(handleDisplayNameUpdate, updateDelay), + [handleDisplayNameUpdate, updateDelay, permissions] + ); + + const handleDisplayNameChange = useCallback( + (updatedDisplayName: string) => { + const isChanged = !isEqual( + knowledgePage?.displayName ?? '', + updatedDisplayName + ); + setContentChangeState( + isChanged ? ContentChangeState.UN_SAVED : ContentChangeState.SAVED + ); + handleDisplayNameSave(updatedDisplayName); + }, + [knowledgePage, handleDisplayNameSave] + ); + + const handleRelatedEntitiesUpdate = async ( + updatedRelatedEntities: KnowledgePage['relatedEntities'] + ) => { + if (isUndefined(knowledgePage)) { + return; + } + + const currentKnowledgePage = cloneDeep(knowledgePage); + try { + const updatedKnowledgePage: KnowledgePage = { + ...currentKnowledgePage, + relatedEntities: updatedRelatedEntities, + }; + const patch = compare(currentKnowledgePage, updatedKnowledgePage); + + const response = await patchKnowledgePage(currentKnowledgePage.id, patch); + + setKnowledgePage((previousPage) => ({ + ...((previousPage ?? {}) as KnowledgePage), + relatedEntities: response['relatedEntities'], + version: response.version, + })); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const handleFeedCount = useCallback((data: FeedCounts) => { + setFeedCount(data); + }, []); + + const getEntityFeedCount = () => { + if (knowledgePage?.fullyQualifiedName) { + getFeedCounts( + EntityType.KNOWLEDGE_PAGE, + knowledgePage.fullyQualifiedName, + handleFeedCount + ); + } + }; + + const handleTabChange = (activeKey: string) => { + if (activeKey !== activeTab) { + navigate(getKnowledgePagePath(fqn, activeKey)); + setActiveTab(activeKey); + } + }; + + const handleTitleKeyDown = (e: KeyboardEvent) => { + if (e.shiftKey) { + return; + } + if (e.key === 'Enter' || e.key === 'ArrowDown') { + e.preventDefault(); + if (!isNil(editorRef.current.editor)) { + editorRef.current.editor.commands.focus('start'); + } + } + }; + + const tabs = useMemo(() => { + const items = [ + { + label:
{String(t('label.content'))}
, + key: EntityTabs.OVERVIEW, + children: ( + <> + + + + + + ), + }, + { + label: ( + + ), + key: EntityTabs.ACTIVITY_FEED, + children: ( + fetchKnowledgePage(fqn)} + /> + ), + }, + ]; + + return items; + }, [knowledgePage, feedCount, activeTab, permissions, displayName, fqn]); + + const hasViewPermission = useMemo( + () => permissions.ViewAll || permissions.ViewBasic, + [permissions] + ); + + const isContentUnsaved = useMemo( + () => KNOWLEDGE_PAGE_UN_SAVED_CHANGE_STATE.includes(contentChangeState), + [contentChangeState] + ); + + const getHeaderElement = useCallback( + () => ( + + ), + [ + contentChangeState, + isLoading, + knowledgePage, + permissions, + setThreadLink, + handleToggleDelete, + handleVoteChange, + ] + ); + + useEffect(() => { + fetchPermission(); + }, []); + + useEffect(() => { + if (tab) { + setActiveTab(tab); + } + }, [tab]); + + useEffect(() => { + if (hasViewPermission) { + fetchKnowledgePage(fqn); + } + }, [fqn, hasViewPermission]); + + useEffect(() => { + if (knowledgePage?.fullyQualifiedName) { + getEntityFeedCount(); + } + }, [knowledgePage?.fullyQualifiedName]); + + useEffect(() => { + const handleBeforeUnload = (event: BeforeUnloadEvent) => { + if (isContentUnsaved) { + event.preventDefault(); + event.returnValue = ''; + } + }; + + const handleBeforeNavigate = (event: PopStateEvent) => { + if (isContentUnsaved) { + const confirm = window.confirm(t('message.unsaved-change-in-page')); + if (!confirm) { + event.preventDefault(); + window.history.pushState(null, '', location.pathname); + } + } + }; + + window.addEventListener('beforeunload', handleBeforeUnload); + window.addEventListener('popstate', handleBeforeNavigate); + + return () => { + window.removeEventListener('beforeunload', handleBeforeUnload); + window.removeEventListener('popstate', handleBeforeNavigate); + }; + }, [isContentUnsaved, location.pathname]); + + + const pageConfig = useMemo(() => { + let rightPanel = null; + if (activeTab !== EntityTabs.ACTIVITY_FEED && knowledgePage) { + rightPanel = ( + + + + ); + } + + return { + data: knowledgePage, + header:
{getHeaderElement()}
, + rightPanel, + title: (knowledgePage?.displayName ?? '') || t('label.untitled'), + activeTab, + }; + }, [ + knowledgePage, + isLoading, + permissions, + contentChangeState, + activeTab, + tags, + getHeaderElement, + ]); + + useEffect(() => { + onPageChange(pageConfig); + }, [pageConfig, onPageChange]); + + if (isLoading) { + return ; + } + + if (!hasViewPermission) { + return ( + + ); + } + + if (!knowledgePage) { + return ; + } + + return ( + <> + + {threadLink ? ( + setThreadLink('')} + /> + ) : null} + + ); +}; + +export default KnowledgePageDetailComponent; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailComponent/KnowledgePageDetailSkeleton.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailComponent/KnowledgePageDetailSkeleton.tsx new file mode 100644 index 000000000000..3b309b0bfb69 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailComponent/KnowledgePageDetailSkeleton.tsx @@ -0,0 +1,25 @@ +import { Col, Row, Skeleton } from 'antd'; + +const KnowledgePageDetailSkeleton = () => { + return ( + + + + +
+ + +
+ +
+ +
+ ); +}; + +export default KnowledgePageDetailSkeleton; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/KnowledgePageDetailRightPanel.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/KnowledgePageDetailRightPanel.tsx new file mode 100644 index 000000000000..3f75c633652a --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/KnowledgePageDetailRightPanel.tsx @@ -0,0 +1,154 @@ +import { Col, Row } from 'antd'; +import { AxiosError } from 'axios'; +import { KnowledgePage } from 'interface/knowledge-center.interface'; +import { EntityTags } from 'Models'; +import { useGenericContext } from 'components/Customization/GenericProvider/GenericProvider'; +import { DomainLabelV2 } from 'components/DataAssets/DomainLabelV2/DomainLabelV2'; +import { OwnerLabelV2 } from 'components/DataAssets/OwnerLabelV2/OwnerLabelV2'; +import { ReviewerLabelV2 } from 'components/DataAssets/ReviewerLabelV2/ReviewerLabelV2'; +import DataProductsContainer from 'components/DataProducts/DataProductsContainer/DataProductsContainer.component'; +import TagsContainerV2 from 'components/Tag/TagsContainerV2/TagsContainerV2'; +import { DisplayType } from 'components/Tag/TagsViewer/TagsViewer.interface'; +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { EntityType } from 'enums/entity.enum'; +import { DataProduct } from 'generated/entity/domains/dataProduct'; +import { EntityReference } from 'generated/entity/type'; +import { TagSource } from 'generated/type/tagLabel'; +import { showErrorToast } from 'utils/ToastUtils'; +import { FC, useCallback, useMemo } from 'react'; +import RelatedDataAssets from '../RelatedDataAssets/RelatedDataAssets'; +import './knowledge-page.less'; +import KnowledgePageDetailRightPanelSkeleton from './KnowledgePageDetailRightPanelSkeleton'; +interface KnowledgePageDetailRightPanelProps { + isLoading: boolean; + permissions: OperationPermission; + tags: Array; + knowledgePage?: KnowledgePage; + updatePageTag: (tags: Array) => Promise; + handleRelatedEntitiesUpdate: ( + relatedEntities?: Array + ) => Promise; +} + +const KnowledgePageDetailRightPanel: FC = ({ + isLoading, + knowledgePage, + permissions, + tags, + updatePageTag, + handleRelatedEntitiesUpdate, +}) => { + const { + entityRules, + data, + onUpdate, + permissions: genericPermissions, + } = useGenericContext(); + + const handleDataProductsSave = useCallback( + async (selectedDataProducts: DataProduct[]) => { + try { + const updatedEntity = { ...data }; + updatedEntity.dataProducts = selectedDataProducts.map((dp) => ({ + id: dp.id, + fullyQualifiedName: dp.fullyQualifiedName, + name: dp.name, + displayName: dp.displayName, + type: EntityType.DATA_PRODUCT, + })); + + await onUpdate(updatedEntity); + } catch (err) { + showErrorToast(err as AxiosError); + } + }, + [data, onUpdate] + ); + + const handleDomainSave = useCallback( + async (selectedDomain: EntityReference | EntityReference[]) => { + try { + const updatedEntity = { ...data }; + updatedEntity.domains = Array.isArray(selectedDomain) + ? selectedDomain + : [selectedDomain]; + + await onUpdate(updatedEntity); + } catch (err) { + showErrorToast(err as AxiosError); + } + }, + [data, onUpdate] + ); + + const hasDataProductsPermission = useMemo(() => { + return genericPermissions?.EditAll && !data?.deleted; + }, [genericPermissions?.EditAll, data?.deleted]); + + if (isLoading) { + return ; + } + + return ( +
+ + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+
+ ); +}; + +export default KnowledgePageDetailRightPanel; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/KnowledgePageDetailRightPanelSkeleton.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/KnowledgePageDetailRightPanelSkeleton.tsx new file mode 100644 index 000000000000..743410191336 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/KnowledgePageDetailRightPanelSkeleton.tsx @@ -0,0 +1,33 @@ +import { Col, Row, Skeleton, Space } from 'antd'; +import { uniqueId } from 'lodash'; + +const KnowledgePageDetailRightPanelSkeleton = () => { + return ( +
+ + + + {Array.from({ length: 3 }).map(() => ( + + + + + + + ))} + +
+ ); +}; + +export default KnowledgePageDetailRightPanelSkeleton; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/knowledge-page.less b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/knowledge-page.less new file mode 100644 index 000000000000..45159cbec2c5 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageDetailRightPanel/knowledge-page.less @@ -0,0 +1,5 @@ +.knowledge-page-right-panel { + .new-header-border-card { + height: initial; + } +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListComponent/KnowledgePageListComponent.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListComponent/KnowledgePageListComponent.tsx new file mode 100644 index 000000000000..7fb1acd731ab --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListComponent/KnowledgePageListComponent.tsx @@ -0,0 +1,519 @@ +import { PlusOutlined } from '@ant-design/icons'; +import { + Button, + Col, + Dropdown, + MenuProps, + Row, + Skeleton, + Space, + Typography, +} from 'antd'; +import { AxiosError } from 'axios'; +import { CREATE_PAGE_HASH } from 'constants/constants'; +import { KNOWLEDGE_CENTER_DOC_LINK } from 'constants/docs.constant'; +import { getKnowledgePageFields } from 'constants/KnowledgeCenter.constant'; +import cryptoRandomString from 'crypto-random-string-with-promisify-polyfill'; +import { + CreateKnowledgePage, + KnowledgeCenterPageProps, + KnowledgeCenterPageRef, + KnowledgePage, + PageType, +} from 'interface/knowledge-center.interface'; +import { isEmpty, map, uniqBy, uniqueId } from 'lodash'; +import { ReactComponent as AddPlaceHolderIcon } from 'assets/svg/add-placeholder.svg'; +import ErrorPlaceHolder from 'components/common/ErrorWithPlaceholder/ErrorPlaceHolder'; +import Loader from 'components/common/Loader/Loader'; +import { VotingDataProps } from 'components/Entity/Voting/voting.interface'; +import { PAGE_SIZE_MEDIUM } from 'constants/constants'; +import { useLimitStore } from 'context/LimitsProvider/useLimitsStore'; +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { + ERROR_PLACEHOLDER_TYPE, + SIZE, +} from 'enums/common.enum'; +import { Paging } from 'generated/type/paging'; +import LimitWrapper from 'hoc/LimitWrapper'; +import { useApplicationStore } from 'hooks/useApplicationStore'; +import { useElementInView } from 'hooks/useElementInView'; +import { Transi18next } from 'utils/CommonUtils'; +import { showErrorToast } from 'utils/ToastUtils'; +import { + forwardRef, + RefObject, + useCallback, + useEffect, + useImperativeHandle, + useMemo, + useState, +} from 'react'; +import { useTranslation } from 'react-i18next'; +import { useNavigate } from 'react-router-dom'; +import { + followKnowledgePage, + getListKnowledgePages, + postKnowledgePage, + unFollowKnowledgePage, + updateKnowledgePageVote, +} from 'rest/knowledgeCenterAPI'; +import { getKnowledgePagePath } from 'utils/KnowledgePageUtils'; +import KnowledgeCard from '../KnowledgeCard/KnowledgeCard'; +import KnowledgePageListRightPanel from '../KnowledgePageListRightPanel/KnowledgePageListRightPanel'; +import { + QuickLinkFormModal, + QuickLinkFormModalFormData, +} from '../QuickLinkFormModal/QuickLinkFormModal'; +import './knowledge-page-list.less'; + +interface KnowledgePageListComponentProps { + onPageChange: (page: Partial) => void; + permissions: OperationPermission; +} + +const KnowledgePageListComponent = forwardRef< + KnowledgeCenterPageRef, + KnowledgePageListComponentProps +>(({ onPageChange, permissions }, ref) => { + const { currentUser, theme } = useApplicationStore(); + const { t } = useTranslation(); + const navigate = useNavigate(); + const USERId = currentUser?.id ?? ''; + const [elementRef, isInView] = useElementInView({}); + const [isLoading, setIsLoading] = useState(true); + const [isLoadingMore, setIsLoadingMore] = useState(false); + const [knowledgePages, setKnowledgePages] = useState([]); + const [paging, setPaging] = useState({ total: 0 }); + const [isCreatingNewPage, setIsCreatingNewPage] = useState(false); + const [showAddLinkModal, setShowAddLinkModal] = useState(false); + const { getResourceLimit } = useLimitStore(); + + const [refreshBookMarkWidget, setRefreshBookMarkWidget] = + useState(false); + const [refreshTagsCategory, setRefreshTagsCategory] = + useState(false); + + const handleRefreshBookMarkWidget = (value: boolean) => + setRefreshBookMarkWidget(value); + + const handleRefreshTagsCategory = (value: boolean) => + setRefreshTagsCategory(value); + + const fetchKnowledgePages = async (after?: string) => { + if (after) { + setIsLoadingMore(true); + } else { + setIsLoading(true); + } + try { + const { data, paging: pagingObj } = await getListKnowledgePages({ + fields: getKnowledgePageFields(), + after, + limit: PAGE_SIZE_MEDIUM, + }); + setKnowledgePages((prev) => + uniqBy(after ? [...prev, ...data] : data, 'id') + ); + setPaging(pagingObj); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setIsLoading(false); + setIsLoadingMore(false); + } + }; + + const addArticleKnowledgePage = async () => { + try { + setIsCreatingNewPage(true); + const instanceName = `${PageType.ARTICLE}_${cryptoRandomString({ + length: 8, + type: 'alphanumeric', + })}`; + + const data: CreateKnowledgePage = { + name: instanceName, + displayName: '', + description: '', + pageType: PageType.ARTICLE, + page: { + publicationDate: new Date(), + relatedArticles: [], + }, + owners: [ + { + type: 'user', + id: USERId, + }, + ], + }; + const response = await postKnowledgePage(data); + getResourceLimit('knowledgeCenter', true, true); + navigate({ + pathname: getKnowledgePagePath(response.fullyQualifiedName), + hash: CREATE_PAGE_HASH, + }); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setIsCreatingNewPage(false); + } + }; + const addQuickLinkKnowledgePage = async ( + formData: QuickLinkFormModalFormData + ) => { + try { + const tags = [ + ...(formData.tags ?? []), + ...(formData.glossaryTerms ?? []), + ]; + + const data: CreateKnowledgePage = { + name: `${PageType.QUICK_LINK}_${cryptoRandomString({ + length: 8, + type: 'alphanumeric', + })}`, + displayName: formData.displayName ?? '', + description: formData.description, + pageType: PageType.QUICK_LINK, + page: { + url: formData.url, + }, + owners: [ + { + type: 'user', + id: USERId, + }, + ], + tags, + relatedEntities: formData?.relatedEntities, + }; + const response = await postKnowledgePage(data); + setKnowledgePages((prevPages) => [response, ...prevPages]); + setRefreshTagsCategory(true); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const updateVoteHandler = async (data: VotingDataProps, id: string) => { + try { + const { entity } = await updateKnowledgePageVote(id, data); + + setKnowledgePages((prevPages) => + map(prevPages, (page) => { + if (page.id === entity.id) { + return { ...page, votes: entity.votes }; + } + + return page; + }) + ); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const followKnowledgePageHandler = async (knowledgePageId: string) => { + try { + const res = await followKnowledgePage(knowledgePageId, USERId); + const { newValue } = res.changeDescription.fieldsAdded[0]; + setKnowledgePages((prevPages) => + map(prevPages, (page) => { + if (page.id === knowledgePageId) { + return { + ...page, + followers: [...(page?.followers ?? []), ...newValue], + }; + } + + return page; + }) + ); + setRefreshBookMarkWidget(true); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const unFollowKnowledgePageHandler = async (knowledgePageId: string) => { + try { + const res = await unFollowKnowledgePage(knowledgePageId, USERId); + const { oldValue } = res.changeDescription.fieldsDeleted[0]; + + setKnowledgePages((prevPages) => + map(prevPages, (page) => { + if (page.id === knowledgePageId) { + return { + ...page, + followers: (page?.followers ?? []).filter( + (follower) => follower.id !== oldValue[0].id + ), + }; + } + + return page; + }) + ); + setRefreshBookMarkWidget(true); + } catch (error) { + showErrorToast(error as AxiosError); + } + }; + + const handleDelete = (id: string | string[]) => { + setKnowledgePages((prevPages) => + prevPages.filter((page) => { + if (Array.isArray(id)) { + return !id.includes(page.id); + } + + return page.id !== id; + }) + ); + }; + + const hasViewPermission = useMemo( + () => permissions.ViewAll || permissions.ViewBasic, + [permissions] + ); + + useEffect(() => { + if (hasViewPermission) { + fetchKnowledgePages(); + } else { + setIsLoading(false); + } + }, [hasViewPermission]); + + /** + * Handle infinite scrolling + */ + useEffect(() => { + const after = paging.after; + if (isInView && after && !isLoadingMore && hasViewPermission) { + fetchKnowledgePages(after); + } + }, [isInView, paging, isLoadingMore, hasViewPermission]); + + const items: MenuProps['items'] = [ + { + label: t('label.article'), + key: PageType.ARTICLE, + onClick: addArticleKnowledgePage, + }, + { + label: t('label.quick-link'), + key: PageType.QUICK_LINK, + onClick: () => setShowAddLinkModal(true), + }, + ]; + + const getRightPanelElement = useCallback( + () => ( + setShowAddLinkModal(true)} + onRefreshBookMarkWidget={handleRefreshBookMarkWidget} + onRefreshTagsCategory={handleRefreshTagsCategory} + /> + ), + [permissions, refreshBookMarkWidget, refreshTagsCategory] + ); + + const addQuickLinkModalElement = useMemo( + () => + showAddLinkModal && ( + setShowAddLinkModal(false)} + onSave={(data) => { + addQuickLinkKnowledgePage(data); + setShowAddLinkModal(false); + }} + /> + ), + [showAddLinkModal] + ); + + useEffect(() => { + onPageChange({ + title: t('label.knowledge-center'), + rightPanel: getRightPanelElement(), + data: undefined, + header: null, + }); + }, [permissions, refreshBookMarkWidget, refreshTagsCategory]); + + useImperativeHandle(ref, () => ({ + onPageDelete: handleDelete, + addKnowledgePage: (knowledgePage: KnowledgePage) => + setKnowledgePages((prevPages) => [knowledgePage, ...prevPages]), + })); + + if (isLoading || isCreatingNewPage) { + return ( + + {Array.from({ length: 4 }).map(() => ( + + + + + + + + + + + + + + + + + + + + + + ))} + + ); + } + + if (!hasViewPermission) { + return ( + + ); + } + + if (!isLoading && isEmpty(knowledgePages)) { + return ( + + } + type={ERROR_PLACEHOLDER_TYPE.CUSTOM}> +
+ +
+ + {t('message.adding-new-entity-is-easy-just-give-it-a-spin', { + entity: t('label.knowledge-page'), + })} + + + + + } + values={{ + doc: t('label.doc-plural-lowercase'), + }} + /> + + + {permissions.Create && ( + + + + + + )} +
+
+
+ {addQuickLinkModalElement} +
+ ); + } + + return ( + <> + + {map(knowledgePages, (knowledgePage) => ( + + + + ))} + + {isLoadingMore ? : null} +
} + style={{ height: '2px' }} + /> + {addQuickLinkModalElement} + + ); +}); + +export default KnowledgePageListComponent; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListComponent/knowledge-page-list.less b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListComponent/knowledge-page-list.less new file mode 100644 index 000000000000..ae0d197855b6 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListComponent/knowledge-page-list.less @@ -0,0 +1,5 @@ +.knowledge-center-list-right-panel { + .ant-card-head { + padding: 0 20px; + } +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.mock.ts b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.mock.ts new file mode 100644 index 000000000000..00079848b11e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.mock.ts @@ -0,0 +1,77 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export const QUICK_LINK_MOCK_DATA = { + id: '1e62e2f6-7441-4c1b-bd15-15a23af23181', + name: 'QuickLink_38ZC2KXX', + fullyQualifiedName: 'QuickLink_38ZC2KXX', + displayName: 'The Six Pillars of OpenMetadata', + description: + 'OpenMetadata is an all-in-one platform for data discovery, lineage, data quality, observability, governance, and team collaboration. Powered by a centralized metadata store based on Open Metadata Standards/APIs, supporting connectors to a wide range of data services, OpenMetadata enables end-to-end metadata management, giving you the freedom to unlock the value of your data assets.\n\nOpenMetadata is a complete package for data teams to break down team silos, share data assets from multiple sources securely, collaborate around data, and build a documentation-first data culture in the organization.\n\nLet us learn more about the six pillars of OpenMetadata that helps maintain its ground as the best in effective metadata management:\n\n1. Data Discovery,\n \n2. Data Collaboration,\n \n3. Data Quality and Profiler,\n \n4. Data Lineage,\n \n5. Data insights, and\n \n6. [**Data Governance**](https://docs.open-metadata.org/v1.1.x/how-to-guides/openmetadata/data-governance).', + version: 0.2, + updatedAt: 1695188836184, + updatedBy: 'admin', + href: 'http://localhost:8585/api/v1/knowledgeCenter/1e62e2f6-7441-4c1b-bd15-15a23af23181', + changeDescription: { + fieldsAdded: [], + fieldsUpdated: [ + { + name: 'description', + oldValue: 'The Six Pillars of OpenMetadata', + newValue: + 'OpenMetadata is an all-in-one platform for data discovery, lineage, data quality, observability, governance, and team collaboration. Powered by a centralized metadata store based on Open Metadata Standards/APIs, supporting connectors to a wide range of data services, OpenMetadata enables end-to-end metadata management, giving you the freedom to unlock the value of your data assets.\n\nOpenMetadata is a complete package for data teams to break down team silos, share data assets from multiple sources securely, collaborate around data, and build a documentation-first data culture in the organization.\n\nLet us learn more about the six pillars of OpenMetadata that helps maintain its ground as the best in effective metadata management:\n\n1. Data Discovery,\n \n2. Data Collaboration,\n \n3. Data Quality and Profiler,\n \n4. Data Lineage,\n \n5. Data insights, and\n \n6. [**Data Governance**](https://docs.open-metadata.org/v1.1.x/how-to-guides/openmetadata/data-governance).', + }, + ], + fieldsDeleted: [], + previousVersion: 0.1, + }, + owner: { + id: '9304f330-2e9a-4513-883b-c939e29683a8', + type: 'user', + name: 'admin', + fullyQualifiedName: 'admin', + deleted: false, + href: 'http://localhost:8585/api/v1/users/9304f330-2e9a-4513-883b-c939e29683a8', + }, + tags: [], + pageType: 'QuickLink', + page: { + url: 'https://docs.open-metadata.org/v1.1.x/how-to-guides/openmetadata', + }, + deleted: false, +}; + +export const MOCK_KNOWLEDGE_CENTER_TAG = { + id: 'ea9dd24d-96de-490e-a62a-54a6ab61b1ae', + name: 'application-customization', + displayName: 'Application Customisation', + fullyQualifiedName: 'KnowledgeCenter.application-customization', + description: 'Application Customisation', + classification: { + id: '569009a1-b478-4142-b06a-b174c197e24a', + type: 'classification', + name: 'KnowledgeCenter', + fullyQualifiedName: 'KnowledgeCenter', + description: + 'Category describing the knowledge center articles or quickLinks. E.g., How-To-Guide, Quick-Link etc.', + deleted: false, + href: 'http://localhost:8585/api/v1/classifications/569009a1-b478-4142-b06a-b174c197e24a', + }, + version: 0.1, + updatedAt: 1695622161800, + updatedBy: 'admin', + href: 'http://localhost:8585/api/v1/tags/ea9dd24d-96de-490e-a62a-54a6ab61b1ae', + deprecated: false, + deleted: false, + provider: 'user', + mutuallyExclusive: false, +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.test.tsx new file mode 100644 index 000000000000..d4da4b3826d8 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.test.tsx @@ -0,0 +1,137 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + act, + fireEvent, + render, + screen, + waitForElementToBeRemoved, +} from '@testing-library/react'; + +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { getTags } from 'rest/tagAPI'; +import { MemoryRouter } from 'react-router-dom'; +import { getListKnowledgePages } from '../../../rest/knowledgeCenterAPI'; +import KnowledgePageListRightPanel, { + KnowledgePageListRightPanelProps, +} from './KnowledgePageListRightPanel'; +import { + MOCK_KNOWLEDGE_CENTER_TAG, + QUICK_LINK_MOCK_DATA, +} from './KnowledgePageListRightPanel.mock'; + +const mockAdd = jest.fn(); + +const mockPermissions = { + Create: true, + Delete: true, + ViewAll: true, + EditAll: true, +} as OperationPermission; + +jest.mock('../../../rest/knowledgeCenterAPI', () => ({ + getListKnowledgePages: jest + .fn() + .mockImplementation(() => Promise.resolve({ data: [] })), +})); +jest.mock('rest/tagAPI', () => ({ + getTags: jest + .fn() + .mockImplementation(() => + Promise.resolve({ data: [MOCK_KNOWLEDGE_CENTER_TAG] }) + ), +})); + +jest.mock('../BookMarkWidget/BookMarkWidget', () => + jest.fn().mockReturnValue(
BookMark Widget
) +); + +jest.mock('../../../utils/KnowledgePageUtils', () => ({ + ...jest.requireActual('../../../utils/KnowledgePageUtils'), + getKnowledgeCenterRecentViewed: jest.fn().mockImplementation(() => []), +})); + +const mockProps: KnowledgePageListRightPanelProps = { + onAdd: mockAdd, + permissions: mockPermissions, + refreshBookMarkWidget: false, + onRefreshBookMarkWidget: jest.fn(), + refreshTagsCategory: false, + onRefreshTagsCategory: jest.fn(), +}; + +describe('KnowledgePageListRightPanel', () => { + it('Should render the error placeholder if no data', async () => { + (getTags as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ data: [] }) + ); + + render(, { + wrapper: MemoryRouter, + }); + + await waitForElementToBeRemoved(() => screen.getByTestId('loader')); + + expect( + screen.getByTestId('create-error-placeholder-label.quick-link-plural') + ).toBeInTheDocument(); + + const addQuickLinkBtn = screen.getByTestId('add-quick-link'); + + expect(addQuickLinkBtn).toBeInTheDocument(); + + // add button should call the onAdd callback + + fireEvent.click(addQuickLinkBtn); + + expect(mockAdd).toHaveBeenCalled(); + }); + + it('Should render the no recent view placeholder if no recently viewed data', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ data: [QUICK_LINK_MOCK_DATA] }) + ); + + render(, { + wrapper: MemoryRouter, + }); + + await waitForElementToBeRemoved(() => screen.getByTestId('loader')); + + expect( + screen.getByText('message.no-recently-viewed-date') + ).toBeInTheDocument(); + }); + + it('Should render the recently viewed data', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ + data: [ + { ...QUICK_LINK_MOCK_DATA, fullyQualifiedName: 'QuickLink_Testing' }, + ], + }) + ); + + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + expect( + screen.getByTestId( + `tag-category-KnowledgeCenter.application-customization-${QUICK_LINK_MOCK_DATA.displayName}` + ) + ).toBeInTheDocument(); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.tsx new file mode 100644 index 000000000000..2d89ef1eb1d6 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageListRightPanel/KnowledgePageListRightPanel.tsx @@ -0,0 +1,256 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Skeleton, Space, Typography } from 'antd'; +import { AxiosError } from 'axios'; +import { groupBy, isEmpty, map, startCase, uniqueId } from 'lodash'; +import ErrorPlaceHolder from 'components/common/ErrorWithPlaceholder/ErrorPlaceHolder'; +import ExpandableCard from 'components/common/ExpandableCard/ExpandableCard'; +import Loader from 'components/common/Loader/Loader'; +import { FQN_SEPARATOR_CHAR } from 'constants/char.constants'; +import { PAGE_SIZE_MEDIUM } from 'constants/constants'; +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { + ERROR_PLACEHOLDER_TYPE, + SIZE, +} from 'enums/common.enum'; +import { TabSpecificField } from 'enums/entity.enum'; +import { Tag } from 'generated/entity/classification/tag'; +import { useCurrentUserPreferences } from 'hooks/currentUserStore/useCurrentUserStore'; +import { getTags } from 'rest/tagAPI'; +import { showErrorToast } from 'utils/ToastUtils'; +import { FC, useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { ReactComponent as IconArticle } from '../../../assets/svg/ic-articles.svg'; +import { ReactComponent as EyeIcon } from '../../../assets/svg/ic-eye.svg'; +import { KNOWLEDGE_CENTER_CLASSIFICATION } from '../../../constants/constants'; +import { + KnowledgePage, + RecentlyViewedQuickLinks, +} from '../../../interface/knowledge-center.interface'; +import { getListKnowledgePages } from '../../../rest/knowledgeCenterAPI'; +import { getLink } from '../../../utils/KnowledgePageUtils'; +import BookMarkWidget from '../BookMarkWidget/BookMarkWidget'; + +export interface KnowledgePageListRightPanelProps { + onAdd: () => void; + permissions: OperationPermission; + refreshBookMarkWidget: boolean; + refreshTagsCategory: boolean; + onRefreshBookMarkWidget: (value: boolean) => void; + onRefreshTagsCategory: (value: boolean) => void; +} + +type QuickLinkTuple = [string, KnowledgePage[]]; + +type QuickLinkByTag = Array; + +const KnowledgePageListRightPanel: FC = ({ + onAdd, + permissions, + refreshBookMarkWidget, + refreshTagsCategory, + onRefreshTagsCategory, + onRefreshBookMarkWidget, +}) => { + const { t } = useTranslation(); + const [quickLinksByTag, setQuickLinksByTag] = useState([]); + const [knowledgeCenterTags, setKnowledgeCenterTags] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const { + preferences: { recentlyViewedQuickLinks }, + } = useCurrentUserPreferences(); + const recentlyViewed = + recentlyViewedQuickLinks as unknown as RecentlyViewedQuickLinks['data']; + + const fetchQuickLinkByTag = async (tagFqn: string) => { + try { + const { data } = await getListKnowledgePages({ + fields: `${TabSpecificField.OWNERS},${TabSpecificField.TAGS}`, + tagFQN: tagFqn, + }); + + return data; + } catch { + return []; + } + }; + + const fetchKnowledgeCenterTags = async () => { + setIsLoading(true); + try { + const { data } = await getTags({ + parent: KNOWLEDGE_CENTER_CLASSIFICATION, + limit: PAGE_SIZE_MEDIUM, + }); + + setKnowledgeCenterTags(data); + + const tagsObj = groupBy(data, 'fullyQualifiedName'); + + // Fetch all quick links concurrently and set state only once + const quickLinkPromises = Object.keys(tagsObj).map(async (tag) => { + const quickLinks = await fetchQuickLinkByTag(tag); + + return [tag, quickLinks] as QuickLinkTuple; + }); + + const allQuickLinks = await Promise.all(quickLinkPromises); + setQuickLinksByTag(allQuickLinks); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setIsLoading(false); + } + }; + + const handleRefreshTagsCategory = async () => { + // reset quick links + setQuickLinksByTag([]); + try { + const tagsObj = groupBy(knowledgeCenterTags, 'fullyQualifiedName'); + + // Fetch all quick links concurrently and set state only once + const quickLinkPromises = Object.keys(tagsObj).map(async (tag) => { + const quickLinks = await fetchQuickLinkByTag(tag); + + return [tag, quickLinks] as QuickLinkTuple; + }); + + const allQuickLinks = await Promise.all(quickLinkPromises); + setQuickLinksByTag(allQuickLinks); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + onRefreshTagsCategory(false); + } + }; + + useEffect(() => { + fetchKnowledgeCenterTags(); + }, []); + + useEffect(() => { + if (refreshTagsCategory) { + handleRefreshTagsCategory(); + } + }, [refreshTagsCategory, knowledgeCenterTags]); + + if (isLoading) { + return ( +
+ {Array.from({ length: 3 }).map(() => ( +
+ + + + +
+ ))} +
+ ); + } + + if (!isLoading && isEmpty(quickLinksByTag) && !refreshTagsCategory) { + return ( + + ); + } + + const recentViewsElement = map(recentlyViewed, (page) => + getLink(page, 'recent-viewed') + ); + + return ( +
+ + + + + + {t('label.recently-viewed')} + +
+ ), + }}> + {isEmpty(recentlyViewed) ? ( + t('message.no-recently-viewed-date') + ) : ( + + {recentViewsElement} + + )} + + + {refreshTagsCategory ? ( + + ) : ( + <> + {map(quickLinksByTag, ([tagFqn, uniqueLinks]) => { + if (isEmpty(uniqueLinks)) { + return null; + } + + return ( + + + + {startCase(tagFqn.split(FQN_SEPARATOR_CHAR)[1])} + +
+ ), + }}> + + {map(uniqueLinks, (matchedQuickLink) => + getLink(matchedQuickLink, `tag-category-${tagFqn}`) + )} + + + ); + })} + + )} +
+ ); +}; + +export default KnowledgePageListRightPanel; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageOwners/KnowledgePageOwners.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageOwners/KnowledgePageOwners.tsx new file mode 100644 index 000000000000..b96730494016 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageOwners/KnowledgePageOwners.tsx @@ -0,0 +1,88 @@ +import { Button, Space, Tooltip, Typography } from 'antd'; +import classNames from 'classnames'; +import { EntityReference } from 'generated/entity/data/page'; +import { KnowledgePage } from 'interface/knowledge-center.interface'; +import { ReactComponent as EditIcon } from 'assets/svg/edit-new.svg'; +import { ReactComponent as PlusIcon } from 'assets/svg/plus-primary.svg'; +import TagButton from 'components/common/TagButton/TagButton.component'; +import { UserTeamSelectableList } from 'components/common/UserTeamSelectableList/UserTeamSelectableList.component'; +import { DE_ACTIVE_COLOR } from 'constants/constants'; +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { TabSpecificField } from 'enums/entity.enum'; +import { Glossary } from 'generated/entity/data/glossary'; +import { getOwnerVersionLabel } from 'utils/EntityVersionUtils'; +import { FC } from 'react'; +import { useTranslation } from 'react-i18next'; + +interface KnowledgePageOwnersProps { + permissions: OperationPermission; + knowledgePage?: KnowledgePage; + onOwnerUpdate: (updatedOwners?: EntityReference[]) => Promise; +} + +const KnowledgePageOwners: FC = ({ + knowledgePage, + permissions, + onOwnerUpdate, +}) => { + const { t } = useTranslation(); + const hasOwners = knowledgePage?.owners && knowledgePage?.owners.length > 0; + const canEditOwners = permissions.EditOwners || permissions.EditAll; + const owners = knowledgePage?.owners ?? []; + + return ( + +
+ + {t('label.owner-plural')} + + {canEditOwners && ( + + {hasOwners ? ( + +
+ {hasOwners && ( + + {getOwnerVersionLabel( + knowledgePage as unknown as Glossary, + false, + TabSpecificField.OWNERS, + canEditOwners + )} + + )} +
+ ); +}; + +export default KnowledgePageOwners; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageSummary/KnowledgePageSummary.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageSummary/KnowledgePageSummary.test.tsx new file mode 100644 index 000000000000..4eb3298cec70 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageSummary/KnowledgePageSummary.test.tsx @@ -0,0 +1,76 @@ +import { render, screen } from '@testing-library/react'; +import { KnowledgePage, PageType } from 'interface/knowledge-center.interface'; +import { MOCK_KNOWLEDGE_PAGE_DATA } from 'pages/KnowledgePage/KnowledgePage.mock'; +import { MemoryRouter } from 'react-router-dom'; +import KnowledgePageSummary from './KnowledgePageSummary'; + +jest.mock( + 'components/common/OwnerLabel/OwnerLabel.component', + () => ({ + OwnerLabel: jest.fn().mockImplementation(() => { + return
OwnerLabel
; + }), + }) +); +jest.mock( + 'components/common/SummaryTagsDescription/SummaryTagsDescription.component', + () => + jest.fn().mockImplementation(() => { + return
SummaryTagsDescription
; + }) +); +jest.mock( + 'components/Explore/EntitySummaryPanel/CommonEntitySummaryInfo/CommonEntitySummaryInfo', + () => + jest.fn().mockImplementation(() => { + return
CommonEntitySummaryInfo
; + }) +); +jest.mock( + 'components/common/Skeleton/SummaryPanelSkeleton/SummaryPanelSkeleton.component', + () => + jest.fn().mockImplementation(({ children }) => { + return
{children}
; + }) +); + +jest.mock('utils/EntityUtils', () => ({ + DRAWER_NAVIGATION_OPTIONS: { + explore: 'Explore', + lineage: 'Lineage', + }, +})); + +const mockData = { ...MOCK_KNOWLEDGE_PAGE_DATA } as unknown as KnowledgePage; + +describe('KnowledgePageSummary', () => { + it('should render correctly', async () => { + render(, { + wrapper: MemoryRouter, + }); + + expect(screen.getByText('CommonEntitySummaryInfo')).toBeInTheDocument(); + expect(screen.getByText('SummaryTagsDescription')).toBeInTheDocument(); + }); + + it('should render correctly with quick link', async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + + expect(screen.getByText('CommonEntitySummaryInfo')).toBeInTheDocument(); + expect(screen.getByText('SummaryTagsDescription')).toBeInTheDocument(); + expect(screen.getByTestId('quick-link-data')).toBeInTheDocument(); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageSummary/KnowledgePageSummary.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageSummary/KnowledgePageSummary.tsx new file mode 100644 index 000000000000..397c3eb08374 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageSummary/KnowledgePageSummary.tsx @@ -0,0 +1,98 @@ +import { Col, Divider, Row, Typography } from 'antd'; +import { + KnowledgePage, + PageType, + QuickLink, +} from 'interface/knowledge-center.interface'; +import { isEmpty } from 'lodash'; +import { OwnerLabel } from 'components/common/OwnerLabel/OwnerLabel.component'; +import SummaryTagsDescription from 'components/common/SummaryTagsDescription/SummaryTagsDescription.component'; +import CommonEntitySummaryInfo from 'components/Explore/EntitySummaryPanel/CommonEntitySummaryInfo/CommonEntitySummaryInfo'; +import { EntityUnion } from 'components/Explore/ExplorePage.interface'; + +import SummaryPanelSkeleton from 'components/common/Skeleton/SummaryPanelSkeleton/SummaryPanelSkeleton.component'; +import { DRAWER_NAVIGATION_OPTIONS } from 'utils/EntityUtils'; +import { useMemo } from 'react'; +import { Link } from 'react-router-dom'; +import i18n, { t } from 'utils/i18next/LocalUtil'; +import RelatedDataAssets from '../RelatedDataAssets/RelatedDataAssets'; + +const KnowledgePageSummary = ({ + entityDetails, +}: { + entityDetails: KnowledgePage; +}) => { + const entityInfo = useMemo(() => { + const owners = entityDetails?.owners ?? []; + + return [ + { + name: i18n.t('label.owner-plural'), + value: , + }, + ]; + }, [entityDetails]); + + const isQuickLink = entityDetails?.pageType === PageType.QUICK_LINK; + + const quickLinkData = isQuickLink + ? (entityDetails.page as QuickLink) + : undefined; + + return ( + + <> + + + + + + {quickLinkData?.url && ( + <> + + + + {t('label.link')} + + + + + {quickLinkData.url} + + + + + + )} + + + + {/* read only data assets */} + + + + + + + + ); +}; + +export default KnowledgePageSummary; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.mock.ts b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.mock.ts new file mode 100644 index 000000000000..0b0beec50329 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.mock.ts @@ -0,0 +1,95 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + Article, + KnowledgePage, +} from '../../../interface/knowledge-center.interface'; + +/* eslint-disable max-len */ +export const MOCK_KNOWLEDGE_PAGE_VERSION_DATA = { + id: '8e6427d6-98cc-4334-b2f2-15fb62bde887', + name: 'Article_oRKYYTCu', + fullyQualifiedName: 'Article_oRKYYTCu', + href: '', + displayName: 'OpenMetadata 1.1.0 Release UI', + description: + 'Less than two months have passed since our exciting OpenMetadata 1.0 Release, and we’re thrilled to announce the completion of Release 1.1 already! The OpenMetadata community thrives on pushing our limits; this latest release is a testament to it. Prepare to be amazed as we unveil a complete UI overhaul, meticulously designed to elevate the user experience across the entire platform. But that’s not all! We’ve also introduced four new connectors, implemented advanced PII masking, and significantly enhanced lineage parsing capabilities, just to name a few of the numerous features we’ve packed into this release. Stay tuned for an exceptional OpenMetadata experience like never before!\n\nIn the upcoming 1.2 Release of OpenMetadata, we are thrilled to introduce exclusive new features specifically tailored for Collate SaaS. You can review Collate’s roadmap here and be as excited as we are 🚀\n\nCommunity Updates\n-----------------\n\nThanks to the incredible OpenMetadata Community, our growth and activity have skyrocketed. Slack is buzzing with constant engagement, and we truly appreciate your code contributions, feedback, and feature requests. Our webinars are attracting more attendees, and the June community meeting was extra special, thanks to our first Community Spotlight: Gaétan Soulas from Solocal!\n\nWe are excited about our soaring community numbers!\n\nCrossed 2400+ GitHub stars (+200 stars since the previous release)\n\nThe Slack community reached 3200+ members (+500 since the previous release)\n\n168 Open-source GitHub developers (+8 since the previous release)\n\nMerged 526 Commits into the 1.1 Release\n\nOpenMetadata 1.1 Release Highlights\n\nUI Overhaul\n-----------\n\nThis release marks a significant milestone for the OpenMetadata platform, bringing many UI changes that are among the most substantial since the start of the project in 2021.\n\nOur primary focus is to simplify the overall experience for users while building upon our already exceptional UI. We are incredibly excited to share these changes with you as they further enhance the platform’s discovery, collaboration, and data quality experience.\n\nRefined Landing Page\n--------------------', + version: 1.1, + updatedAt: 1695189186624, + updatedBy: 'admin', + changeDescription: { + fieldsAdded: [], + fieldsUpdated: [ + { + name: 'description', + oldValue: + 'Less than two months have passed since our exciting OpenMetadata 1.0 Release, and we’re thrilled to announce the completion of Release 1.1 already! The OpenMetadata community thrives on pushing our limits; this latest release is a testament to it. Prepare to be amazed as we unveil a complete UI overhaul, meticulously designed to elevate the user experience across the entire platform. But that’s not all! We’ve also introduced four new connectors, implemented advanced PII masking, and significantly enhanced lineage parsing capabilities, just to name a few of the numerous features we’ve packed into this release. Stay tuned for an exceptional OpenMetadata experience like never before!\n\nIn the upcoming 1.2 Release of OpenMetadata, we are thrilled to introduce exclusive new features specifically tailored for Collate SaaS. You can review Collate’s roadmap here and be as excited as we are 🚀\n\nCommunity Updates\n-----------------\n\nThanks to the incredible OpenMetadata Community, our growth and activity have skyrocketed. Slack is buzzing with constant engagement, and we truly appreciate your code contributions, feedback, and feature requests. Our webinars are attracting more attendees, and the June community meeting was extra special, thanks to our first Community Spotlight: Gaétan Soulas from Solocal!\n\nWe are excited about our soaring community numbers!\n\nCrossed 2400+ GitHub stars (+200 stars since the previous release)\n\nThe Slack community reached 3200+ members (+500 since the previous release)\n\n168 Open-source GitHub developers (+8 since the previous release)\n\nMerged 526 Commits into the 1.1 Release\n\nOpenMetadata 1.1 Release Highlights\n\nUI Overhaul\n-----------\n\nThis release marks a significant milestone for the OpenMetadata platform, bringing many UI changes that are among the most substantial since the start of the project in 2021.\n\nOur primary focus is to simplify the overall experience for users while building upon our already exceptional UI. We are incredibly excited to share these changes with you as they further enhance the platform’s discovery, collaboration, and data quality experience.\n\nRefined Landing Page', + newValue: + 'Less than two months have passed since our exciting OpenMetadata 1.0 Release, and we’re thrilled to announce the completion of Release 1.1 already! The OpenMetadata community thrives on pushing our limits; this latest release is a testament to it. Prepare to be amazed as we unveil a complete UI overhaul, meticulously designed to elevate the user experience across the entire platform. But that’s not all! We’ve also introduced four new connectors, implemented advanced PII masking, and significantly enhanced lineage parsing capabilities, just to name a few of the numerous features we’ve packed into this release. Stay tuned for an exceptional OpenMetadata experience like never before!\n\nIn the upcoming 1.2 Release of OpenMetadata, we are thrilled to introduce exclusive new features specifically tailored for Collate SaaS. You can review Collate’s roadmap here and be as excited as we are 🚀\n\nCommunity Updates\n-----------------\n\nThanks to the incredible OpenMetadata Community, our growth and activity have skyrocketed. Slack is buzzing with constant engagement, and we truly appreciate your code contributions, feedback, and feature requests. Our webinars are attracting more attendees, and the June community meeting was extra special, thanks to our first Community Spotlight: Gaétan Soulas from Solocal!\n\nWe are excited about our soaring community numbers!\n\nCrossed 2400+ GitHub stars (+200 stars since the previous release)\n\nThe Slack community reached 3200+ members (+500 since the previous release)\n\n168 Open-source GitHub developers (+8 since the previous release)\n\nMerged 526 Commits into the 1.1 Release\n\nOpenMetadata 1.1 Release Highlights\n\nUI Overhaul\n-----------\n\nThis release marks a significant milestone for the OpenMetadata platform, bringing many UI changes that are among the most substantial since the start of the project in 2021.\n\nOur primary focus is to simplify the overall experience for users while building upon our already exceptional UI. We are incredibly excited to share these changes with you as they further enhance the platform’s discovery, collaboration, and data quality experience.\n\nRefined Landing Page\n--------------------', + }, + ], + fieldsDeleted: [], + previousVersion: 1, + }, + owners: [ + { + id: '9304f330-2e9a-4513-883b-c939e29683a8', + type: 'user', + name: 'admin', + fullyQualifiedName: 'admin', + deleted: false, + }, + ], + followers: [ + { + id: '9304f330-2e9a-4513-883b-c939e29683a8', + type: 'user', + name: 'admin', + fullyQualifiedName: 'admin', + deleted: false, + }, + ], + votes: { + upVotes: 1, + downVotes: 0, + upVoters: [ + { + id: '9304f330-2e9a-4513-883b-c939e29683a8', + type: 'user', + name: 'admin', + fullyQualifiedName: 'admin', + deleted: false, + }, + ], + downVoters: [], + }, + tags: [], + pageType: 'Article', + page: { + publicationDate: 1726823190797, + relatedArticles: [], + } as unknown as Article, + relatedEntities: [ + { + id: '8d5ccfe5-b9d7-4f4f-8927-8e775bf77eb3', + type: 'team', + name: 'Organization', + fullyQualifiedName: 'Organization', + description: + 'Organization under which all the other team hierarchy is created', + displayName: 'Organization', + deleted: false, + }, + ], + deleted: false, +} as KnowledgePage; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.test.tsx new file mode 100644 index 000000000000..e9b7d05a4897 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.test.tsx @@ -0,0 +1,135 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; +import { Settings } from 'luxon'; +import KnowledgePageVersion from './KnowledgePageVersion'; +import { MOCK_KNOWLEDGE_PAGE_VERSION_DATA } from './KnowledgePageVersion.mock'; + +const systemLocale = Settings.defaultLocale; +const systemZoneName = Settings.defaultZone; + +const mockPush = jest.fn(); + +jest.mock('utils/EntityUtils', () => ({ + getEntityName: jest.fn(), +})); + +jest.mock( + 'components/common/OwnerLabel/OwnerLabel.component', + () => ({ + OwnerLabel: jest.fn().mockImplementation(() => { + return
OwnerLabel
; + }), + }) +); + +jest.mock( + 'components/Tag/TagsContainerV2/TagsContainerV2', + () => + jest + .fn() + .mockImplementation(() => ( +
TagsContainerV2
+ )) +); + +jest.mock('components/common/Loader/Loader', () => + jest.fn().mockImplementation(() =>
Loader
) +); + +jest.mock('react-router-dom', () => ({ + DataNode: jest.fn(), + useNavigate: jest.fn().mockImplementation(() => mockPush), +})); + +jest.mock('components/BlockEditor/BlockEditor', () => { + return jest + .fn() + .mockReturnValue(
Block Editor
); +}); + +jest.mock( + 'components/common/ProfilePicture/ProfilePicture', + () => { + return jest.fn().mockReturnValue(
Avatar
); + } +); + +const mockProps = { + knowledgePage: MOCK_KNOWLEDGE_PAGE_VERSION_DATA, + loading: false, +}; + +describe('Knowledge page version', () => { + beforeAll(() => { + // Explicitly set locale and time zone to make sure date time manipulations and literal + // results are consistent regardless of where tests are run + Settings.defaultLocale = 'en-US'; + Settings.defaultZone = 'UTC'; + }); + + afterAll(() => { + // Restore locale and time zone + Settings.defaultLocale = systemLocale; + Settings.defaultZone = systemZoneName; + }); + + it('Should render the components', async () => { + render(); + + const header = screen.getByTestId('entity-header-display-name'); + + const ownerName = screen.getByTestId('owner-label'); + + const updateAt = screen.getByTestId('updated-at'); + + const versionButton = screen.getByTestId('version-button'); + + const tagsContainer = screen.getAllByTestId('tags-container'); + + const blockEditor = screen.getByTestId('block-editor'); + + expect(header).toBeInTheDocument(); + expect(ownerName).toBeInTheDocument(); + expect(updateAt).toBeInTheDocument(); + expect(versionButton).toBeInTheDocument(); + expect(tagsContainer).toHaveLength(2); + + expect(blockEditor).toBeInTheDocument(); + + expect(updateAt).toHaveTextContent('Sep 20, 2023'); + expect(versionButton).toHaveTextContent('1.1'); + }); + + it('Should show the loader if loading is true', async () => { + render(); + + expect(screen.getByTestId('loader')).toBeInTheDocument(); + }); + + it('Version button should redirect to entity page', async () => { + render(); + + const versionButton = screen.getByTestId('version-button'); + + expect(versionButton).toHaveTextContent('1.1'); + + fireEvent.click(versionButton); + + await waitFor(() => { + expect(mockPush).toHaveBeenCalledWith( + '/knowledge-center/Article_oRKYYTCu' + ); + }); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.tsx new file mode 100644 index 000000000000..0968745ffca1 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePageVersion/KnowledgePageVersion.tsx @@ -0,0 +1,222 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import Icon from '@ant-design/icons'; +import { Button, Col, Row, Space, Typography } from 'antd'; +import classNames from 'classnames'; +import { diffWordsWithSpace } from 'diff'; +import { isEmpty, map, toString } from 'lodash'; +import { ReactComponent as VersionIcon } from 'assets/svg/ic-version.svg'; +import BlockEditor from 'components/BlockEditor/BlockEditor'; +import Loader from 'components/common/Loader/Loader'; +import { OwnerLabel } from 'components/common/OwnerLabel/OwnerLabel.component'; +import TagsContainerV2 from 'components/Tag/TagsContainerV2/TagsContainerV2'; +import { LayoutType } from 'components/Tag/TagsViewer/TagsViewer.interface'; +import { EntityField } from 'constants/Feeds.constants'; +import { TagSource } from 'generated/type/tagLabel'; +import { formatDate } from 'utils/date-time/DateTimeUtils'; +import { getEntityName } from 'utils/EntityUtils'; +import { + getChangedEntityNewValue, + getChangedEntityOldValue, + getCommonExtraInfoForVersionDetails, + getDiffByFieldName, + getEntityVersionByField, + getEntityVersionTags, +} from 'utils/EntityVersionUtils'; +import { VersionEntityTypes } from 'utils/EntityVersionUtils.interface'; +import { getFrontEndFormat } from 'utils/FeedUtils'; +import { stringToHTML } from 'utils/StringsUtils'; +import { FC, useMemo } from 'react'; +import { useNavigate } from 'react-router-dom'; +import { KnowledgePage } from '../../../interface/knowledge-center.interface'; +import i18n from '../../../utils/i18next/LocalUtil'; +import { getKnowledgePagePath } from '../../../utils/KnowledgePageUtils'; + +interface KnowledgePageVersionProps { + knowledgePage: KnowledgePage; + loading: boolean; +} + +const KnowledgePageVersion: FC = ({ + knowledgePage, + loading, +}) => { + const { t } = i18n; + const navigate = useNavigate(); + const { version } = useMemo( + () => ({ + entityName: getEntityName(knowledgePage), + version: knowledgePage.version, + }), + [knowledgePage] + ); + + const descriptionDiff = useMemo(() => { + const changeDescription = knowledgePage.changeDescription ?? {}; + const currentDescription = knowledgePage.description; + + const fieldDiff = getDiffByFieldName( + EntityField.DESCRIPTION, + changeDescription + ); + + const oldField = getFrontEndFormat( + toString(getChangedEntityOldValue(fieldDiff)) + ); + const newField = getFrontEndFormat( + toString(getChangedEntityNewValue(fieldDiff)) + ); + + if (isEmpty(newField) && isEmpty(oldField)) { + return currentDescription; + } + + const diffArr = diffWordsWithSpace(oldField, newField); + + const result = map(diffArr, (diff) => { + const value = diff.value.trim().replaceAll('\n', '
'); + + if (diff.added && value) { + return `${value}`; + } + if (diff.removed && value) { + return `${value}`; + } + + if (value) { + return `${value}`; + } + + return ''; + }); + + return result.join(''); + }, [knowledgePage]); + + const tags = useMemo(() => { + return getEntityVersionTags( + knowledgePage as VersionEntityTypes, + knowledgePage.changeDescription ?? {} + ); + }, [knowledgePage]); + + const displayName = useMemo(() => { + return getEntityVersionByField( + knowledgePage.changeDescription ?? {}, + EntityField.DISPLAYNAME, + knowledgePage.displayName + ); + }, [knowledgePage]); + + const { ownerDisplayName, ownerRef } = useMemo( + () => + getCommonExtraInfoForVersionDetails( + knowledgePage.changeDescription ?? {}, + knowledgePage.owners + ), + [knowledgePage] + ); + + const handleVersionClick = () => { + navigate(getKnowledgePagePath(knowledgePage.fullyQualifiedName)); + }; + + if (loading) { + return ; + } + + return ( + + + + + {stringToHTML(displayName || knowledgePage.name)} + + + + + + + + {formatDate(knowledgePage.updatedAt)} + + + + + + + + + + + + + + + + {`${t('label.tag-plural')}:`} + + + + + + + + {`${t('label.glossary-term-plural')}:`} + + + + + + + + + + + ); +}; + +export default KnowledgePageVersion; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePages/KnowledgePages.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePages/KnowledgePages.test.tsx new file mode 100644 index 000000000000..a8421d7dfbd6 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePages/KnowledgePages.test.tsx @@ -0,0 +1,195 @@ +import { render, screen } from '@testing-library/react'; +import { MOCK_KNOWLEDGE_PAGES } from 'pages/KnowledgePage/KnowledgePage.mock'; +import React from 'react'; +import { MemoryRouter } from 'react-router-dom'; +import { act } from 'react-test-renderer'; +import { getListKnowledgePages } from 'rest/knowledgeCenterAPI'; +import KnowledgePages from './KnowledgePages'; + +const mockProps = { + entityId: '6a7b8c9d0e1f2g3h4i5j6k7l8m9n0o1p2q3r4s5t6u7v8w9x0y1z2', + entityType: 'table', +}; + +jest.mock('rest/knowledgeCenterAPI'); + +jest.mock( + 'components/Customization/GenericProvider/GenericProvider', + () => ({ + GenericProvider: ({ children }: { children: React.ReactNode }) => ( + <>{children} + ), + useGenericContext: jest.fn().mockImplementation(() => ({ + data: { id: mockProps.entityId }, + type: mockProps.entityType, + filterWidgets: jest.fn(), + })), + }) +); + +jest.mock('utils/EntityUtils', () => ({ + getEntityName: jest + .fn() + .mockImplementation( + ({ displayName }: { displayName: string }) => displayName + ), +})); + +describe('KnowledgePages', () => { + it('should render correctly', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ + data: [...MOCK_KNOWLEDGE_PAGES], + paging: { + total: 10, + }, + }) + ); + await act(async () => { + render(, { wrapper: MemoryRouter }); + }); + + expect(screen.getByTestId('knowledge-pages')).toBeInTheDocument(); + expect(screen.getByText('label.knowledge-center')).toBeInTheDocument(); + + // article page + expect(screen.getByText('Data Collaboration')).toBeInTheDocument(); + expect(screen.getByTestId('article-icon')).toBeInTheDocument(); + + // quick link page + expect(screen.getByText('Blog')).toBeInTheDocument(); + expect(screen.getByTestId('link-icon')).toBeInTheDocument(); + }); + + it('should render the correct page link for quick link', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ + data: [MOCK_KNOWLEDGE_PAGES[1]], + paging: { + total: 10, + }, + }) + ); + await act(async () => { + render(, { wrapper: MemoryRouter }); + }); + + // quick link page + expect(screen.getByText('Blog')).toBeInTheDocument(); + expect(screen.getByTestId('link-icon')).toBeInTheDocument(); + + const pageLink = screen.getByTestId('page-link'); + + expect(pageLink).toBeInTheDocument(); + expect(pageLink).toHaveAttribute( + 'href', + 'https://blog.open-metadata.org/openmetadata-release-1-2-531f0e3c6d9a' + ); + expect(pageLink).toHaveAttribute('target', '_blank'); + }); + + it('should not render when data is empty', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ + data: [], + paging: { + total: 0, + }, + }) + ); + await act(async () => { + render(, { wrapper: MemoryRouter }); + }); + + expect(screen.queryByTestId('knowledge-pages')).not.toBeInTheDocument(); + }); + + it('should not render when api fails', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.reject({ + data: undefined, + paging: { + total: 0, + }, + }) + ); + await act(async () => { + render(, { wrapper: MemoryRouter }); + }); + + expect(screen.queryByTestId('knowledge-pages')).not.toBeInTheDocument(); + }); + + it('should render view all link if total length is greater than 10', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ + data: [...MOCK_KNOWLEDGE_PAGES], + paging: { + total: 22, + }, + }) + ); + await act(async () => { + render(, { wrapper: MemoryRouter }); + }); + + expect( + screen.getByTestId('view-all-data-asset-related-articles') + ).toBeInTheDocument(); + }); + + it('view all should have correct link', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ + data: [...MOCK_KNOWLEDGE_PAGES], + paging: { + total: 22, + }, + }) + ); + await act(async () => { + render(, { wrapper: MemoryRouter }); + }); + + const viewAllLink = screen.getByTestId( + 'view-all-data-asset-related-articles' + ); + + expect(viewAllLink).toHaveAttribute( + 'href', + `/knowledge-center-filter?entityId=${mockProps.entityId}&entityType=${mockProps.entityType}` + ); + }); + + it('should not render view all link if total length is less than or equal to 10', async () => { + (getListKnowledgePages as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ + data: [...MOCK_KNOWLEDGE_PAGES], + paging: { + total: 10, + }, + }) + ); + await act(async () => { + render(, { wrapper: MemoryRouter }); + }); + + expect( + screen.queryByTestId('view-all-data-asset-related-articles') + ).not.toBeInTheDocument(); + }); + + it('should not render and call the api when entityId and entityType are empty', async () => { + mockProps.entityId = ''; + mockProps.entityType = ''; + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + expect(getListKnowledgePages).not.toHaveBeenCalled(); + + expect(screen.queryByTestId('knowledge-pages')).not.toBeInTheDocument(); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePages/KnowledgePages.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePages/KnowledgePages.tsx new file mode 100644 index 000000000000..635d48999350 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePages/KnowledgePages.tsx @@ -0,0 +1,163 @@ +import { Col, Row, Typography } from 'antd'; +import { ReactComponent as IconArticle } from 'assets/svg/ic-articles.svg'; +import { ReactComponent as LinkIcon } from 'assets/svg/ic-link.svg'; +import classNames from 'classnames'; +import { ROUTES } from 'constants/constants'; +import { DetailPageWidgetKeys } from 'enums/CustomizeDetailPage.enum'; +import { + KnowledgePage, + PageType, + QuickLink, +} from 'interface/knowledge-center.interface'; +import { isEmpty, map } from 'lodash'; +import ExpandableCard from 'components/common/ExpandableCard/ExpandableCard'; +import Loader from 'components/common/Loader/Loader'; +import { useGenericContext } from 'components/Customization/GenericProvider/GenericProvider'; +import { PAGE_SIZE } from 'constants/constants'; +import { Paging } from 'generated/type/paging'; +import { getEntityName } from 'utils/EntityUtils'; +import { FC, useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Link } from 'react-router-dom'; +import { getListKnowledgePages } from 'rest/knowledgeCenterAPI'; +import { getKnowledgePagePath } from 'utils/KnowledgePageUtils'; + +const KnowledgePages: FC = () => { + const { t } = useTranslation(); + const [isLoading, setIsLoading] = useState(true); + const [knowledgePages, setKnowledgePages] = useState([]); + const [paging, setPaging] = useState({ total: 0 }); + const { + data: { id: entityId = '' } = {}, + type: entityType, + filterWidgets, + } = useGenericContext(); + + const fetchKnowledgePages = async () => { + setIsLoading(true); + try { + const { data, paging } = await getListKnowledgePages({ + entityId, + entityType, + }); + setKnowledgePages(data); + setPaging(paging); + } catch { + // we will not throw error toast here + } finally { + setIsLoading(false); + } + }; + + useEffect(() => { + if (entityId && entityType) { + fetchKnowledgePages(); + } else { + setIsLoading(false); + } + }, [entityId, entityType]); + + const header = ( +
+ + {t('label.knowledge-center')} + + {/* only show view all if length is greater than PAGE_SIZE i.e 10 */} + {paging?.total > PAGE_SIZE && ( + + {t('label.view-all')} + + )} +
+ ); + + const content = ( +
+ {map(knowledgePages, (knowledgePage, index) => { + const isQuickLink = knowledgePage.pageType === PageType.QUICK_LINK; + const quickLink = knowledgePage.page as QuickLink; + + return ( + + + + {isQuickLink ? ( + + ) : ( + + )} + + + + {getEntityName(knowledgePage)} + + + + + ); + })} +
+ ); + + useEffect(() => { + if (!isLoading && isEmpty(knowledgePages)) { + filterWidgets?.([DetailPageWidgetKeys.KNOWLEDGE_ARTICLE]); + } + }, [isLoading, knowledgePages]); + + if (isLoading) { + return ; + } + + if (!isLoading && isEmpty(knowledgePages)) { + return null; + } + + return ( + + {content} + + ); +}; + +export default KnowledgePages; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/KnowledgePagesHierarchy.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/KnowledgePagesHierarchy.test.tsx new file mode 100644 index 000000000000..12d2cf265ce0 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/KnowledgePagesHierarchy.test.tsx @@ -0,0 +1,631 @@ +import { + act, + fireEvent, + render, + screen, + waitFor, +} from '@testing-library/react'; +import { User } from 'generated/entity/teams/user'; +import { DEFAULT_ENTITY_PERMISSION } from 'utils/PermissionsUtils'; +import { MemoryRouter } from 'react-router-dom'; +import KnowledgePagesHierarchy from './KnowledgePagesHierarchy'; + +const PageHierarchy = [ + { + id: '62bec763-522d-4b70-ad85-f487b2f6102f', + pageType: 'Article', + name: 'Article_XJIGIKX2', + description: 'description', + fullyQualifiedName: 'Article_XJIGIKX2', + displayName: 'How to Discover Assets of Interest', + children: [ + { + id: 'ae65ca82-a284-4d3e-9554-dd4c94086613', + pageType: 'Article', + name: 'Article_2p7Z8MAN', + description: '', + fullyQualifiedName: 'Article_2p7Z8MAN', + displayName: 'How to Discover Assets of Interest Child 1', + children: [ + { + id: '27c39402-9691-4776-becd-23a69d06db75', + pageType: 'Article', + name: 'Article_UqfRMCZw', + description: '', + fullyQualifiedName: 'Article_UqfRMCZw', + displayName: 'How to Discover Assets of Interest Child 11', + children: [ + { + id: '838c8ce7-b949-4f58-9a6c-1ef268fc920d', + pageType: 'Article', + name: 'Article_LtyX9wX3', + description: '', + fullyQualifiedName: 'Article_LtyX9wX3', + displayName: 'How to Discover Assets of Interest Child 111', + children: [ + { + id: 'a31ca2ba-e841-4673-bbc2-478f0dea4692', + pageType: 'Article', + name: 'Article_atU2ADuH', + description: '', + fullyQualifiedName: 'Article_atU2ADuH', + displayName: + 'How to Discover Assets of Interest Child 1111', + children: [], + }, + ], + }, + ], + }, + ], + }, + ], + }, + { + id: '45d4f5dd-5946-40d5-abcf-8ef9ff1fa64e', + pageType: 'Article', + name: 'Article_YjCzUcBl', + description: '', + fullyQualifiedName: 'Article_YjCzUcBl', + displayName: 'This is Updated', + children: [ + { + id: '163a3ff2-f853-4040-a180-6e23717b9cd3', + pageType: 'Article', + name: 'Article_mWtepYKg', + description: '', + fullyQualifiedName: 'Article_mWtepYKg', + displayName: '', + children: [], + }, + ], + }, + { + id: '7f774865-a111-4cfa-ad9c-a9b1b34bd6fb', + pageType: 'Article', + name: 'Knowledge Article with children', + description: 'description', + fullyQualifiedName: 'Knowledge Article with children', + displayName: 'Knowledge Article with children', + children: [ + { + id: '16d75850-0fd3-475d-965b-fc2d3ef38900', + pageType: 'Article', + name: 'Article_5K3xBSov', + description: 'description', + fullyQualifiedName: 'Article_5K3xBSov', + displayName: 'Overview of Data Discovery data', + children: [], + }, + { + id: 'c21abbc6-5c72-4998-aacd-8c98c37be772', + pageType: 'Article', + name: 'Article_iSUbmc2V', + description: + '

This is the simple test now I will select and show you the bubble menu

', + fullyQualifiedName: 'Article_iSUbmc2V', + displayName: 'Notion like editor', + children: [ + { + id: 'b09e88ab-b2cf-4b21-9650-0a20a51ba6a8', + pageType: 'Article', + name: 'Article_bfPSYGdU', + description: '', + fullyQualifiedName: 'Article_bfPSYGdU', + displayName: '', + children: [ + { + id: '93f5f97e-7c92-40e4-a215-124bc1c475ee', + pageType: 'Article', + name: 'Article_eJAFUCiA', + description: '', + fullyQualifiedName: 'Article_eJAFUCiA', + displayName: 'I updated va;', + children: [ + { + id: '2097349d-d128-496d-b8f8-95474bcb3689', + pageType: 'Article', + name: 'Article_2er2H4E4', + description: '

', + fullyQualifiedName: 'Article_2er2H4E4', + displayName: 'Updated title', + children: [], + }, + ], + }, + ], + }, + ], + }, + { + id: '7d76837c-058e-4ac5-84e6-f7adb342aa79', + pageType: 'Article', + name: 'Article_qgqrKSse', + description: '', + fullyQualifiedName: 'Article_qgqrKSse', + displayName: '', + children: [], + }, + { + id: '08481f32-fa7e-44bf-9cd1-5a130adb4cf8', + pageType: 'Article', + name: 'Article_v8dwycta', + description: '', + fullyQualifiedName: 'Article_v8dwycta', + displayName: '', + children: [], + }, + ], + }, +]; + +jest.mock('rest/knowledgeCenterAPI', () => ({ + getPageHierarchyFromES: jest.fn().mockImplementation(() => + Promise.resolve({ + data: PageHierarchy, + paging: { limit: 100, offset: 0, total: PageHierarchy.length }, + }) + ), + postKnowledgePage: jest.fn().mockImplementation(() => + Promise.resolve({ + id: 'new-page-id', + name: 'newPage', + fullyQualifiedName: 'newPage', + displayName: '', + description: '', + pageType: 'Article', + }) + ), +})); + +const mockPush = jest.fn(); +const fqn = 'Article_XJIGIKX2'; + +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), + useHistory: jest.fn().mockImplementation(() => ({ + push: mockPush, + })), + useParams: jest.fn().mockImplementation(() => ({ fqn })), + useNavigate: jest.fn().mockImplementation(() => mockPush), +})); + +jest.mock('utils/useRequiredParams', () => ({ + useRequiredParams: jest.fn().mockImplementation(() => ({ fqn })), +})); + +jest.mock('crypto-random-string-with-promisify-polyfill', () => + jest.fn().mockReturnValue('randomString') +); + +const mockUserData: User = { + name: 'aaron_johnson0', + email: 'testUser1@email.com', + id: '9304f330-2e9a-4513-883b-c939e29683a8', +}; + +jest.mock('hooks/useApplicationStore', () => ({ + useApplicationStore: jest.fn().mockImplementation(() => ({ + currentUser: mockUserData, + })), +})); + +jest.mock('context/LimitsProvider/useLimitsStore', () => ({ + useLimitStore: jest + .fn() + .mockImplementation(() => ({ getResourceLimit: jest.fn() })), +})); + +jest.mock( + 'components/common/DeleteWidget/DeleteWidgetModal', + () => + jest + .fn() + .mockReturnValue(
DeleteWidgetModal
) +); + +describe('KnowledgePagesHierarchy', () => { + it('should render KnowledgePagesHierarchy', async () => { + await act(async () => { + render( + , + { wrapper: MemoryRouter } + ); + }); + + expect(screen.getByTestId('knowledge-pages-hierarchy')).toBeInTheDocument(); + + // should render the tree first level nodes + expect( + screen.getByText('How to Discover Assets of Interest') + ).toBeInTheDocument(); + expect(screen.getByText('This is Updated')).toBeInTheDocument(); + expect( + screen.getByText('Knowledge Article with children') + ).toBeInTheDocument(); + + // should render the collapse button + expect( + screen.getByTestId('How to Discover Assets of Interest-collapse-icon') + ).toBeInTheDocument(); + expect( + screen.getByTestId('This is Updated-collapse-icon') + ).toBeInTheDocument(); + expect( + screen.getByTestId('Knowledge Article with children-collapse-icon') + ).toBeInTheDocument(); + + // should render the page icon + expect(screen.getAllByTestId('page-icon')).toHaveLength(3); + }); + + it('should render the active node', async () => { + await act(async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + }); + + expect( + screen.getByTestId('page-node-How to Discover Assets of Interest') + ).toBeInTheDocument(); + expect( + screen.getByTestId('page-node-How to Discover Assets of Interest') + ).toHaveAttribute('data-isactive', 'true'); + }); + + it('should render the children if node is expanded', async () => { + await act(async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + }); + + const collapseButton = screen.getByTestId( + `How to Discover Assets of Interest-collapse-icon` + ); + + fireEvent.click(collapseButton); + + expect( + screen.getByText('How to Discover Assets of Interest Child 1') + ).toBeInTheDocument(); + }); + + it('delete flow should work', async () => { + await act(async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + }); + + const deleteButton = screen.getByTestId( + `How to Discover Assets of Interest-delete-page-btn` + ); + + fireEvent.click(deleteButton); + + expect(screen.getByTestId('delete-widget')).toBeInTheDocument(); + }); + + it('add page flow should work', async () => { + await act(async () => { + render( + , + { + wrapper: MemoryRouter, + } + ); + }); + + const addButton = screen.getByTestId( + `How to Discover Assets of Interest-add-page-btn` + ); + + fireEvent.click(addButton); + + await waitFor(() => { + expect(mockPush).toHaveBeenCalledWith({ + pathname: '/knowledge-center/newPage', + }); + }); + }); + + describe('Scroll Pagination', () => { + const mockGetPageHierarchyFromES = jest.requireMock( + 'rest/knowledgeCenterAPI' + ).getPageHierarchyFromES; + + const mockScrollFn = jest.fn(); + + beforeEach(() => { + jest.clearAllMocks(); + // Mock window.innerHeight + Object.defineProperty(window, 'innerHeight', { + writable: true, + configurable: true, + value: 1000, + }); + }); + + it('should trigger pagination when scroll reaches bottom (exact match)', async () => { + await act(async () => { + render( + , + { wrapper: MemoryRouter } + ); + }); + + const treeElement = screen.getByTestId('knowledge-pages-hierarchy'); + const scrollableElement = treeElement.getElementsByClassName( + 'ant-tree-list-holder' + )[0]; + + // Set the scroll properties on the element + Object.defineProperty(scrollableElement, 'scrollHeight', { + value: 3200, + writable: true, + configurable: true, + }); + + // Try a different approach for scrollTop + Object.defineProperty(scrollableElement, 'scrollTop', { + get: () => 2390, + set: mockScrollFn, + configurable: true, + }); + + // Simulate scroll event with scrollHeight exactly at windowHeight - 190 + const scrollEvent = { + currentTarget: { + ...scrollableElement, + scrollHeight: 3200, + scrollTop: 2390, + }, + }; + + await act(async () => { + fireEvent.scroll(scrollableElement, scrollEvent); + }); + + await waitFor(() => { + expect(mockGetPageHierarchyFromES).toHaveBeenCalledWith( + undefined, + undefined, + 100, // offset should be incremented by 100 + 100, + fqn + ); + }); + }); + + it('should trigger pagination when scrollHeight is within range (windowHeight - 191)', async () => { + await act(async () => { + render( + , + { wrapper: MemoryRouter } + ); + }); + + const treeElement = screen.getByTestId('knowledge-pages-hierarchy'); + const scrollableElement = treeElement.getElementsByClassName( + 'ant-tree-list-holder' + )[0]; + + // Set the scroll properties on the element + Object.defineProperty(scrollableElement, 'scrollHeight', { + value: 3200, + writable: true, + configurable: true, + }); + + Object.defineProperty(scrollableElement, 'scrollTop', { + get: () => 2391, + set: mockScrollFn, + configurable: true, + }); + + // Simulate scroll event with scrollHeight at windowHeight - 191 (within -1 range) + const scrollEvent = { + currentTarget: { + ...scrollableElement, + scrollHeight: 3200, + scrollTop: 2391, + }, + }; + fireEvent.scroll(scrollableElement, scrollEvent); + + await waitFor(() => { + expect(mockGetPageHierarchyFromES).toHaveBeenCalledWith( + undefined, + undefined, + 100, + 100, + fqn + ); + }); + }); + + it('should trigger pagination when scrollHeight is within range (windowHeight - 189)', async () => { + await act(async () => { + render( + , + { wrapper: MemoryRouter } + ); + }); + + const treeElement = screen.getByTestId('knowledge-pages-hierarchy'); + const scrollableElement = treeElement.getElementsByClassName( + 'ant-tree-list-holder' + )[0]; + // Set the scroll properties on the element + Object.defineProperty(scrollableElement, 'scrollHeight', { + value: 3200, + writable: true, + configurable: true, + }); + Object.defineProperty(scrollableElement, 'scrollTop', { + get: () => 2389, + set: mockScrollFn, + configurable: true, + }); + + // Simulate scroll event with scrollHeight at windowHeight - 189 (within +1 range) + const scrollEvent = { + currentTarget: { + ...scrollableElement, + scrollHeight: 3200, + scrollTop: 2389, + }, + }; + + fireEvent.scroll(scrollableElement, scrollEvent); + + await waitFor(() => { + expect(mockGetPageHierarchyFromES).toHaveBeenCalledWith( + undefined, + undefined, + 100, + 100, + fqn + ); + }); + }); + + it('should NOT trigger pagination when scrollHeight is outside range (too high)', async () => { + await act(async () => { + render( + , + { wrapper: MemoryRouter } + ); + }); + + const treeElement = screen.getByTestId('knowledge-pages-hierarchy'); + const scrollableElement = treeElement.getElementsByClassName( + 'ant-tree-list-holder' + )[0]; + + // Set the scroll properties on the element + Object.defineProperty(scrollableElement, 'scrollHeight', { + value: 1000, + writable: true, + configurable: true, + }); + + Object.defineProperty(scrollableElement, 'scrollTop', { + get: () => 800, + set: mockScrollFn, + configurable: true, + }); + + // Simulate scroll event with scrollHeight at windowHeight - 191 (within -1 range) + const scrollEvent = { + currentTarget: { + ...scrollableElement, + scrollHeight: 1000, + scrollTop: 800, + }, + }; + + fireEvent.scroll(scrollableElement, scrollEvent); + + await waitFor(() => { + expect(mockGetPageHierarchyFromES).not.toHaveBeenCalledWith( + undefined, + undefined, + 100, + 100, + fqn + ); + }); + }); + + it('should NOT trigger pagination when scrollHeight is outside range (too low)', async () => { + await act(async () => { + render( + , + { wrapper: MemoryRouter } + ); + }); + + const treeElement = screen.getByTestId('knowledge-pages-hierarchy'); + const scrollableElement = treeElement.getElementsByClassName( + 'ant-tree-list-holder' + )[0]; + + // Set the scroll properties on the element + Object.defineProperty(scrollableElement, 'scrollHeight', { + value: 1000, + writable: true, + configurable: true, + }); + + Object.defineProperty(scrollableElement, 'scrollTop', { + get: () => 820, + set: mockScrollFn, + configurable: true, + }); + + // Simulate scroll event with scrollHeight at windowHeight - 191 (within -1 range) + const scrollEvent = { + currentTarget: { + ...scrollableElement, + scrollHeight: 1000, + scrollTop: 820, + }, + }; + + fireEvent.scroll(scrollableElement, scrollEvent); + + await waitFor(() => { + expect(mockGetPageHierarchyFromES).not.toHaveBeenCalledWith( + undefined, + undefined, + 100, + 100, + fqn + ); + }); + }); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/KnowledgePagesHierarchy.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/KnowledgePagesHierarchy.tsx new file mode 100644 index 000000000000..40285a3d830e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/KnowledgePagesHierarchy.tsx @@ -0,0 +1,816 @@ +import { Button, Modal, Skeleton, Tree, Typography } from 'antd'; +import { ROUTES, CREATE_PAGE_HASH } from 'constants/constants'; +import { DataNode } from 'antd/es/tree'; +import { AntTreeNodeProps, DirectoryTreeProps, TreeProps } from 'antd/lib/tree'; +import { ReactComponent as KnowLedgePageIcon } from 'assets/svg/ic-knowledge-page.svg'; +import { AxiosError } from 'axios'; +import { + CreateKnowledgePage, + KnowledgePage, + KnowledgePagesHierarchyRef, + MovedEntity, + PageHierarchy, + PageType, + RecentlyViewedQuickLinks, +} from 'interface/knowledge-center.interface'; + +import { showErrorToast } from 'utils/ToastUtils'; +import { + forwardRef, + Key, + ReactNode, + UIEventHandler, + useCallback, + useEffect, + useImperativeHandle, + useMemo, + useReducer, + useRef, + useState, +} from 'react'; +import { Link, useNavigate } from 'react-router-dom'; +import { + getPageHierarchyFromES, + patchKnowledgePage, + postKnowledgePage, +} from 'rest/knowledgeCenterAPI'; + +import { PlusOutlined } from '@ant-design/icons'; +import classNames from 'classnames'; +import { + KNOWLEDGE_CENTER_INSTANCE_NAME_LENGTH, + KNOWLEDGE_CENTER_PAGINATION_LIMIT, + KNOWLEDGE_CENTER_PAGINATION_OFFSET_INCREMENT, + KNOWLEDGE_CENTER_TREE_HEIGHT_OFFSET, + KNOWLEDGE_CENTER_TREE_HEIGHT_OFFSET_CHILD_ARTICLE, +} from 'constants/KnowledgeCenter.constant'; +import cryptoRandomString from 'crypto-random-string-with-promisify-polyfill'; +import { EntityType } from 'enums/entity.enum'; +import { compare } from 'fast-json-patch'; +import { isUndefined, uniq } from 'lodash'; +import { ReactComponent as DragIcon } from 'assets/svg/drag.svg'; +import { ReactComponent as IconDown } from 'assets/svg/ic-arrow-down.svg'; +import { ReactComponent as IconRight } from 'assets/svg/ic-arrow-right.svg'; +import { ReactComponent as DeleteIcon } from 'assets/svg/ic-delete.svg'; +import DeleteWidgetModal from 'components/common/DeleteWidget/DeleteWidgetModal'; +import CreateErrorPlaceHolder from 'components/common/ErrorWithPlaceholder/CreateErrorPlaceHolder'; +import Loader from 'components/common/Loader/Loader'; +import { DE_ACTIVE_COLOR } from 'constants/constants'; +import { useLimitStore } from 'context/LimitsProvider/useLimitsStore'; +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { SIZE } from 'enums/common.enum'; +import { useCurrentUserPreferences } from 'hooks/currentUserStore/useCurrentUserStore'; +import { useApplicationStore } from 'hooks/useApplicationStore'; +import useCustomLocation from 'hooks/useCustomLocation/useCustomLocation'; +import { Transi18next } from 'utils/CommonUtils'; +import { getEntityName } from 'utils/EntityUtils'; +import Fqn from 'utils/Fqn'; +import { useRequiredParams } from 'utils/useRequiredParams'; +import { useTranslation } from 'react-i18next'; +import { + convertToTreeData, + extractKnowledgePageParentFQN, + findPageAndParentInTreeData, + findPageInTreeData, + getExpandedNodeKeys, + getKnowledgePagePath, + getPageAllChildren, + getUpdatePageHierarchy, + getUpdatePageHierarchyForDelete, + hierarchyPaginationInitialState, + hierarchyPaginationReducer, + integrateNodesIntoHierarchy, + updateKnowledgeCenterRecentViewed, + updateTreeData, +} from 'utils/KnowledgePageUtils'; +import './knowledge-pages-hierarchy.less'; +const { DirectoryTree } = Tree; + +interface KnowledgePagesHierarchyProps { + permissions: OperationPermission; + isPageHeaderAvailable: boolean; + activeKey?: DirectoryTreeProps['activeKey']; + activePage?: KnowledgePage; + onPageDelete?: (id: string | string[]) => void; + onLoading?: (isLoading: boolean) => void; +} + +const KnowledgePagesHierarchy = forwardRef< + KnowledgePagesHierarchyRef, + KnowledgePagesHierarchyProps +>( + ( + { + activeKey, + activePage, + onPageDelete, + onLoading, + permissions, + isPageHeaderAvailable, + }, + ref + ) => { + const { fqn } = useRequiredParams<{ fqn: string }>(); + const navigate = useNavigate(); + const { hash } = useCustomLocation(); + const { currentUser } = useApplicationStore(); + const { t } = useTranslation(); + const [knowledgePageHierarchy, setKnowledgePageHierarchy] = useState< + PageHierarchy[] + >([]); + const { getResourceLimit } = useLimitStore(); + + // Cache to track if initial hierarchy has been loaded + const [isHierarchyInitialized, setIsHierarchyInitialized] = + useState(false); + // Track the last fqn for which hierarchy was fetched + const lastFetchedFqnRef = useRef(null); + + const [isLoading, setIsLoading] = useState(false); + const [expandedKeys, setExpandedKeys] = useState([]); + const [deletePage, setDeletePage] = useState(); + + const [movedPage, setMovedPage] = useState(); + const [isMovingPage, setIsMovingPage] = useState(false); + const { + preferences: { recentlyViewedQuickLinks: recentlyViewed }, + } = useCurrentUserPreferences(); + + const [paginationState, setPaginationState] = useReducer( + hierarchyPaginationReducer, + hierarchyPaginationInitialState + ); + + const TREE_HEIGHT = useMemo( + () => + window.innerHeight - + (isPageHeaderAvailable + ? KNOWLEDGE_CENTER_TREE_HEIGHT_OFFSET_CHILD_ARTICLE + : KNOWLEDGE_CENTER_TREE_HEIGHT_OFFSET), + [isPageHeaderAvailable] + ); + + const treeData: DataNode[] = useMemo(() => { + return convertToTreeData(activePage, knowledgePageHierarchy); + }, [knowledgePageHierarchy, activePage]); + + const fetchKnowledgePageHierarchy = async ( + setLoading = true, + isPaginationLoading = false, + offset = 0, + limit = KNOWLEDGE_CENTER_PAGINATION_LIMIT, + forceRefresh = false + ) => { + const isCreateHash = Boolean(hash && hash.slice(1) === CREATE_PAGE_HASH); + + // Skip fetching if hierarchy is already initialized and not forcing refresh + // and not doing pagination loading and the fqn hasn't changed + if ( + !forceRefresh && + !isPaginationLoading && + isHierarchyInitialized && + knowledgePageHierarchy.length > 0 && + lastFetchedFqnRef.current === fqn && + !isCreateHash + ) { + return; + } + + if (setLoading && !isCreateHash) { + setIsLoading(true); + } + + if (isPaginationLoading) { + setPaginationState({ + type: 'SET_PAGINATION_LOADING', + value: true, + }); + } + try { + const { data, paging } = await getPageHierarchyFromES( + undefined, + undefined, + offset, + limit, + fqn + ); + + // Update the last fetched fqn + lastFetchedFqnRef.current = fqn; + + // set the pagination state + setPaginationState({ + type: 'SET_PAGING_VALUE', + value: paging, + }); + + // if the data is empty or the total count is equal to the current hierarchy + if ( + data.length === 0 || + knowledgePageHierarchy.length === paging.total + ) { + setPaginationState({ + type: 'SET_IS_PAGINATION_END', + value: true, + }); + } + + if (isCreateHash) { + setKnowledgePageHierarchy(data); + } else { + // Check if we have an activeFqn that represents a nested child node + const fqnParts = fqn ? Fqn.split(fqn) : []; + const isNestedNode = fqnParts.length > 1; + + // If it's a nested node, we need to ensure all parent nodes exist in the hierarchy + if (isNestedNode && data.length > 0) { + // Extract all parent FQNs from the activeFqn + const parentFQN = extractKnowledgePageParentFQN(fqn); + setKnowledgePageHierarchy((prevHierarchy) => { + return integrateNodesIntoHierarchy(prevHierarchy, data); + }); + + // Ensure all parent nodes are expanded + setExpandedKeys((prevKeys) => uniq([...prevKeys, ...parentFQN])); + } else { + // Standard merging logic for root-level items + setKnowledgePageHierarchy((prevHierarchy) => { + const mergedArray = prevHierarchy.concat(data); + const updatedHierarchy = Array.from( + new Map(mergedArray.map((item) => [item.id, item])).values() + ); + + return updatedHierarchy; + }); + } + } + setIsHierarchyInitialized(true); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setIsLoading(false); + setPaginationState({ + type: 'SET_PAGINATION_LOADING', + value: false, + }); + } + }; + + const onLoadData = useCallback( + async (node: DataNode) => { + try { + if (node.children) { + return; + } + + const { data: children } = await getPageHierarchyFromES( + node.key as string + ); + + setKnowledgePageHierarchy( + updateTreeData( + knowledgePageHierarchy, + children, + node.key.toString() + ) + ); + } catch { + // do nothing + } + }, + [knowledgePageHierarchy] + ); + + const handleDeletePage = useCallback( + (pageNode: DataNode) => { + // find the page in the tree data + const page = findPageInTreeData( + knowledgePageHierarchy, + pageNode.key as string + ); + // if page is not found, return + if (!page) { + return; + } + // set the page to be deleted + setDeletePage(page); + }, + [knowledgePageHierarchy] + ); + + const handleAfterDeletePage = useCallback( + async (deletedPageData: PageHierarchy) => { + const deletedPageHierarchy = findPageInTreeData( + knowledgePageHierarchy, + deletedPageData?.fullyQualifiedName ?? '' + ); + + const isActivePageParent = findPageInTreeData( + [...(deletedPageHierarchy?.children ?? [])], + activePage?.fullyQualifiedName ?? '' + ); + + const deletedPages = [ + deletedPageData.id, + ...getPageAllChildren(deletedPageHierarchy?.children ?? []).map( + (children) => children.id + ), + ]; + + // call the callback if provided + onPageDelete?.(deletedPages); + + // Update current count when Create / Delete operation performed + await getResourceLimit('knowledgeCenter', true, true); + + // update the recent views + updateKnowledgeCenterRecentViewed( + recentlyViewed.filter( + (page) => !deletedPages.includes(page.id) + ) as unknown as RecentlyViewedQuickLinks['data'] + ); + + // refresh the hierarchy + deletedPageData && + setKnowledgePageHierarchy((prevHierarchy) => + getUpdatePageHierarchyForDelete( + deletedPageData.fullyQualifiedName, + prevHierarchy + ) + ); + + // if the deleted page is the active page or parent of active page, navigate to knowledge center + if ( + activeKey === deletedPageData.fullyQualifiedName || + isActivePageParent + ) { + navigate(ROUTES.KNOWLEDGE_CENTER); + } + }, + [knowledgePageHierarchy, onPageDelete, activeKey, activePage] + ); + + const handleAddPage = useCallback( + async (pageNode: DataNode) => { + // find the page in the tree data + const page = findPageInTreeData( + knowledgePageHierarchy, + pageNode.key as string + ); + + // if page is not found, return + if (!page) { + return; + } + + try { + onLoading?.(true); + const instanceName = `${PageType.ARTICLE}_${cryptoRandomString({ + length: KNOWLEDGE_CENTER_INSTANCE_NAME_LENGTH, + type: 'alphanumeric', + })}`; + + // create a new page + const data: CreateKnowledgePage = { + name: instanceName, + displayName: '', + description: '', + pageType: PageType.ARTICLE, + page: { + publicationDate: new Date(), + relatedArticles: [], + }, + owners: [ + { + type: 'user', + id: currentUser?.id ?? '', + }, + ], + parent: { id: page.id, type: 'page' }, + }; + const response = await postKnowledgePage(data); + + // Convert the created page response to PageHierarchy format + const newPageHierarchy: PageHierarchy = { + id: response.id, + name: response.name, + fullyQualifiedName: response.fullyQualifiedName, + displayName: response.displayName, + description: response.description, + pageType: response.pageType, + childrenCount: 0, + }; + + // Add the newly created page to the hierarchy tree immediately + setKnowledgePageHierarchy((prevHierarchy) => + updateTreeData( + prevHierarchy, + [newPageHierarchy], + page.fullyQualifiedName + ) + ); + + // Ensure parent node is expanded to show the new child + setExpandedKeys((prevKeys) => + uniq([...prevKeys, page.fullyQualifiedName]) + ); + + // Update resource limit count + await getResourceLimit('knowledgeCenter', true, true); + + // push to the newly created page + navigate({ + pathname: getKnowledgePagePath(response.fullyQualifiedName), + }); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + onLoading?.(false); + } + }, + [currentUser, knowledgePageHierarchy, getResourceLimit] + ); + + const titleRender = useCallback( + (node: DataNode) => { + const nodeKey = node.key as string; + + return ( +
+ +
+ + + + + {node.title as ReactNode} + +
+ +
+ + +
+
+ ); + }, + [handleDeletePage, handleAddPage, activeKey] + ); + + const handleMovePage = async (movedPageData: MovedEntity) => { + try { + setIsMovingPage(true); + const { sourceNode, sourceNodeParent, targetNode } = movedPageData; + + const newExpandedKeys = []; + + // step1: update the source node parent + const updatedSourceNodeForPatch = { + ...sourceNode, + parent: targetNode + ? { + id: targetNode.id, + type: 'page', + fullyQualifiedName: targetNode.fullyQualifiedName, + name: targetNode.name, + displayName: targetNode.displayName, + } + : undefined, + }; + + const sourceNodePatch = compare(sourceNode, updatedSourceNodeForPatch); + + await patchKnowledgePage(sourceNode.id, sourceNodePatch); + + if (!isUndefined(targetNode)) { + // step2: fetch updated children for the target node + const targetNodeChildren = await getPageHierarchyFromES( + targetNode.fullyQualifiedName + ); + + setKnowledgePageHierarchy((prevHierarchy) => { + return getUpdatePageHierarchy( + prevHierarchy, + { + ...targetNode, + children: targetNodeChildren.data, + }, + true + ); + }); + + newExpandedKeys.push(targetNode.fullyQualifiedName); + + // step3: fetch updated children for the source node parent + if (sourceNodeParent) { + const sourceNodeParentChildren = await getPageHierarchyFromES( + sourceNodeParent.fullyQualifiedName + ); + + setKnowledgePageHierarchy((prevHierarchy) => { + return getUpdatePageHierarchy( + prevHierarchy, + { + ...sourceNodeParent, + children: sourceNodeParentChildren.data, + }, + true + ); + }); + + newExpandedKeys.push(sourceNodeParent.fullyQualifiedName); + } else { + // if the source node parent is not found, remove the source node from the hierarchy + setKnowledgePageHierarchy((prevHierarchy) => { + return prevHierarchy.filter((page) => page.id !== sourceNode.id); + }); + } + + // step4: update expanded keys + setExpandedKeys(newExpandedKeys); + } else { + fetchKnowledgePageHierarchy( + true, + false, + 0, + KNOWLEDGE_CENTER_PAGINATION_LIMIT, + true + ); + setExpandedKeys([]); + } + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setMovedPage(undefined); + setIsMovingPage(false); + } + }; + + const handleDragAndDrop: TreeProps['onDrop'] = async (info) => { + const isDropPositionParentLevel = info.dropPosition === -1; + const sources = info.dragNode; + const target = info.node; + + // if the source and target are same, return + if (sources.key === target.key) { + return; + } + + const targetNode = findPageInTreeData( + knowledgePageHierarchy, + target.key.toString() + ); + + if (!targetNode) { + return; + } + + const { page: sourceNode, parent: sourceNodeParent } = + findPageAndParentInTreeData( + knowledgePageHierarchy, + sources.key.toString() + ); + + if (!sourceNode) { + return; + } + + // if the source node is already a direct child of the target node, return + const isChild = (targetNode.children ?? []).find( + (child) => child.id === sourceNode.id + ); + + if (isChild && !isDropPositionParentLevel) { + return; + } + + const movedPageData = { + sourceNode, + sourceNodeParent, + targetNode: isDropPositionParentLevel ? undefined : targetNode, + }; + + setMovedPage(movedPageData); + }; + + const handleScroll: UIEventHandler = useCallback( + (e) => { + const scrollHeight = + e.currentTarget.scrollHeight - e.currentTarget.scrollTop; + const windowHeight = + window.innerHeight - KNOWLEDGE_CENTER_TREE_HEIGHT_OFFSET; + + // if the scroll height is within the range of window height, fetch the next page, + // since on bigger screen there can be a chance the height is not exactly window height + + const finalScrollHeight = + scrollHeight + (isPageHeaderAvailable ? 70 : 0); // to maintain the height of panel after header added + if ( + finalScrollHeight >= windowHeight - 1 && + finalScrollHeight <= windowHeight + 1 && + !paginationState.isPaginationEnd && + !paginationState.paginationLoading + ) { + fetchKnowledgePageHierarchy( + false, + true, + paginationState.paging.offset + + KNOWLEDGE_CENTER_PAGINATION_OFFSET_INCREMENT + ); + } + }, + [isPageHeaderAvailable, paginationState] + ); + + useImperativeHandle(ref, () => ({ + fetchKnowledgePageHierarchy: (forceRefresh = false) => + fetchKnowledgePageHierarchy( + true, + false, + 0, + KNOWLEDGE_CENTER_PAGINATION_LIMIT, + forceRefresh + ), + })); + + useEffect(() => { + // Only fetch on initial mount or when hash changes to CREATE_PAGE_HASH + const isCreateHash = Boolean(hash && hash.slice(1) === CREATE_PAGE_HASH); + + if (!isHierarchyInitialized || isCreateHash) { + fetchKnowledgePageHierarchy(); + } else if (fqn !== lastFetchedFqnRef.current) { + // FQN changed but we already have hierarchy data, just update the ref + // The tree selection will be handled by activeKey prop + lastFetchedFqnRef.current = fqn; + } + }, [hash, fqn]); + + useEffect(() => { + if (activeKey) { + setExpandedKeys((prevKeys) => + uniq([ + ...prevKeys, + ...getExpandedNodeKeys(knowledgePageHierarchy, activeKey as string), + ]) + ); + } + }, [activeKey, knowledgePageHierarchy]); + + useEffect(() => { + if (activePage) { + setKnowledgePageHierarchy((prevHierarchy) => { + const updatedHierarchy = getUpdatePageHierarchy( + prevHierarchy, + activePage + ); + + return updatedHierarchy; + }); + } + }, [activePage]); + + if (isLoading) { + return ( +
+ +
+ ); + } + + if (!isLoading && knowledgePageHierarchy.length === 0) { + return ( + + ); + } + + return ( +
+ , + nodeDraggable: () => true, + }} + expandAction={false} + expandedKeys={expandedKeys} + height={TREE_HEIGHT} + icon={null} + loadData={onLoadData} + loadedKeys={expandedKeys} + selectedKeys={activeKey ? [activeKey] : []} + switcherIcon={(props: AntTreeNodeProps) => { + return props.expanded ? ( + + ) : ( + + ); + }} + titleRender={titleRender} + treeData={treeData} + onDrop={handleDragAndDrop} + onExpand={(keys) => setExpandedKeys(keys)} + onScroll={handleScroll} + /> + + {paginationState.paginationLoading && } + + {deletePage && ( + handleAfterDeletePage(deletePage)} + allowSoftDelete={false} + entityId={deletePage.id} + entityName={deletePage.displayName || t('label.untitled')} + entityType={ + EntityType.KNOWLEDGE_PAGE as unknown as EntityType + } + prepareType={false} + successMessage={t('server.entity-deleted-successfully', { + entity: t('label.article'), + })} + visible={!isUndefined(deletePage)} + onCancel={() => setDeletePage(undefined)} + /> + )} + + {movedPage && ( + setMovedPage(undefined)} + onOk={() => handleMovePage(movedPage)}> + } + values={{ + from: getEntityName(movedPage.sourceNode), + to: movedPage.targetNode + ? getEntityName(movedPage.targetNode) + : t('label.base-knowledge'), + entity: t('label.page-lowercase'), + }} + /> + + )} +
+ ); + } +); + +export default KnowledgePagesHierarchy; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/knowledge-pages-hierarchy.less b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/knowledge-pages-hierarchy.less new file mode 100644 index 000000000000..11a7fdd3d92f --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/KnowledgePagesHierarchy/knowledge-pages-hierarchy.less @@ -0,0 +1,122 @@ +@import (reference) '../../../styles/variables.less'; + +@add-first-page-btn-bg-color: #00000006; +@active-bg-color: #f5f5f5; + +.knowledge-pages-hierarchy-wrapper { + .ant-tree-treenode { + position: relative; + } + + .ant-tree.ant-tree-directory + .ant-tree-treenode.ant-tree-treenode-selected::before { + background: @radio-button-checked-bg; + border-left: 2px solid @radio-button-checked-bg; + } + + .knowledge-hierarchy-action-btn { + background-color: @active-bg-color; + display: none; + } + + .ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon { + cursor: grab; + visibility: hidden; + flex-shrink: 0; + + & svg { + vertical-align: middle; + width: 12px; + height: 8px; + } + } + + .ant-tree.ant-tree-directory .ant-tree-treenode:hover { + .knowledge-hierarchy-action-btn { + display: flex; + position: absolute; + right: 2px; + top: 0; + } + + .knowledge-hierarchy-action-btn-item { + padding: 0px 8px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; + } + + .ant-tree-draggable-icon { + visibility: visible; + opacity: 1; + } + } + + .knowledge-hierarchy-page-title-wrapper { + &.leaf-node-title { + padding-left: 18px; + } + + display: flex; + align-items: center; + gap: 4px; + } + + .ant-tree .ant-tree-node-content-wrapper { + padding: 0px; + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .node-page-icon { + > svg { + vertical-align: middle; + } + + display: flex; + justify-content: center; + align-items: center; + position: relative; + flex: none; + align-self: stretch; + margin: 0; + width: 18px; + line-height: 24px; + text-align: center; + } + + .ant-tree-switcher-noop { + display: none; + } + + .ant-tree-switcher { + justify-content: normal; + width: 18px; + + > .ant-tree-switcher-icon { + width: 12px; + height: 12px; + color: @grey-4; + } + } + + .anchor-no-underline { + &:hover, + &:focus { + text-decoration: none; + } + } + + .ant-tree.ant-tree-directory .ant-tree-treenode.ant-tree-treenode-selected { + font-weight: 700; + } +} + +.add-first-page-btn { + width: 100%; + margin-top: 48px; + background: @add-first-page-btn-bg-color; +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/QuickLinkFormModal/QuickLinkFormModal.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/QuickLinkFormModal/QuickLinkFormModal.test.tsx new file mode 100644 index 000000000000..f8ded3d5da26 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/QuickLinkFormModal/QuickLinkFormModal.test.tsx @@ -0,0 +1,113 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { act, fireEvent, render, screen } from '@testing-library/react'; +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { + QuickLinkFormModal, + QuickLinkFormModalProps, +} from './QuickLinkFormModal'; + +jest.mock( + 'components/DataAssets/DataAssetAsyncSelectList/DataAssetAsyncSelectList', + () => jest.fn(() =>
) +); + +const mockSave = jest.fn(); + +const mockCancel = jest.fn(); + +jest.mock('utils/EntityUtils', () => ({ + getEntityName: jest.fn().mockImplementation((entity) => entity.displayName), +})); +jest.mock('utils/TableUtils', () => ({ + getTagsWithoutTier: jest.fn(), +})); + +jest.mock('utils/TableTags/TableTags.utils', () => ({ + getFilterTags: jest.fn(), +})); + +jest.mock('utils/ToastUtils', () => ({ + showErrorToast: jest.fn(), +})); + +jest.mock('pages/TasksPage/shared/DescriptionTask'); +jest.mock('pages/TasksPage/shared/DescriptionTaskNew'); + +const mockProps: QuickLinkFormModalProps = { + isOpen: true, + onSave: mockSave, + onCancel: mockCancel, + permissions: { + EditAll: true, + EditDisplayName: true, + EditDescription: true, + EditTags: true, + } as OperationPermission, +}; + +describe('QuickLinkFormModal', () => { + it('Should render the form inputs', async () => { + render(); + + const displayNameInput = screen.getByTestId('displayName'); + const urlInput = screen.getByTestId('url'); + const descriptionEditor = screen.getByTestId('editor'); + const tagSelectors = screen.getAllByTestId('tag-selector'); + + expect(displayNameInput).toBeInTheDocument(); + expect(urlInput).toBeInTheDocument(); + expect(descriptionEditor).toBeInTheDocument(); + expect(tagSelectors).toHaveLength(2); + expect( + screen.getByTestId('data-asset-async-select-list') + ).toBeInTheDocument(); + }); + + it('onSave should work', async () => { + render(); + + const displayNameInput = screen.getByTestId('displayName'); + const urlInput = screen.getByTestId('url'); + + fireEvent.change(displayNameInput, { target: { value: 'displayName' } }); + fireEvent.change(urlInput, { target: { value: 'https://example.coms' } }); + + const submitBtn = screen.getByText('label.save'); + + await act(async () => { + fireEvent.click(submitBtn); + }); + + expect(mockSave).toHaveBeenCalledWith({ + description: '', + displayName: 'displayName', + glossaryTerms: undefined, + relatedEntities: [], + tags: undefined, + url: 'https://example.coms', + }); + }); + + it('onCancel should work', async () => { + render(); + + const cancelBtn = screen.getByText('label.back'); + + await act(async () => { + fireEvent.click(cancelBtn); + }); + + expect(mockCancel).toHaveBeenCalled(); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/QuickLinkFormModal/QuickLinkFormModal.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/QuickLinkFormModal/QuickLinkFormModal.tsx new file mode 100644 index 000000000000..5eac4e6bf8e0 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/QuickLinkFormModal/QuickLinkFormModal.tsx @@ -0,0 +1,387 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Form, FormProps, Modal } from 'antd'; +import { AxiosError } from 'axios'; +import { compare } from 'fast-json-patch'; +import { cloneDeep, isEqual, isNil, isUndefined } from 'lodash'; + +import { getKnowledgePageFields } from 'constants/KnowledgeCenter.constant'; +import DataAssetAsyncSelectList from 'components/DataAssets/DataAssetAsyncSelectList/DataAssetAsyncSelectList'; +import { DataAssetOption } from 'components/DataAssets/DataAssetAsyncSelectList/DataAssetAsyncSelectList.interface'; +import { OperationPermission } from 'context/PermissionProvider/PermissionProvider.interface'; +import { EntityReference } from 'generated/entity/type'; +import { + TagLabel, + TagSource, +} from 'generated/type/tagLabel'; +import { + FieldProp, + FieldTypes, +} from 'interface/FormUtils.interface'; +import { getEntityName } from 'utils/EntityUtils'; +import { generateFormFields } from 'utils/formUtils'; +import { getFilterTags } from 'utils/TableTags/TableTags.utils'; +import { getTagsWithoutTier } from 'utils/TableUtils'; +import { showErrorToast } from 'utils/ToastUtils'; +import { FC, useMemo, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { + getKnowledgePageByFqn, + patchKnowledgePage, +} from 'rest/knowledgeCenterAPI'; +import { + CreateKnowledgePage, + KnowledgePage, + QuickLink, +} from '../../../interface/knowledge-center.interface'; +import i18n from '../../../utils/i18next/LocalUtil'; + +export interface QuickLinkFormModalFormData + extends Pick { + url: string; + tags?: TagLabel[]; + glossaryTerms?: TagLabel[]; + relatedEntities?: EntityReference[]; +} + +export interface QuickLinkFormModalProps { + isOpen: boolean; + quickLink?: KnowledgePage; + permissions: OperationPermission; + onSave: (data: QuickLinkFormModalFormData) => void; + onCancel: () => void; +} + +export const QuickLinkFormModal: FC = ({ + isOpen, + quickLink, + permissions, + onCancel, + onSave, +}) => { + const [form] = Form.useForm(); + const { t } = useTranslation('translation', { i18n }); + + const [isUpdating, setIsUpdating] = useState(false); + + const { classification, glossaries, initialValues } = useMemo(() => { + if (isUndefined(quickLink)) { + return { initialValues: {}, classification: [], glossaries: [] }; + } + + const tagsWithoutTier = getTagsWithoutTier(quickLink.tags ?? []); + + const { Classification: classification, Glossary: glossaries } = + getFilterTags(tagsWithoutTier); + + return { + initialValues: { + displayName: quickLink?.displayName, + url: (quickLink.page as QuickLink)?.url, + description: quickLink?.description, + tags: classification, + glossaryTerms: glossaries, + }, + classification, + glossaries, + }; + }, [quickLink]); + + const { + defaultDataAssetsValues, + initialDataAssetsOptions, + restRelatedDataAssets, + } = useMemo(() => { + if (isUndefined(quickLink)) { + return { + initialDataAssetsOptions: [], + defaultDataAssetsValues: [], + filteredRelatedDataAssets: [], + restRelatedDataAssets: [], + }; + } + + const relatedDataAssets = quickLink.relatedEntities ?? []; + + const { filteredRelatedDataAssets, restRelatedDataAssets } = + relatedDataAssets.reduce( + (acc, item) => { + // filter out team and user as they are not data assets + if (!['team', 'user'].includes(item.type)) { + acc.filteredRelatedDataAssets.push(item); + } else { + acc.restRelatedDataAssets.push(item); + } + + return acc; + }, + { + filteredRelatedDataAssets: [] as EntityReference[], + restRelatedDataAssets: [] as EntityReference[], + } + ); + + const initialDataAssetsOptions: DataAssetOption[] = + filteredRelatedDataAssets.map((item) => { + return { + displayName: getEntityName(item), + reference: item, + label: getEntityName(item), + value: item.id, + }; + }); + + const defaultDataAssetsValues = filteredRelatedDataAssets.map( + (item) => item.id + ); + + return { + initialDataAssetsOptions, + defaultDataAssetsValues, + filteredRelatedDataAssets, + restRelatedDataAssets, + }; + }, [quickLink]); + + const handleQuickLinkUpdate = async ( + knowledgePage: KnowledgePage, + formData: QuickLinkFormModalFormData + ) => { + const currentKnowledgePage = cloneDeep(knowledgePage); + + const tags = [...(formData.tags ?? []), ...(formData.glossaryTerms ?? [])]; + + let existingTags = currentKnowledgePage.tags ?? []; + + // derive the new tags + const newTags = tags.filter( + (tag) => !existingTags.find((t) => t.tagFQN === tag.tagFQN) + ); + + // update the existing tags with the new tags + existingTags = existingTags.filter((tag) => + tags.find((t) => t.tagFQN === tag.tagFQN) + ); + + const updatedKnowledgePage: KnowledgePage = { + ...currentKnowledgePage, + displayName: formData.displayName, + description: formData.description, + tags: [...existingTags, ...newTags], + page: { + ...currentKnowledgePage.page, + url: formData.url, + }, + relatedEntities: formData?.relatedEntities, + }; + + if (isEqual(currentKnowledgePage, updatedKnowledgePage)) { + onCancel(); + + return; + } + + try { + setIsUpdating(true); + const patch = compare(currentKnowledgePage, updatedKnowledgePage); + + await patchKnowledgePage(currentKnowledgePage.id, patch); + const response = await getKnowledgePageByFqn( + currentKnowledgePage.fullyQualifiedName, + { + fields: getKnowledgePageFields(), + } + ); + + const updatedData = { + displayName: response.displayName, + description: response.description, + tags: response.tags, + url: (response.page as QuickLink)?.url, + relatedEntities: response?.relatedEntities, + }; + onSave(updatedData); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setIsUpdating(false); + } + }; + + const handleSubmit: FormProps< + Omit & { + relatedEntities?: DataAssetOption[]; + } + >['onFinish'] = (values) => { + // filter out empty values + const relatedEntitiesData = values['relatedEntities']?.filter( + (entity) => !isNil(entity) + ); + + const mappedRelatedDataAssets = relatedEntitiesData?.reduce((acc, item) => { + let reference; + + if (typeof item === 'string') { + const foundOption = initialDataAssetsOptions.find( + (option) => option.reference.id === item + ); + reference = foundOption?.reference; + } else { + reference = item.reference; + } + + if (!isNil(reference)) { + acc.push(reference); + } + + return acc; + }, [] as EntityReference[]); + + const relatedEntities = [ + ...restRelatedDataAssets, + ...(mappedRelatedDataAssets ?? []), + ]; + + const updatedValues = { ...values, relatedEntities }; + + if (!isUndefined(quickLink)) { + handleQuickLinkUpdate(quickLink, updatedValues); + } else { + onSave(updatedValues); + } + }; + + const formFields: FieldProp[] = [ + { + name: 'displayName', + id: 'root/displayName', + required: false, + label: t('label.display-name'), + type: FieldTypes.TEXT, + props: { + 'data-testid': 'displayName', + disabled: !(permissions.EditAll || permissions.EditDisplayName), + }, + placeholder: t('label.display-name'), + }, + { + name: 'url', + id: 'root/url', + required: true, + label: t('label.url-uppercase'), + type: FieldTypes.TEXT, + props: { + 'data-testid': 'url', + type: 'url', + disabled: !permissions.EditAll, + }, + placeholder: t('label.url-uppercase'), + }, + { + name: 'description', + required: false, + label: t('label.description'), + id: 'root/description', + type: FieldTypes.DESCRIPTION, + props: { + 'data-testid': 'description', + initialValue: '', + readonly: !(permissions.EditAll || permissions.EditDescription), + }, + }, + { + name: 'tags', + required: false, + label: t('label.tag-plural'), + id: 'root/tags', + type: FieldTypes.TAG_SUGGESTION, + props: { + 'data-testid': 'tags-container', + initialOptions: classification.map((tag) => ({ + label: tag.tagFQN, + value: tag.tagFQN, + data: tag, + })), + disabled: !(permissions.EditAll || permissions.EditTags), + }, + }, + { + name: 'glossaryTerms', + required: false, + label: t('label.glossary-term'), + id: 'root/glossaryTerms', + type: FieldTypes.TAG_SUGGESTION, + props: { + 'data-testid': 'glossaryTerms-container', + open: false, + hasNoActionButtons: true, + isTreeSelect: true, + tagType: TagSource.Glossary, + placeholder: t('label.select-field', { + field: t('label.glossary-term'), + }), + initialOptions: glossaries.map((glossary) => ({ + label: glossary.tagFQN, + value: glossary.tagFQN, + data: glossary, + })), + disabled: !(permissions.EditAll || permissions.EditTags), + }, + }, + ]; + + + return ( + + + + ); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssets.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssets.test.tsx new file mode 100644 index 000000000000..d2629b914cbb --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssets.test.tsx @@ -0,0 +1,257 @@ +import { act, fireEvent, render, screen } from '@testing-library/react'; +import { MemoryRouter } from 'react-router-dom'; +import RelatedDataAssets from './RelatedDataAssets'; + +jest.mock('./RelatedDataAssetsForm', () => ({ + RelatedDataAssetsForm: () =>
, +})); + +const mockRelatedDataAssets = [ + { id: 'team-123', type: 'team', name: 'team1', displayName: 'team1' }, + { id: 'user-123', type: 'user', name: 'user1', displayName: 'user1' }, + { id: 'table-123', type: 'table', name: 'table1', displayName: 'table1' }, + { id: 'topic-123', type: 'topic', name: 'topic1', displayName: 'topic1' }, +]; +const mockOnRelatedDataAssetsUpdate = jest.fn(); + +jest.mock('utils/EntityUtils', () => ({ + getEntityName: jest + .fn() + .mockImplementation((entity) => entity.displayName || entity.name), +})); +jest.mock('utils/TableUtils', () => ({ + getEntityIcon: jest.fn(), +})); + +jest.mock('pages/TasksPage/shared/DescriptionTaskNew'); +jest.mock('pages/TasksPage/shared/DescriptionTask'); + +describe('RelatedDataAssets', () => { + it('should render', () => { + render( + , + { wrapper: MemoryRouter } + ); + + expect(screen.getByTestId('header-label')).toBeInTheDocument(); + expect(screen.getByText('label.data-asset-plural')).toBeInTheDocument(); + + expect(screen.getByTestId('edit-data-assets')).toBeInTheDocument(); + + expect(screen.getByTestId('data-assets-list-body')).toBeInTheDocument(); + + // should render the assets + expect(screen.getByTestId('table1')).toBeInTheDocument(); + expect(screen.getByTestId('topic1')).toBeInTheDocument(); + + // should not render the team type as it is not a data asset + expect(screen.queryByTestId('team1')).not.toBeInTheDocument(); + + // should not render the user type as it is not a data asset + expect(screen.queryByTestId('user1')).not.toBeInTheDocument(); + + // should not render the add data assets button + expect( + screen.queryByTestId('add-data-assets-button') + ).not.toBeInTheDocument(); + + // should not render the show more button + expect(screen.queryByTestId('show-more-button')).not.toBeInTheDocument(); + + // should not render the edit form + expect(screen.queryByTestId('dataAssetsForm')).not.toBeInTheDocument(); + }); + + it('should render the add data assets button if no relatedDataAssets', async () => { + render( + , + { wrapper: MemoryRouter } + ); + + expect( + await screen.findByTestId('add-data-assets-container') + ).toBeInTheDocument(); + + // should not render the edit button + expect(screen.queryByTestId('edit-data-assets')).not.toBeInTheDocument(); + }); + + it('should render the show more button if relatedDataAssets.length > 5', () => { + render( + , + { wrapper: MemoryRouter } + ); + + expect(screen.getByTestId('show-more')).toBeInTheDocument(); + }); + + it('should render the edit form when edit button is clicked', async () => { + render( + , + { wrapper: MemoryRouter } + ); + + expect(screen.queryByTestId('dataAssetsForm')).not.toBeInTheDocument(); + + // click on edit button + await act(async () => { + fireEvent.click(screen.getByTestId('edit-data-assets')); + }); + + expect(screen.getByTestId('dataAssetsForm')).toBeInTheDocument(); + }); + + it('should render the show less button when show more button is clicked', async () => { + render( + , + { wrapper: MemoryRouter } + ); + + // should not render the hidden assets + expect(screen.queryByTestId('table59')).not.toBeInTheDocument(); + expect(screen.queryByTestId('table60')).not.toBeInTheDocument(); + + // click on show more button + await act(async () => { + fireEvent.click(screen.getByTestId('show-more')); + }); + + expect(screen.getByTestId('show-less')).toBeInTheDocument(); + + // should render the hidden assets + expect(screen.getByTestId('table59')).toBeInTheDocument(); + expect(screen.getByTestId('table60')).toBeInTheDocument(); + }); + + it('should render the show more button when show less button is clicked', async () => { + render( + , + { wrapper: MemoryRouter } + ); + + // click on show more button + await act(async () => { + fireEvent.click(screen.getByTestId('show-more')); + }); + + // should render the hidden assets + expect(screen.getByTestId('table59')).toBeInTheDocument(); + expect(screen.getByTestId('table60')).toBeInTheDocument(); + + // click on show less button + await act(async () => { + fireEvent.click(screen.getByTestId('show-less')); + }); + + expect(screen.getByTestId('show-more')).toBeInTheDocument(); + + // should not render the hidden assets + expect(screen.queryByTestId('table59')).not.toBeInTheDocument(); + expect(screen.queryByTestId('table60')).not.toBeInTheDocument(); + }); + + it("should render nothing if user doesn't have permission and no related data assets", () => { + render( + , + { wrapper: MemoryRouter } + ); + + expect(screen.queryByTestId('header-label')).not.toBeInTheDocument(); + expect( + screen.queryByText('label.data-asset-plural') + ).not.toBeInTheDocument(); + + expect(screen.queryByTestId('edit-data-assets')).not.toBeInTheDocument(); + + expect( + screen.queryByTestId('data-assets-list-body') + ).not.toBeInTheDocument(); + + // should not render the add data assets button + expect( + screen.queryByTestId('add-data-assets-button') + ).not.toBeInTheDocument(); + + // should not render the show more button + expect(screen.queryByTestId('show-more-button')).not.toBeInTheDocument(); + + // should not render the edit form + expect(screen.queryByTestId('dataAssetsForm')).not.toBeInTheDocument(); + }); + + it("should not render the add data assets button if no relatedDataAssets and user doesn't have permission", () => { + render( + , + { wrapper: MemoryRouter } + ); + + expect( + screen.queryByTestId('add-data-assets-button') + ).not.toBeInTheDocument(); + }); + + it("should not render the edit data assets button if user doesn't have permission", () => { + render( + , + { wrapper: MemoryRouter } + ); + + expect(screen.queryByTestId('edit-data-assets')).not.toBeInTheDocument(); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssets.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssets.tsx new file mode 100644 index 000000000000..8de05dde0076 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssets.tsx @@ -0,0 +1,236 @@ +import { Button, Space, Typography } from 'antd'; +import { AxiosError } from 'axios'; +import { KnowledgePage } from 'interface/knowledge-center.interface'; +import { isEmpty } from 'lodash'; + +import ExpandableCard from 'components/common/ExpandableCard/ExpandableCard'; +import { + EditIconButton, + PlusIconButton, +} from 'components/common/IconButtons/EditIconButton'; +import { DataAssetOption } from 'components/DataAssets/DataAssetAsyncSelectList/DataAssetAsyncSelectList.interface'; +import { EntityReference } from 'generated/entity/type'; +import { getEntityName } from 'utils/EntityUtils'; +import { getEntityIcon } from 'utils/TableUtils'; +import { showErrorToast } from 'utils/ToastUtils'; +import entityUtilClassBase from 'utils/EntityUtilClassBase'; +import { FC, useCallback, useMemo, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Link } from 'react-router-dom'; +import { RelatedDataAssetsForm } from './RelatedDataAssetsForm'; + +interface RelatedDataAssetsProps { + hasPermission: boolean; + relatedDataAssets: KnowledgePage['relatedEntities']; + onRelatedDataAssetsUpdate?: ( + data: KnowledgePage['relatedEntities'] + ) => Promise; +} + +const RelatedDataAssets: FC = ({ + relatedDataAssets = [], + onRelatedDataAssetsUpdate, + hasPermission, +}) => { + const { t } = useTranslation(); + const [isEdit, setIsEdit] = useState(false); + const [isShowMore, setIsShowMore] = useState(false); + + const { + filteredRelatedDataAssets, + defaultValue, + initialOptions, + restRelatedDataAssets, + } = useMemo(() => { + const { filteredRelatedDataAssets, restRelatedDataAssets } = + relatedDataAssets.reduce( + (acc, item) => { + // filter out team and user as they are not data assets + if (!['team', 'user'].includes(item.type)) { + acc.filteredRelatedDataAssets.push(item); + } else { + acc.restRelatedDataAssets.push(item); + } + + return acc; + }, + { + filteredRelatedDataAssets: [] as EntityReference[], + restRelatedDataAssets: [] as EntityReference[], + } + ); + + const initialOptions: DataAssetOption[] = filteredRelatedDataAssets.map( + (item) => { + return { + displayName: getEntityName(item), + reference: item, + label: getEntityName(item), + value: item.id, + }; + } + ); + + const defaultValue = filteredRelatedDataAssets.map((item) => item.id); + + return { + initialOptions, + defaultValue, + filteredRelatedDataAssets, + restRelatedDataAssets, + }; + }, [relatedDataAssets]); + + const { visibleDataAssets, hiddenDataAssets } = useMemo(() => { + const visibleDataAssets = filteredRelatedDataAssets.slice(0, 5); + const hiddenDataAssets = filteredRelatedDataAssets.slice(5); + + return { visibleDataAssets, hiddenDataAssets }; + }, [filteredRelatedDataAssets]); + + const showMoreLessElement = useMemo(() => { + return ( + setIsShowMore(!isShowMore)}> + {isShowMore ? t('label.show-less') : t('label.show-more')} + + ); + }, [isShowMore, hiddenDataAssets]); + + const getDataAssetListing = useCallback((dataAssets: EntityReference[]) => { + return dataAssets.map((item) => { + return ( +
+
+ +
+ } + title={getEntityName(item)} + type="text"> + + {getEntityName(item)} + + + +
+
+ ); + }); + }, []); + + const handleAssetsUpdate = useCallback( + async (updatedAssets: DataAssetOption[]) => { + try { + const updatedRelatedDataAssets = updatedAssets.map( + (item) => item.reference + ); + await onRelatedDataAssetsUpdate?.([ + ...restRelatedDataAssets, + ...updatedRelatedDataAssets, + ]); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setIsEdit(false); + } + }, + [onRelatedDataAssetsUpdate, restRelatedDataAssets] + ); + + const header = useMemo(() => { + return ( + + + {t('label.data-asset-plural')} + + {!isEdit && + hasPermission && + (isEmpty(filteredRelatedDataAssets) ? ( + setIsEdit(true)} + /> + ) : ( + setIsEdit(true)} + /> + ))} + + ); + }, [isEdit, hasPermission, filteredRelatedDataAssets]); + + const content = useMemo(() => { + if (isEdit) { + return ( + setIsEdit(false)} + onSubmit={handleAssetsUpdate} + /> + ); + } + + return isEmpty(filteredRelatedDataAssets) ? null : ( +
+ {getDataAssetListing(visibleDataAssets)} + {isShowMore && getDataAssetListing(hiddenDataAssets)} + {!isEmpty(hiddenDataAssets) && showMoreLessElement} +
+ ); + }, [ + isEdit, + hasPermission, + filteredRelatedDataAssets, + isShowMore, + visibleDataAssets, + hiddenDataAssets, + ]); + + if (isEmpty(filteredRelatedDataAssets) && !hasPermission) { + return null; + } + + return ( + + {content} + + ); +}; + +export default RelatedDataAssets; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssetsForm.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssetsForm.test.tsx new file mode 100644 index 000000000000..f9ac897b798c --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssetsForm.test.tsx @@ -0,0 +1,60 @@ +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; + +import { DataAssetOption } from 'components/DataAssets/DataAssetAsyncSelectList/DataAssetAsyncSelectList.interface'; +import { RelatedDataAssetsForm } from './RelatedDataAssetsForm'; +jest.mock( + 'components/DataAssets/DataAssetAsyncSelectList/DataAssetAsyncSelectList', + () => jest.fn(() =>
) +); + +const mockCancel = jest.fn(); +const mockSubmit = jest.fn(); +const mockDefaultValues: string[] = []; +const mockInitialOptions: DataAssetOption[] = []; + +describe('RelatedDataAssetsForm', () => { + it('should render', () => { + render( + + ); + + expect(screen.getByTestId('DataAssetAsyncSelectList')).toBeInTheDocument(); + expect(screen.getByTestId('cancelDataAssets')).toBeInTheDocument(); + expect(screen.getByTestId('saveDataAssets')).toBeInTheDocument(); + }); + + it('should call onCancel when cancel button is clicked', () => { + render( + + ); + fireEvent.click(screen.getByTestId('cancelDataAssets')); + + expect(mockCancel).toHaveBeenCalled(); + }); + + it('should call onSubmit when save button is clicked', async () => { + render( + + ); + fireEvent.click(screen.getByTestId('saveDataAssets')); + + await waitFor(() => { + expect(mockSubmit).toHaveBeenCalled(); + }); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssetsForm.tsx b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssetsForm.tsx new file mode 100644 index 000000000000..fd6dd45e1810 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/KnowledgeCenter/RelatedDataAssets/RelatedDataAssetsForm.tsx @@ -0,0 +1,84 @@ +import { CheckOutlined, CloseOutlined } from '@ant-design/icons'; +import { Button, Col, Form, Row, Space } from 'antd'; +import DataAssetAsyncSelectList from 'components/DataAssets/DataAssetAsyncSelectList/DataAssetAsyncSelectList'; +import { DataAssetOption } from 'components/DataAssets/DataAssetAsyncSelectList/DataAssetAsyncSelectList.interface'; + +import { FC, useState } from 'react'; +import i18n from 'utils/i18next/LocalUtil'; + +interface RelatedDataAssetsFormProps { + defaultValue?: string[]; + initialOptions?: DataAssetOption[]; + onSubmit: (option: DataAssetOption[]) => Promise; + onCancel: () => void; +} + +const knowledgeCenterQueryFilter = { + query: { + bool: { + must_not: [ + { term: { entityType: 'dataProduct' } }, + { term: { entityType: 'domain' } }, + { match: { isBot: true } }, + ], + }, + }, +}; + +export const RelatedDataAssetsForm: FC = ({ + defaultValue, + initialOptions, + onCancel, + onSubmit, +}) => { + const { t } = i18n; + const [form] = Form.useForm(); + const [isSubmitLoading, setIsSubmitLoading] = useState(false); + + return ( +
{ + setIsSubmitLoading(true); + onSubmit(data['dataAssets']); + }}> + + + +

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%0D-_cxgFN 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 G(_-6%z6pyeyUxJ_pH*U`LAJ+ZJ4h^x;j6RN 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