├── .editorconfig
├── .github
├── CODEOWNERS
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── config.yml
│ └── feature_request.md
├── PULL_REQUEST_TEMPLATE.md
├── dependabot.yml
├── release-drafter.yaml
└── workflows
│ ├── cve.yaml
│ ├── main-build.yaml
│ ├── release-build.yaml
│ ├── release-drafter.yaml
│ ├── run-playwright-tests.yml
│ ├── run-pr-tests.yaml
│ ├── sonar-backend.yaml
│ └── sonar-frontend.yaml
├── .gitignore
├── .prettierignore
├── .prettierrc.json
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── SECURITY.md
├── build.gradle
├── buildSrc
├── build.gradle
├── settings.gradle
└── src
│ └── main
│ └── groovy
│ └── org
│ └── opendatadiscovery
│ └── internal
│ └── plugin
│ ├── Constants.groovy
│ ├── JooqGenerateExtension.groovy
│ ├── JooqGeneratePlugin.groovy
│ ├── JooqGenerateTask.groovy
│ └── JooqGeneratorStrategy.groovy
├── config
└── checkstyle
│ ├── checkstyle.xml
│ └── suppressions.xml
├── docker
├── .env
├── README.md
├── config
│ ├── collector_config.yaml
│ ├── dump.sql
│ └── injector
│ │ ├── datasources
│ │ └── datasources.json
│ │ └── samples
│ │ ├── 01_airflow_ingestion.json
│ │ ├── 02_bookshop_datalake_ingestion.json
│ │ ├── 03_bookshop_tr_ingestion.json
│ │ ├── 04_etl_ingestion.json
│ │ ├── 05_kafka_del_ingestion.json
│ │ ├── 06_kinesis_consumer_ingestion.json
│ │ ├── 07_kinesis_ingestion.json
│ │ ├── 08_s3_ingestion.json
│ │ ├── 09_snowflake_ingestion.json
│ │ └── 10_ge_ingestion.json
├── demo.yaml
└── examples
│ ├── .env
│ ├── README.md
│ ├── config
│ ├── alert_rules.yaml
│ ├── alertmanager.yaml
│ ├── otel_collector.yaml
│ └── prometheus.yaml
│ ├── ldap.yaml
│ ├── ldap
│ └── sample.ldif
│ └── oauth2.yaml
├── gradle.properties
├── gradle
├── libs.versions.toml
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── images
├── amazon-athena-logo.png
├── amazon-glue-logo.jpg
├── amazon-redshift-logo.jpg
├── amazon-sagemaker-logo.jpg
├── apache-airflow-logo.jpg
├── apache-kafka-logo.jpg
├── apache-spark-logo.png
├── bigquery-logo.png
├── cassandra.png
├── clickhouse-logo.png
├── cube-logo.svg
├── dbt-logo.jpg
├── dvc-logo.jpg
├── dynamodb-logo.png
├── elasticsearch.png
├── feast.png
├── great-expectations-logo.jpg
├── hive.png
├── kinesis.png
├── kubeflow-logo.jpg
├── mariadb.svg
├── mongodb.png
├── mssql.png
├── mysql-logo.jpg
├── neo4j.png
├── odbc.png
├── odd-data-catalog-ui.jpg
├── open-data-discovery-platform-logo.png
├── open-data-discovery-platform-odd-logo.png
├── oracle-logo.jpg
├── postgresql-logo.jpg
├── presto-logo.svg
├── quicksight.png
├── s3.png
├── sagemaker-featurestore.png
├── sagemaker.png
├── snowflake-logo.jpg
├── sqs.png
├── superset.svg
├── tableau-logo.png
├── tarantool.png
├── trino-og.png
└── vertica-logo.svg
├── injector
├── inject.py
└── start.sh
├── odd-platform-api-contract
├── build.gradle
└── templates
│ ├── api.mustache
│ └── formParams.mustache
├── odd-platform-api
├── build.gradle
└── src
│ ├── main
│ ├── java
│ │ └── org
│ │ │ └── opendatadiscovery
│ │ │ └── oddplatform
│ │ │ ├── ODDPlatformApplication.java
│ │ │ ├── annotation
│ │ │ ├── ReactiveCustomTransactional.java
│ │ │ └── ReactiveTransactional.java
│ │ │ ├── auth
│ │ │ ├── AuthIdentityProvider.java
│ │ │ ├── AuthIdentityProviderImpl.java
│ │ │ ├── ODDLDAPProperties.java
│ │ │ ├── ODDOAuth2Properties.java
│ │ │ ├── ODDOAuth2PropertiesConverter.java
│ │ │ ├── Provider.java
│ │ │ ├── S2sTokenProvider.java
│ │ │ ├── authorization
│ │ │ │ └── AuthorizationCustomizer.java
│ │ │ ├── condition
│ │ │ │ ├── AbstractProviderCondition.java
│ │ │ │ ├── AuthorizationManagerCondition.java
│ │ │ │ ├── AzureCondition.java
│ │ │ │ ├── CognitoCondition.java
│ │ │ │ ├── CustomProviderCondition.java
│ │ │ │ ├── GithubCondition.java
│ │ │ │ ├── GoogleCondition.java
│ │ │ │ └── ODDIAMCondition.java
│ │ │ ├── filter
│ │ │ │ ├── AbstractIngestionFilter.java
│ │ │ │ ├── IngestionDataEntitiesFilter.java
│ │ │ │ ├── IngestionDataSourceFilter.java
│ │ │ │ └── S2sAuthenticationFilter.java
│ │ │ ├── handler
│ │ │ │ ├── OAuthUserHandler.java
│ │ │ │ └── impl
│ │ │ │ │ ├── AbstractOIDCUserHandler.java
│ │ │ │ │ ├── AzureUserHandler.java
│ │ │ │ │ ├── CognitoUserHandler.java
│ │ │ │ │ ├── CustomOIDCUserHandler.java
│ │ │ │ │ ├── GithubUserHandler.java
│ │ │ │ │ ├── GoogleUserHandler.java
│ │ │ │ │ └── ODDIAMUserHandler.java
│ │ │ ├── logout
│ │ │ │ ├── AzureLogoutSuccessHandler.java
│ │ │ │ ├── CognitoLogoutSuccessHandler.java
│ │ │ │ ├── GithubLogoutSuccessHandler.java
│ │ │ │ ├── GoogleLogoutSuccessHandler.java
│ │ │ │ ├── LogoutSuccessHandler.java
│ │ │ │ ├── OAuthLogoutSuccessHandler.java
│ │ │ │ └── ODDIAMLogoutSuccessHandler.java
│ │ │ ├── manager
│ │ │ │ ├── AuthorizationManagerType.java
│ │ │ │ ├── ReactiveAuthorizationManagerFactory.java
│ │ │ │ ├── ReactiveNonContextPermissionAuthorizationManager.java
│ │ │ │ ├── ReactiveResourcePermissionAuthorizationManager.java
│ │ │ │ └── extractor
│ │ │ │ │ ├── AlertResourceExtractor.java
│ │ │ │ │ ├── DatasetFieldResourceExtractor.java
│ │ │ │ │ ├── ResourceExtractor.java
│ │ │ │ │ └── URLResourceExtractor.java
│ │ │ ├── mapper
│ │ │ │ └── GrantedAuthorityExtractor.java
│ │ │ ├── session
│ │ │ │ ├── JooqSessionRepository.java
│ │ │ │ ├── PostgreSQLSessionHousekeepingJob.java
│ │ │ │ ├── PostgreSQLSessionHousekeepingJobHandler.java
│ │ │ │ └── SessionConstants.java
│ │ │ └── util
│ │ │ │ ├── SecurityConstants.java
│ │ │ │ ├── SecurityRule.java
│ │ │ │ └── UriUtils.java
│ │ │ ├── config
│ │ │ ├── AdditionalLinkConfiguration.java
│ │ │ ├── CORSConfiguration.java
│ │ │ ├── DataSourceConfiguration.java
│ │ │ ├── DisabledAuthSecurityConfiguration.java
│ │ │ ├── LDAPSecurityConfiguration.java
│ │ │ ├── LoginFormSecurityConfiguration.java
│ │ │ ├── MetricExporterConfiguration.java
│ │ │ ├── MinioConfig.java
│ │ │ ├── OAuthSecurityConfiguration.java
│ │ │ ├── ODDPlatformConfiguration.java
│ │ │ ├── R2DBCConfiguration.java
│ │ │ ├── ResourceProviderWebFilter.java
│ │ │ ├── SchedulingConfiguration.java
│ │ │ ├── SessionConfiguration.java
│ │ │ ├── SlackMessageGeneratorCondition.java
│ │ │ ├── SlackMessageGeneratorConfiguration.java
│ │ │ ├── SwaggerUIConfiguration.java
│ │ │ ├── WebClientConfiguration.java
│ │ │ └── properties
│ │ │ │ ├── AdditionalLinkProperties.java
│ │ │ │ ├── GenAIProperties.java
│ │ │ │ └── MetricExporterProperties.java
│ │ │ ├── controller
│ │ │ ├── ActivityController.java
│ │ │ ├── AlertController.java
│ │ │ ├── AlertManagerController.java
│ │ │ ├── AppInfoController.java
│ │ │ ├── CollectorController.java
│ │ │ ├── DataEntityAttachmentController.java
│ │ │ ├── DataEntityController.java
│ │ │ ├── DataEntityRunController.java
│ │ │ ├── DataQualityController.java
│ │ │ ├── DataQualityRunsController.java
│ │ │ ├── DataSourceController.java
│ │ │ ├── DatasetController.java
│ │ │ ├── DatasetFieldController.java
│ │ │ ├── DirectoryController.java
│ │ │ ├── FeatureController.java
│ │ │ ├── GenAIController.java
│ │ │ ├── IdentityController.java
│ │ │ ├── IngestionController.java
│ │ │ ├── IntegrationController.java
│ │ │ ├── LinksController.java
│ │ │ ├── MetadataFieldController.java
│ │ │ ├── NamespaceController.java
│ │ │ ├── OwnerAssociationRequestController.java
│ │ │ ├── OwnerController.java
│ │ │ ├── PermissionController.java
│ │ │ ├── PolicyController.java
│ │ │ ├── QueryExampleController.java
│ │ │ ├── ReferenceDataController.java
│ │ │ ├── RelationshipController.java
│ │ │ ├── RoleController.java
│ │ │ ├── SearchController.java
│ │ │ ├── TagController.java
│ │ │ ├── TermController.java
│ │ │ ├── TitleController.java
│ │ │ └── exception
│ │ │ │ └── ControllerAdvice.java
│ │ │ ├── datacollaboration
│ │ │ ├── client
│ │ │ │ ├── SlackAPIClient.java
│ │ │ │ └── SlackAPIClientImpl.java
│ │ │ ├── config
│ │ │ │ ├── ConditionalOnDataCollaboration.java
│ │ │ │ ├── DataCollaborationConfiguration.java
│ │ │ │ ├── DataCollaborationFeatureCondition.java
│ │ │ │ └── DataCollaborationProperties.java
│ │ │ ├── controller
│ │ │ │ ├── DataCollaborationController.java
│ │ │ │ ├── EventApiController.java
│ │ │ │ └── parser
│ │ │ │ │ ├── ParseResult.java
│ │ │ │ │ └── SlackEventParser.java
│ │ │ ├── dto
│ │ │ │ ├── DataEntityMessageContext.java
│ │ │ │ ├── MessageChannelDto.java
│ │ │ │ ├── MessageEventActionDto.java
│ │ │ │ ├── MessageEventDto.java
│ │ │ │ ├── MessageEventPayload.java
│ │ │ │ ├── MessageEventRequest.java
│ │ │ │ ├── MessageEventStateDto.java
│ │ │ │ ├── MessageProviderDto.java
│ │ │ │ ├── MessageProviderIdentity.java
│ │ │ │ ├── MessageStateDto.java
│ │ │ │ └── MessageUserDto.java
│ │ │ ├── exception
│ │ │ │ ├── DataCollaborationMessageEventProcessingException.java
│ │ │ │ ├── DataCollaborationMessageSenderException.java
│ │ │ │ └── SlackAPIException.java
│ │ │ ├── job
│ │ │ │ ├── DataCollaborationMessageEventProcessor.java
│ │ │ │ ├── DataCollaborationMessageEventProcessorStarter.java
│ │ │ │ ├── DataCollaborationMessageSenderJob.java
│ │ │ │ └── DataCollaborationMessageSenderStarter.java
│ │ │ ├── repository
│ │ │ │ ├── DataCollaborationRepository.java
│ │ │ │ ├── DataCollaborationRepositoryFactory.java
│ │ │ │ └── DataCollaborationRepositoryImpl.java
│ │ │ └── service
│ │ │ │ ├── DataCollaborationService.java
│ │ │ │ ├── DataCollaborationServiceImpl.java
│ │ │ │ ├── MessageProviderClient.java
│ │ │ │ ├── MessageProviderClientFactory.java
│ │ │ │ ├── MessageProviderClientFactoryImpl.java
│ │ │ │ ├── MessageProviderEventHandler.java
│ │ │ │ ├── MessageProviderEventHandlerFactory.java
│ │ │ │ ├── MessageProviderEventHandlerFactoryImpl.java
│ │ │ │ ├── MessageProviderUserProfileResolver.java
│ │ │ │ ├── MessageProviderUserProfileResolverImpl.java
│ │ │ │ ├── NoOpMessageProviderUserProfileResolver.java
│ │ │ │ ├── SlackMessageProviderClient.java
│ │ │ │ └── SlackMessageProviderEventHandler.java
│ │ │ ├── dto
│ │ │ ├── AssociatedOwnerDto.java
│ │ │ ├── CollectorDto.java
│ │ │ ├── DataEntityClassDto.java
│ │ │ ├── DataEntityDetailsDto.java
│ │ │ ├── DataEntityDimensionsDto.java
│ │ │ ├── DataEntityDomainInfoDto.java
│ │ │ ├── DataEntityDto.java
│ │ │ ├── DataEntityFilledField.java
│ │ │ ├── DataEntityGroupItemDto.java
│ │ │ ├── DataEntityHighlightDto.java
│ │ │ ├── DataEntitySpecificAttributesDelta.java
│ │ │ ├── DataEntityStatusDto.java
│ │ │ ├── DataEntityTotalDelta.java
│ │ │ ├── DataEntityTypeDto.java
│ │ │ ├── DataQualityCategory.java
│ │ │ ├── DataQualityTestFiltersDto.java
│ │ │ ├── DataSourceDto.java
│ │ │ ├── DatasetFieldDto.java
│ │ │ ├── DatasetFieldTermsDto.java
│ │ │ ├── DatasetFieldWithTagsDto.java
│ │ │ ├── DatasetStructureDelta.java
│ │ │ ├── DatasetStructureDto.java
│ │ │ ├── DatasetTestReportDto.java
│ │ │ ├── EnumValueDto.java
│ │ │ ├── EnumValueOrigin.java
│ │ │ ├── ErdRelationshipDetailsDto.java
│ │ │ ├── FacetStateDto.java
│ │ │ ├── FacetType.java
│ │ │ ├── FileDto.java
│ │ │ ├── FileUploadStatus.java
│ │ │ ├── LookupTableColumnDto.java
│ │ │ ├── LookupTableColumnTypes.java
│ │ │ ├── LookupTableDto.java
│ │ │ ├── MessageDto.java
│ │ │ ├── OwnerAssociationRequestActivityDto.java
│ │ │ ├── OwnerAssociationRequestActivityType.java
│ │ │ ├── OwnerAssociationRequestDto.java
│ │ │ ├── OwnerDto.java
│ │ │ ├── OwnershipDto.java
│ │ │ ├── OwnershipPair.java
│ │ │ ├── QueryExampleDto.java
│ │ │ ├── ReferenceTableColumnDto.java
│ │ │ ├── ReferenceTableDto.java
│ │ │ ├── RelationshipDetailsDto.java
│ │ │ ├── RelationshipDto.java
│ │ │ ├── RelationshipStatusDto.java
│ │ │ ├── RelationshipTypeDto.java
│ │ │ ├── RoleDto.java
│ │ │ ├── SLA.java
│ │ │ ├── SearchFilterDto.java
│ │ │ ├── SearchFilterId.java
│ │ │ ├── TagDto.java
│ │ │ ├── TagOrigin.java
│ │ │ ├── TestStatusWithSeverityDto.java
│ │ │ ├── TokenDto.java
│ │ │ ├── activity
│ │ │ │ ├── ActivityContextInfo.java
│ │ │ │ ├── ActivityCreateEvent.java
│ │ │ │ ├── ActivityDto.java
│ │ │ │ ├── ActivityEventTypeDto.java
│ │ │ │ ├── AlertHaltConfigActivityStateDto.java
│ │ │ │ ├── AlertReceivedActivityStateDto.java
│ │ │ │ ├── AlertStatusUpdatedActivityStateDto.java
│ │ │ │ ├── BusinessNameActivityStateDto.java
│ │ │ │ ├── CustomGroupActivityStateDto.java
│ │ │ │ ├── CustomGroupEntityActivityStateDto.java
│ │ │ │ ├── DataEntityCreatedActivityStateDto.java
│ │ │ │ ├── DataEntityStatusUpdatedDto.java
│ │ │ │ ├── DatasetFieldEnumValuesActivityStateDto.java
│ │ │ │ ├── DatasetFieldInformationActivityStateDto.java
│ │ │ │ ├── DatasetFieldTagActivityStateDto.java
│ │ │ │ ├── DatasetFieldTermsActivityStateDto.java
│ │ │ │ ├── DatasetFieldValuesActivityStateDto.java
│ │ │ │ ├── DescriptionActivityStateDto.java
│ │ │ │ ├── OwnershipActivityStateDto.java
│ │ │ │ ├── TagActivityStateDto.java
│ │ │ │ └── TermActivityStateDto.java
│ │ │ ├── alert
│ │ │ │ ├── AlertDto.java
│ │ │ │ ├── AlertStatusEnum.java
│ │ │ │ ├── AlertTypeEnum.java
│ │ │ │ └── ExternalAlert.java
│ │ │ ├── attributes
│ │ │ │ ├── AttributeNames.java
│ │ │ │ ├── DataConsumerAttributes.java
│ │ │ │ ├── DataEntityAttributes.java
│ │ │ │ ├── DataEntityGroupAttributes.java
│ │ │ │ ├── DataInputAttributes.java
│ │ │ │ ├── DataQualityTestAttributes.java
│ │ │ │ ├── DataSetAttributes.java
│ │ │ │ ├── DataTransformerAttributes.java
│ │ │ │ └── LinkedUrlAttribute.java
│ │ │ ├── dataset
│ │ │ │ └── DatasetVersionFields.java
│ │ │ ├── ingestion
│ │ │ │ ├── DataEntityIngestionDto.java
│ │ │ │ ├── EnrichedDataEntityIngestionDto.java
│ │ │ │ ├── HashableDatasetField.java
│ │ │ │ ├── IngestionMetricLabelsDto.java
│ │ │ │ ├── IngestionMetricPointDto.java
│ │ │ │ ├── IngestionMetricsRequest.java
│ │ │ │ ├── IngestionRequest.java
│ │ │ │ └── IngestionTaskRun.java
│ │ │ ├── lineage
│ │ │ │ ├── DataEntityGroupLineageDto.java
│ │ │ │ ├── DataEntityLineageDto.java
│ │ │ │ ├── DataEntityLineageStreamDto.java
│ │ │ │ ├── LineageDepth.java
│ │ │ │ ├── LineageNodeDto.java
│ │ │ │ └── LineageStreamKind.java
│ │ │ ├── metadata
│ │ │ │ ├── DatasetFieldMetadataDto.java
│ │ │ │ ├── MetadataBinding.java
│ │ │ │ ├── MetadataDto.java
│ │ │ │ ├── MetadataInfo.java
│ │ │ │ ├── MetadataKey.java
│ │ │ │ ├── MetadataOrigin.java
│ │ │ │ └── MetadataTypeEnum.java
│ │ │ ├── metric
│ │ │ │ ├── ExternalMetricLastValueDto.java
│ │ │ │ ├── MetricLabelValueDto.java
│ │ │ │ ├── MetricSeriesDto.java
│ │ │ │ ├── MetricSeriesValueType.java
│ │ │ │ ├── SystemMetricLabel.java
│ │ │ │ └── prometheus
│ │ │ │ │ ├── PrometheusData.java
│ │ │ │ │ ├── PrometheusMetric.java
│ │ │ │ │ └── PrometheusResponse.java
│ │ │ ├── policy
│ │ │ │ ├── DataEntityPolicyResolverContext.java
│ │ │ │ ├── PolicyConditionDto.java
│ │ │ │ ├── PolicyConditionKeyDto.java
│ │ │ │ ├── PolicyConditionUnaryDto.java
│ │ │ │ ├── PolicyDto.java
│ │ │ │ ├── PolicyPermissionDto.java
│ │ │ │ ├── PolicyResourceDto.java
│ │ │ │ ├── PolicyStatementDto.java
│ │ │ │ ├── PolicyTypeDto.java
│ │ │ │ ├── QueryExamplePolicyResolverContext.java
│ │ │ │ └── TermPolicyResolverContext.java
│ │ │ ├── security
│ │ │ │ ├── UserDto.java
│ │ │ │ └── UserProviderRole.java
│ │ │ └── term
│ │ │ │ ├── DescriptionParsedTerms.java
│ │ │ │ ├── LinkedTermDto.java
│ │ │ │ ├── TermBaseInfoDto.java
│ │ │ │ ├── TermDetailsDto.java
│ │ │ │ ├── TermDto.java
│ │ │ │ ├── TermOwnershipDto.java
│ │ │ │ └── TermRefDto.java
│ │ │ ├── exception
│ │ │ ├── BadUserRequestException.java
│ │ │ ├── CascadeDeleteException.java
│ │ │ ├── DataEntityClassTypeValidationException.java
│ │ │ ├── DatabaseException.java
│ │ │ ├── ErrorCode.java
│ │ │ ├── ExceptionWithErrorCode.java
│ │ │ ├── GenAIException.java
│ │ │ ├── MinioException.java
│ │ │ ├── NotFoundException.java
│ │ │ ├── PrometheusException.java
│ │ │ └── UniqueConstraintException.java
│ │ │ ├── housekeeping
│ │ │ ├── HousekeepingJobManager.java
│ │ │ ├── config
│ │ │ │ └── HousekeepingTTLProperties.java
│ │ │ └── job
│ │ │ │ ├── ActivityEmptyPartitionsHousekeepingJob.java
│ │ │ │ ├── AlertHousekeepingJob.java
│ │ │ │ ├── DataEntityHousekeepingJob.java
│ │ │ │ ├── EmptyPartitionsHousekeepingJob.java
│ │ │ │ ├── HousekeepingJob.java
│ │ │ │ ├── MessageEmptyPartitionsHousekeepingJob.java
│ │ │ │ └── SearchFacetsHousekeepingJob.java
│ │ │ ├── integration
│ │ │ ├── IntegrationRegistry.java
│ │ │ ├── IntegrationRegistryFactory.java
│ │ │ ├── ResourceFilesIntegrationRegistry.java
│ │ │ ├── StaticArgumentMappingContext.java
│ │ │ ├── config
│ │ │ │ └── IntegrationConfiguration.java
│ │ │ ├── dto
│ │ │ │ ├── IntegrationCodeSnippetArgumentDto.java
│ │ │ │ ├── IntegrationCodeSnippetArgumentTypeEnum.java
│ │ │ │ ├── IntegrationCodeSnippetDto.java
│ │ │ │ ├── IntegrationContentBlockDto.java
│ │ │ │ ├── IntegrationOverviewDto.java
│ │ │ │ └── IntegrationPreviewDto.java
│ │ │ ├── mapper
│ │ │ │ └── IntegrationMapper.java
│ │ │ ├── serde
│ │ │ │ └── IntegrationDeserializer.java
│ │ │ └── service
│ │ │ │ ├── IntegrationService.java
│ │ │ │ └── IntegrationServiceImpl.java
│ │ │ ├── leaderelection
│ │ │ ├── PostgreSQLLeaderElectionManager.java
│ │ │ └── PostgreSQLLeaderElectionManagerImpl.java
│ │ │ ├── mapper
│ │ │ ├── ActivityMapper.java
│ │ │ ├── AlertHaltConfigMapper.java
│ │ │ ├── AlertMapper.java
│ │ │ ├── AssociatedOwnerMapper.java
│ │ │ ├── AssociatedOwnerMapperImpl.java
│ │ │ ├── CollectorMapper.java
│ │ │ ├── DataEntityMapper.java
│ │ │ ├── DataEntityMapperImpl.java
│ │ │ ├── DataEntityRunMapper.java
│ │ │ ├── DataEntityStatusMapper.java
│ │ │ ├── DataEntityTaskRunMapper.java
│ │ │ ├── DataEntityTaskRunMapperImpl.java
│ │ │ ├── DataQualityCategoryMapper.java
│ │ │ ├── DataQualityCategoryMapperImpl.java
│ │ │ ├── DataQualityMapper.java
│ │ │ ├── DataQualityTestFiltersMapper.java
│ │ │ ├── DataSourceMapper.java
│ │ │ ├── DataSourceSafeMapper.java
│ │ │ ├── DatasetFieldApiMapper.java
│ │ │ ├── DatasetFieldListMapper.java
│ │ │ ├── DatasetFieldListMapperImpl.java
│ │ │ ├── DatasetVersionMapper.java
│ │ │ ├── DateTimeMapper.java
│ │ │ ├── EnumValueMapper.java
│ │ │ ├── ErdRelationshipMapper.java
│ │ │ ├── FacetStateMapper.java
│ │ │ ├── FacetStateMapperImpl.java
│ │ │ ├── FileMapper.java
│ │ │ ├── GraphRelationshipMapper.java
│ │ │ ├── LineageMapper.java
│ │ │ ├── LinkMapper.java
│ │ │ ├── LookupTableDefinitionMapper.java
│ │ │ ├── LookupTableMapper.java
│ │ │ ├── LookupTableRowMapper.java
│ │ │ ├── MapperConfig.java
│ │ │ ├── MessageMapper.java
│ │ │ ├── MetadataFieldMapper.java
│ │ │ ├── MetadataFieldMapperImpl.java
│ │ │ ├── MetadataFieldValueMapper.java
│ │ │ ├── MetadataFieldValueMapperImpl.java
│ │ │ ├── MetricsMapper.java
│ │ │ ├── MetricsMapperImpl.java
│ │ │ ├── NamespaceMapper.java
│ │ │ ├── OwnerAssociationRequestActivityMapper.java
│ │ │ ├── OwnerAssociationRequestMapper.java
│ │ │ ├── OwnerMapper.java
│ │ │ ├── OwnershipMapper.java
│ │ │ ├── PolicyMapper.java
│ │ │ ├── PrometheusMetricsMapper.java
│ │ │ ├── PrometheusMetricsMapperImpl.java
│ │ │ ├── QueryExampleMapper.java
│ │ │ ├── RelationshipMapper.java
│ │ │ ├── RoleMapper.java
│ │ │ ├── SearchMapper.java
│ │ │ ├── SearchMapperImpl.java
│ │ │ ├── TablesDashboardMapper.java
│ │ │ ├── TablesDashboardMapperImpl.java
│ │ │ ├── TagMapper.java
│ │ │ ├── TermMapper.java
│ │ │ ├── TitleMapper.java
│ │ │ ├── TokenMapper.java
│ │ │ └── ingestion
│ │ │ │ ├── DataSourceIngestionMapper.java
│ │ │ │ ├── DataSourceIngestionMapperImpl.java
│ │ │ │ ├── DatasetERDRelationIngestionMapper.java
│ │ │ │ ├── DatasetERDRelationIngestionMapperImpl.java
│ │ │ │ ├── DatasetFieldIngestionMapper.java
│ │ │ │ ├── DatasetGraphRelationIngestionMapper.java
│ │ │ │ ├── DatasetGraphRelationIngestionMapperImpl.java
│ │ │ │ ├── DatasetRelationIngestionMapper.java
│ │ │ │ ├── DatasetRelationIngestionMapperImpl.java
│ │ │ │ ├── IngestionMapper.java
│ │ │ │ ├── IngestionMapperImpl.java
│ │ │ │ └── IngestionMetricsMapper.java
│ │ │ ├── notification
│ │ │ ├── NotificationSubscriber.java
│ │ │ ├── NotificationSubscriberStarter.java
│ │ │ ├── PGConnectionFactory.java
│ │ │ ├── config
│ │ │ │ ├── ConditionalOnNotifications.java
│ │ │ │ ├── EmailSenderProperties.java
│ │ │ │ ├── NotificationConfiguration.java
│ │ │ │ ├── NotificationsFeatureCondition.java
│ │ │ │ └── NotificationsProperties.java
│ │ │ ├── dto
│ │ │ │ ├── AlertNotificationMessage.java
│ │ │ │ ├── DecodedWALMessage.java
│ │ │ │ └── NotificationMessage.java
│ │ │ ├── exception
│ │ │ │ ├── NotificationSenderException.java
│ │ │ │ └── NotificationSubscriberException.java
│ │ │ ├── processor
│ │ │ │ ├── AlertNotificationMessageProcessor.java
│ │ │ │ ├── PostgresWALMessageProcessor.java
│ │ │ │ └── message
│ │ │ │ │ ├── MrkdwnUtils.java
│ │ │ │ │ ├── SlackEmojiUtils.java
│ │ │ │ │ └── SlackMessageGenerator.java
│ │ │ ├── sender
│ │ │ │ ├── AbstractNotificationSender.java
│ │ │ │ ├── EmailNotificationSender.java
│ │ │ │ ├── NotificationSender.java
│ │ │ │ ├── SlackNotificationSender.java
│ │ │ │ └── WebhookNotificationSender.java
│ │ │ ├── translator
│ │ │ │ ├── AlertNotificationMessageTranslator.java
│ │ │ │ └── NotificationMessageTranslator.java
│ │ │ └── wal
│ │ │ │ └── PostgresWALMessageDecoder.java
│ │ │ ├── partition
│ │ │ ├── PostgreSQLPartitionCreationJob.java
│ │ │ ├── manager
│ │ │ │ ├── AbstractPartitionManager.java
│ │ │ │ ├── ActivityTablePartitionManager.java
│ │ │ │ ├── MessageTablePartitionManager.java
│ │ │ │ ├── PartitionManager.java
│ │ │ │ └── TablePartition.java
│ │ │ └── service
│ │ │ │ ├── PartitionService.java
│ │ │ │ └── PartitionServiceImpl.java
│ │ │ ├── repository
│ │ │ ├── AlertHaltConfigRepository.java
│ │ │ ├── AlertHaltConfigRepositoryImpl.java
│ │ │ ├── mapper
│ │ │ │ ├── DataEntityDtoMapper.java
│ │ │ │ ├── DatasetFieldTermsDtoMapper.java
│ │ │ │ └── RoleRecordMapper.java
│ │ │ ├── metric
│ │ │ │ ├── ExternalMetricLastValueRepository.java
│ │ │ │ ├── ExternalMetricLastValueRepositoryImpl.java
│ │ │ │ ├── MetricEntityRepository.java
│ │ │ │ ├── MetricEntityRepositoryImpl.java
│ │ │ │ ├── MetricFamilyRepository.java
│ │ │ │ ├── MetricFamilyRepositoryImpl.java
│ │ │ │ ├── MetricLabelRepository.java
│ │ │ │ ├── MetricLabelRepositoryImpl.java
│ │ │ │ ├── MetricLabelValueRepository.java
│ │ │ │ ├── MetricLabelValueRepositoryImpl.java
│ │ │ │ ├── MetricPointRepository.java
│ │ │ │ ├── MetricPointRepositoryImpl.java
│ │ │ │ ├── MetricSeriesRepository.java
│ │ │ │ └── MetricSeriesRepositoryImpl.java
│ │ │ ├── reactive
│ │ │ │ ├── DataEntityDescriptionUnhandledTermRepository.java
│ │ │ │ ├── DataEntityDescriptionUnhandledTermRepositoryImpl.java
│ │ │ │ ├── DatasetFieldDescriptionUnhandledTermRepository.java
│ │ │ │ ├── DatasetFieldDescriptionUnhandledTermRepositoryImpl.java
│ │ │ │ ├── FileRepository.java
│ │ │ │ ├── FileRepositoryImpl.java
│ │ │ │ ├── LinkRepository.java
│ │ │ │ ├── LinkRepositoryImpl.java
│ │ │ │ ├── ReactiveAbstractCRUDRepository.java
│ │ │ │ ├── ReactiveAbstractSoftDeleteCRUDRepository.java
│ │ │ │ ├── ReactiveActivityRepository.java
│ │ │ │ ├── ReactiveActivityRepositoryImpl.java
│ │ │ │ ├── ReactiveAlertRepository.java
│ │ │ │ ├── ReactiveAlertRepositoryImpl.java
│ │ │ │ ├── ReactiveCRUDRepository.java
│ │ │ │ ├── ReactiveCollectorRepository.java
│ │ │ │ ├── ReactiveCollectorRepositoryImpl.java
│ │ │ │ ├── ReactiveDataEntityFilledRepository.java
│ │ │ │ ├── ReactiveDataEntityFilledRepositoryImpl.java
│ │ │ │ ├── ReactiveDataEntityQueryExampleRelationRepository.java
│ │ │ │ ├── ReactiveDataEntityQueryExampleRelationRepositoryImpl.java
│ │ │ │ ├── ReactiveDataEntityRelationshipRepository.java
│ │ │ │ ├── ReactiveDataEntityRelationshipRepositoryImpl.java
│ │ │ │ ├── ReactiveDataEntityRepository.java
│ │ │ │ ├── ReactiveDataEntityRepositoryImpl.java
│ │ │ │ ├── ReactiveDataEntityStatisticsRepository.java
│ │ │ │ ├── ReactiveDataEntityStatisticsRepositoryImpl.java
│ │ │ │ ├── ReactiveDataEntityTaskRunRepository.java
│ │ │ │ ├── ReactiveDataEntityTaskRunRepositoryImpl.java
│ │ │ │ ├── ReactiveDataQualityRepository.java
│ │ │ │ ├── ReactiveDataQualityRepositoryImpl.java
│ │ │ │ ├── ReactiveDataQualityRunsRepository.java
│ │ │ │ ├── ReactiveDataQualityRunsRepositoryImpl.java
│ │ │ │ ├── ReactiveDataQualityTestRelationRepository.java
│ │ │ │ ├── ReactiveDataQualityTestRelationRepositoryImpl.java
│ │ │ │ ├── ReactiveDataSourceRepository.java
│ │ │ │ ├── ReactiveDataSourceRepositoryImpl.java
│ │ │ │ ├── ReactiveDatasetFieldMetadataValueRepository.java
│ │ │ │ ├── ReactiveDatasetFieldMetadataValueRepositoryImpl.java
│ │ │ │ ├── ReactiveDatasetFieldRepository.java
│ │ │ │ ├── ReactiveDatasetFieldRepositoryImpl.java
│ │ │ │ ├── ReactiveDatasetStructureRepository.java
│ │ │ │ ├── ReactiveDatasetStructureRepositoryImpl.java
│ │ │ │ ├── ReactiveDatasetVersionRepository.java
│ │ │ │ ├── ReactiveDatasetVersionRepositoryImpl.java
│ │ │ │ ├── ReactiveERDRelationshipsRepository.java
│ │ │ │ ├── ReactiveERDRelationshipsRepositoryImpl.java
│ │ │ │ ├── ReactiveEnumValueRepository.java
│ │ │ │ ├── ReactiveEnumValueRepositoryImpl.java
│ │ │ │ ├── ReactiveGraphRelationshipsRepository.java
│ │ │ │ ├── ReactiveGraphRelationshipsRepositoryImpl.java
│ │ │ │ ├── ReactiveGroupEntityRelationRepository.java
│ │ │ │ ├── ReactiveGroupEntityRelationRepositoryImpl.java
│ │ │ │ ├── ReactiveGroupParentGroupRelationRepository.java
│ │ │ │ ├── ReactiveGroupParentGroupRelationRepositoryImpl.java
│ │ │ │ ├── ReactiveLineageRepository.java
│ │ │ │ ├── ReactiveLineageRepositoryImpl.java
│ │ │ │ ├── ReactiveLookupTableDefinitionRepository.java
│ │ │ │ ├── ReactiveLookupTableDefinitionRepositoryImpl.java
│ │ │ │ ├── ReactiveLookupTableRepository.java
│ │ │ │ ├── ReactiveLookupTableRepositoryImpl.java
│ │ │ │ ├── ReactiveLookupTableSearchEntrypointRepository.java
│ │ │ │ ├── ReactiveLookupTableSearchEntrypointRepositoryImpl.java
│ │ │ │ ├── ReactiveMessageRepository.java
│ │ │ │ ├── ReactiveMessageRepositoryImpl.java
│ │ │ │ ├── ReactiveMetadataFieldRepository.java
│ │ │ │ ├── ReactiveMetadataFieldRepositoryImpl.java
│ │ │ │ ├── ReactiveMetadataFieldValueRepository.java
│ │ │ │ ├── ReactiveMetadataFieldValueRepositoryImpl.java
│ │ │ │ ├── ReactiveNamespaceRepository.java
│ │ │ │ ├── ReactiveNamespaceRepositoryImpl.java
│ │ │ │ ├── ReactiveOwnerAssociationRequestActivityRepository.java
│ │ │ │ ├── ReactiveOwnerAssociationRequestActivityRepositoryImpl.java
│ │ │ │ ├── ReactiveOwnerAssociationRequestRepository.java
│ │ │ │ ├── ReactiveOwnerAssociationRequestRepositoryImpl.java
│ │ │ │ ├── ReactiveOwnerRepository.java
│ │ │ │ ├── ReactiveOwnerRepositoryImpl.java
│ │ │ │ ├── ReactiveOwnerToRoleRepository.java
│ │ │ │ ├── ReactiveOwnerToRoleRepositoryImpl.java
│ │ │ │ ├── ReactiveOwnershipRepository.java
│ │ │ │ ├── ReactiveOwnershipRepositoryImpl.java
│ │ │ │ ├── ReactivePolicyRepository.java
│ │ │ │ ├── ReactivePolicyRepositoryImpl.java
│ │ │ │ ├── ReactiveQueryExampleRepository.java
│ │ │ │ ├── ReactiveQueryExampleRepositoryImpl.java
│ │ │ │ ├── ReactiveQueryExampleSearchEntrypointRepository.java
│ │ │ │ ├── ReactiveQueryExampleSearchEntrypointRepositoryImpl.java
│ │ │ │ ├── ReactiveRelationshipsRepository.java
│ │ │ │ ├── ReactiveRelationshipsRepositoryImpl.java
│ │ │ │ ├── ReactiveRoleRepository.java
│ │ │ │ ├── ReactiveRoleRepositoryImpl.java
│ │ │ │ ├── ReactiveRoleToPolicyRepository.java
│ │ │ │ ├── ReactiveRoleToPolicyRepositoryImpl.java
│ │ │ │ ├── ReactiveSearchEntrypointRepository.java
│ │ │ │ ├── ReactiveSearchEntrypointRepositoryImpl.java
│ │ │ │ ├── ReactiveSearchFacetRepository.java
│ │ │ │ ├── ReactiveSearchFacetRepositoryImpl.java
│ │ │ │ ├── ReactiveTagRepository.java
│ │ │ │ ├── ReactiveTagRepositoryImpl.java
│ │ │ │ ├── ReactiveTermOwnershipRepository.java
│ │ │ │ ├── ReactiveTermOwnershipRepositoryImpl.java
│ │ │ │ ├── ReactiveTermQueryExampleRelationRepository.java
│ │ │ │ ├── ReactiveTermQueryExampleRelationRepositoryImpl.java
│ │ │ │ ├── ReactiveTermRepository.java
│ │ │ │ ├── ReactiveTermRepositoryImpl.java
│ │ │ │ ├── ReactiveTermSearchEntrypointRepository.java
│ │ │ │ ├── ReactiveTermSearchEntrypointRepositoryImpl.java
│ │ │ │ ├── ReactiveTitleRepository.java
│ │ │ │ ├── ReactiveTitleRepositoryImpl.java
│ │ │ │ ├── ReactiveTokenRepository.java
│ │ │ │ ├── ReactiveTokenRepositoryImpl.java
│ │ │ │ ├── ReactiveUserOwnerMappingRepository.java
│ │ │ │ ├── ReactiveUserOwnerMappingRepositoryImpl.java
│ │ │ │ ├── ReferenceDataRepository.java
│ │ │ │ ├── ReferenceDataRepositoryImpl.java
│ │ │ │ ├── TermDefinitionUnhandledTermRepository.java
│ │ │ │ ├── TermDefinitionUnhandledTermRepositoryImpl.java
│ │ │ │ ├── TermRelationsRepository.java
│ │ │ │ └── TermRelationsRepositoryImpl.java
│ │ │ └── util
│ │ │ │ ├── DataEntityCTEQueryConfig.java
│ │ │ │ ├── ExceptionUtils.java
│ │ │ │ ├── FTSConfig.java
│ │ │ │ ├── FTSConstants.java
│ │ │ │ ├── FTSEntity.java
│ │ │ │ ├── JooqFTSHelper.java
│ │ │ │ ├── JooqQueryHelper.java
│ │ │ │ ├── JooqReactiveOperations.java
│ │ │ │ ├── JooqReactiveOperationsCustomTables.java
│ │ │ │ ├── JooqRecordHelper.java
│ │ │ │ └── OrderByField.java
│ │ │ ├── service
│ │ │ ├── AlertHaltConfigService.java
│ │ │ ├── AlertHaltConfigServiceImpl.java
│ │ │ ├── AlertLocator.java
│ │ │ ├── AlertLocatorImpl.java
│ │ │ ├── AlertService.java
│ │ │ ├── AlertServiceImpl.java
│ │ │ ├── CachingByteArraySLAResourceResolver.java
│ │ │ ├── CollectorService.java
│ │ │ ├── CollectorServiceImpl.java
│ │ │ ├── DataEntityFilledService.java
│ │ │ ├── DataEntityFilledServiceImpl.java
│ │ │ ├── DataEntityGroupService.java
│ │ │ ├── DataEntityGroupServiceImpl.java
│ │ │ ├── DataEntityInternalStateService.java
│ │ │ ├── DataEntityInternalStateServiceImpl.java
│ │ │ ├── DataEntityLookupTableService.java
│ │ │ ├── DataEntityLookupTableServiceImpl.java
│ │ │ ├── DataEntityRelationsService.java
│ │ │ ├── DataEntityRelationsServiceImpl.java
│ │ │ ├── DataEntityRunService.java
│ │ │ ├── DataEntityRunServiceImpl.java
│ │ │ ├── DataEntityService.java
│ │ │ ├── DataEntityServiceImpl.java
│ │ │ ├── DataEntityStaleDetector.java
│ │ │ ├── DataEntityStatisticsService.java
│ │ │ ├── DataEntityStatisticsServiceImpl.java
│ │ │ ├── DataQualityRunsService.java
│ │ │ ├── DataQualityRunsServiceImpl.java
│ │ │ ├── DataQualityService.java
│ │ │ ├── DataQualityServiceImpl.java
│ │ │ ├── DataSourceIngestionService.java
│ │ │ ├── DataSourceIngestionServiceImpl.java
│ │ │ ├── DataSourceService.java
│ │ │ ├── DataSourceServiceImpl.java
│ │ │ ├── DatasetFieldInternalInformationService.java
│ │ │ ├── DatasetFieldInternalInformationServiceImpl.java
│ │ │ ├── DatasetFieldService.java
│ │ │ ├── DatasetFieldServiceImpl.java
│ │ │ ├── DatasetStructureService.java
│ │ │ ├── DatasetStructureServiceImpl.java
│ │ │ ├── DatasetVersionService.java
│ │ │ ├── DatasetVersionServiceImpl.java
│ │ │ ├── DirectoryService.java
│ │ │ ├── DirectoryServiceImpl.java
│ │ │ ├── ERDRelationshipsIngestionService.java
│ │ │ ├── ERDRelationshipsIngestionServiceImpl.java
│ │ │ ├── EnumValueService.java
│ │ │ ├── EnumValueServiceImpl.java
│ │ │ ├── ExternalMetricReader.java
│ │ │ ├── GraphRelationshipsIngestionService.java
│ │ │ ├── GraphRelationshipsIngestionServiceImpl.java
│ │ │ ├── IdentityService.java
│ │ │ ├── IdentityServiceImpl.java
│ │ │ ├── InternalMetricReader.java
│ │ │ ├── LineageService.java
│ │ │ ├── LineageServiceImpl.java
│ │ │ ├── LookupDataSearchService.java
│ │ │ ├── LookupDataSearchServiceImpl.java
│ │ │ ├── LookupDataService.java
│ │ │ ├── LookupDataServiceImpl.java
│ │ │ ├── MessageService.java
│ │ │ ├── MessageServiceImpl.java
│ │ │ ├── MetadataFieldService.java
│ │ │ ├── MetadataFieldServiceImpl.java
│ │ │ ├── MetricReader.java
│ │ │ ├── MetricService.java
│ │ │ ├── MetricServiceImpl.java
│ │ │ ├── NamespaceService.java
│ │ │ ├── NamespaceServiceImpl.java
│ │ │ ├── OwnerAssociationRequestActivityService.java
│ │ │ ├── OwnerAssociationRequestActivityServiceImpl.java
│ │ │ ├── OwnerAssociationRequestService.java
│ │ │ ├── OwnerAssociationRequestServiceImpl.java
│ │ │ ├── OwnerService.java
│ │ │ ├── OwnerServiceImpl.java
│ │ │ ├── OwnershipService.java
│ │ │ ├── OwnershipServiceImpl.java
│ │ │ ├── PolicyJSONValidator.java
│ │ │ ├── PolicyService.java
│ │ │ ├── PolicyServiceImpl.java
│ │ │ ├── QueryExampleSearchService.java
│ │ │ ├── QueryExampleSearchServiceImpl.java
│ │ │ ├── QueryExampleService.java
│ │ │ ├── QueryExampleServiceImpl.java
│ │ │ ├── ReferenceDataService.java
│ │ │ ├── ReferenceDataServiceImpl.java
│ │ │ ├── RelationshipsService.java
│ │ │ ├── RelationshipsServiceImpl.java
│ │ │ ├── RoleService.java
│ │ │ ├── RoleServiceImpl.java
│ │ │ ├── SLAResourceResolver.java
│ │ │ ├── TagService.java
│ │ │ ├── TagServiceImpl.java
│ │ │ ├── TitleService.java
│ │ │ ├── TitleServiceImpl.java
│ │ │ ├── TokenGenerator.java
│ │ │ ├── TokenGeneratorImpl.java
│ │ │ ├── UserOwnerMappingService.java
│ │ │ ├── UserOwnerMappingServiceImpl.java
│ │ │ ├── activity
│ │ │ │ ├── ActivityAspect.java
│ │ │ │ ├── ActivityLog.java
│ │ │ │ ├── ActivityParameter.java
│ │ │ │ ├── ActivityService.java
│ │ │ │ ├── ActivityServiceImpl.java
│ │ │ │ └── handler
│ │ │ │ │ ├── AbstractCustomGroupActivityHandler.java
│ │ │ │ │ ├── AbstractOwnershipActivityHandler.java
│ │ │ │ │ ├── ActivityHandler.java
│ │ │ │ │ ├── AlertHaltConfigUpdatedActivityHandler.java
│ │ │ │ │ ├── AlertStatusUpdatedHandler.java
│ │ │ │ │ ├── BusinessNameUpdatedActivityHandler.java
│ │ │ │ │ ├── CustomGroupCreatedActivityHandler.java
│ │ │ │ │ ├── CustomGroupUpdatedActivityHandler.java
│ │ │ │ │ ├── DataEntityCreatedActivityHandler.java
│ │ │ │ │ ├── DataEntityStatusUpdatedActivityHandler.java
│ │ │ │ │ ├── DatasetFieldInformationUpdatedActivityHandler.java
│ │ │ │ │ ├── DatasetFieldTermAssignmentActivityHandler.java
│ │ │ │ │ ├── DatasetFieldValuesUpdatedActivityHandler.java
│ │ │ │ │ ├── DescriptionUpdatedActivityHandler.java
│ │ │ │ │ ├── OwnershipCreatedActivityHandler.java
│ │ │ │ │ ├── OwnershipDeletedActivityHandler.java
│ │ │ │ │ ├── OwnershipUpdatedActivityHandler.java
│ │ │ │ │ ├── TagActivityHandlerImpl.java
│ │ │ │ │ └── TermAssignmentActivityHandler.java
│ │ │ ├── attachment
│ │ │ │ ├── AttachmentService.java
│ │ │ │ ├── AttachmentServiceImpl.java
│ │ │ │ ├── FilePathConstructor.java
│ │ │ │ ├── FileService.java
│ │ │ │ ├── FileServiceImpl.java
│ │ │ │ ├── FileUploadService.java
│ │ │ │ ├── LinkService.java
│ │ │ │ ├── LinkServiceImpl.java
│ │ │ │ ├── local
│ │ │ │ │ ├── LocalFilePathConstructor.java
│ │ │ │ │ └── LocalFileUploadServiceImpl.java
│ │ │ │ └── remote
│ │ │ │ │ ├── RemoteFilePathConstructor.java
│ │ │ │ │ └── RemoteFileUploadServiceImpl.java
│ │ │ ├── feature
│ │ │ │ ├── FeatureResolver.java
│ │ │ │ └── FeatureResolverImpl.java
│ │ │ ├── genai
│ │ │ │ ├── GenAIService.java
│ │ │ │ └── GenAIServiceImpl.java
│ │ │ ├── ingestion
│ │ │ │ ├── DatasetFieldMetadataIngestionService.java
│ │ │ │ ├── DatasetFieldMetadataIngestionServiceImpl.java
│ │ │ │ ├── DatasetVersionHashCalculator.java
│ │ │ │ ├── EnumValuesIngestionService.java
│ │ │ │ ├── EnumValuesIngestionServiceImpl.java
│ │ │ │ ├── IngestionService.java
│ │ │ │ ├── IngestionServiceImpl.java
│ │ │ │ ├── alert
│ │ │ │ │ ├── AlertAction.java
│ │ │ │ │ ├── AlertActionResolver.java
│ │ │ │ │ ├── AlertActionResolverFactory.java
│ │ │ │ │ ├── AlertActionResolverImpl.java
│ │ │ │ │ ├── AlertBISCandidate.java
│ │ │ │ │ └── IngestionTaskRunAlertState.java
│ │ │ │ ├── metric
│ │ │ │ │ ├── ExternalIngestionMetricsServiceImpl.java
│ │ │ │ │ ├── IngestionMetricsService.java
│ │ │ │ │ ├── InternalIngestionMetricsServiceImpl.java
│ │ │ │ │ └── extractors
│ │ │ │ │ │ ├── external
│ │ │ │ │ │ ├── AbstractTimeSeriesExtractor.java
│ │ │ │ │ │ ├── CounterTimeSeriesExtractor.java
│ │ │ │ │ │ ├── GaugeTimeSeriesExtractor.java
│ │ │ │ │ │ ├── HistogramTimeSeriesExtractor.java
│ │ │ │ │ │ ├── SummaryTimeSeriesExtractor.java
│ │ │ │ │ │ └── TimeSeriesExtractor.java
│ │ │ │ │ │ └── internal
│ │ │ │ │ │ ├── AbstractMetricSeriesExtractor.java
│ │ │ │ │ │ ├── CounterMetricsSeriesExtractor.java
│ │ │ │ │ │ ├── GaugeMetricSeriesExtractor.java
│ │ │ │ │ │ ├── HistogramMetricSeriesExtractor.java
│ │ │ │ │ │ ├── MetricSeriesExtractor.java
│ │ │ │ │ │ └── SummaryMetricsSeriesExtractor.java
│ │ │ │ ├── processor
│ │ │ │ │ ├── ActivityIngestionRequestProcessor.java
│ │ │ │ │ ├── AlertIngestionRequestProcessor.java
│ │ │ │ │ ├── DataQualityTestRelationIngestionRequestProcessor.java
│ │ │ │ │ ├── DatasetStructureIngestionRequestProcessor.java
│ │ │ │ │ ├── ExternalTagIngestionRequestProcessor.java
│ │ │ │ │ ├── FTSVectorsIngestionRequestProcessor.java
│ │ │ │ │ ├── GroupEntityRelationIngestionRequestProcessor.java
│ │ │ │ │ ├── GroupParentGroupIngestionRequestProcessor.java
│ │ │ │ │ ├── HollowDataEntityIngestionRequestProcessor.java
│ │ │ │ │ ├── IngestionProcessingPhase.java
│ │ │ │ │ ├── IngestionProcessorChain.java
│ │ │ │ │ ├── IngestionRequestProcessor.java
│ │ │ │ │ ├── LineageIngestionRequestProcessor.java
│ │ │ │ │ ├── MetadataIngestionRequestProcessor.java
│ │ │ │ │ ├── RelationshipIngestionRequestProcessor.java
│ │ │ │ │ ├── TaskRunIngestionRequestProcessor.java
│ │ │ │ │ └── UsageReportIngestionRequestProcessor.java
│ │ │ │ └── util
│ │ │ │ │ └── DateTimeUtil.java
│ │ │ ├── job
│ │ │ │ └── DataEntityStatusSwitchJob.java
│ │ │ ├── metadata
│ │ │ │ └── MetadataParser.java
│ │ │ ├── metric
│ │ │ │ ├── NoOpOTLPMetricService.java
│ │ │ │ ├── OTLPMetricService.java
│ │ │ │ ├── OTLPMetricServiceImpl.java
│ │ │ │ ├── dto
│ │ │ │ │ └── MetricDataTriplet.java
│ │ │ │ └── extractors
│ │ │ │ │ ├── BinaryDatasetFieldStatExtractor.java
│ │ │ │ │ ├── BooleanDatasetFieldStatExtractor.java
│ │ │ │ │ ├── ComplexDatasetFieldStatExtractor.java
│ │ │ │ │ ├── DatasetFieldMetricExtractor.java
│ │ │ │ │ ├── DatasetFieldStatExtractor.java
│ │ │ │ │ ├── DatasetMetricExtractor.java
│ │ │ │ │ ├── DatetimeDatasetFieldStatExtractor.java
│ │ │ │ │ ├── ExtractorUtils.java
│ │ │ │ │ ├── IntegerDatasetFieldStatExtractor.java
│ │ │ │ │ ├── MetricExtractor.java
│ │ │ │ │ ├── NumberDatasetFieldStatExtractor.java
│ │ │ │ │ ├── StringDatasetFieldStatExtractor.java
│ │ │ │ │ └── TaskRunMetricExtractor.java
│ │ │ ├── permission
│ │ │ │ ├── PermissionService.java
│ │ │ │ ├── PermissionServiceImpl.java
│ │ │ │ └── extractor
│ │ │ │ │ ├── AbstractContextualPermissionExtractor.java
│ │ │ │ │ ├── ContextualPermissionExtractor.java
│ │ │ │ │ ├── DataEntityPermissionExtractor.java
│ │ │ │ │ ├── ManagementPermissionExtractor.java
│ │ │ │ │ ├── NoContextPermissionExtractor.java
│ │ │ │ │ ├── PermissionExtractor.java
│ │ │ │ │ ├── QueryExamplePermissionExtractor.java
│ │ │ │ │ └── TermPermissionExtractor.java
│ │ │ ├── policy
│ │ │ │ ├── PolicyPermissionExtractor.java
│ │ │ │ ├── comparer
│ │ │ │ │ ├── ArrayFieldComparer.java
│ │ │ │ │ ├── Comparer.java
│ │ │ │ │ ├── SimpleFieldComparer.java
│ │ │ │ │ ├── dataentity
│ │ │ │ │ │ ├── DataEntityClassFieldComparer.java
│ │ │ │ │ │ ├── DataEntityComparorFactory.java
│ │ │ │ │ │ ├── DataEntityDataSourceFieldComparer.java
│ │ │ │ │ │ ├── DataEntityFieldComparer.java
│ │ │ │ │ │ ├── DataEntityNamespaceFieldComparer.java
│ │ │ │ │ │ ├── DataEntityOwnerFieldComparer.java
│ │ │ │ │ │ ├── DataEntityOwnerTitleFieldComparer.java
│ │ │ │ │ │ ├── DataEntityTagFieldComparer.java
│ │ │ │ │ │ └── DataEntityTypeFieldComparer.java
│ │ │ │ │ ├── queryexample
│ │ │ │ │ │ ├── QueryExampleComparorFactory.java
│ │ │ │ │ │ └── QueryExampleFieldComparer.java
│ │ │ │ │ └── term
│ │ │ │ │ │ ├── TermComparorFactory.java
│ │ │ │ │ │ ├── TermFieldComparer.java
│ │ │ │ │ │ ├── TermNamespaceFieldComparer.java
│ │ │ │ │ │ ├── TermOwnerFieldComparer.java
│ │ │ │ │ │ ├── TermOwnerTitleFieldComparer.java
│ │ │ │ │ │ └── TermTagFieldComparer.java
│ │ │ │ └── resolver
│ │ │ │ │ ├── AbstractConditionResolver.java
│ │ │ │ │ ├── ConditionResolver.java
│ │ │ │ │ ├── DataEntityConditionResolver.java
│ │ │ │ │ ├── NoContextConditionResolver.java
│ │ │ │ │ ├── QueryExampleConditionResolver.java
│ │ │ │ │ └── TermConditionResolver.java
│ │ │ ├── search
│ │ │ │ ├── DataEntityHighlightConverter.java
│ │ │ │ ├── DataEntityHighlightService.java
│ │ │ │ ├── DataEntityHighlightServiceImpl.java
│ │ │ │ ├── SearchService.java
│ │ │ │ └── SearchServiceImpl.java
│ │ │ ├── sla
│ │ │ │ └── SLACalculator.java
│ │ │ └── term
│ │ │ │ ├── TermOwnershipService.java
│ │ │ │ ├── TermOwnershipServiceImpl.java
│ │ │ │ ├── TermSearchService.java
│ │ │ │ ├── TermSearchServiceImpl.java
│ │ │ │ ├── TermService.java
│ │ │ │ └── TermServiceImpl.java
│ │ │ └── utils
│ │ │ ├── ActivityParameterNames.java
│ │ │ ├── BlockingOperationUtils.java
│ │ │ ├── FileUtils.java
│ │ │ ├── GsonHelper.java
│ │ │ ├── JSONBDeserializer.java
│ │ │ ├── JSONBSerializer.java
│ │ │ ├── JSONSerDeUtils.java
│ │ │ ├── MappingUtils.java
│ │ │ ├── MetricUtils.java
│ │ │ ├── OddrnUtils.java
│ │ │ ├── OperationUtils.java
│ │ │ ├── Page.java
│ │ │ ├── Pair.java
│ │ │ ├── ProviderUtils.java
│ │ │ ├── UUIDHelper.java
│ │ │ └── lookup
│ │ │ └── validators
│ │ │ ├── LookupBooleanValidator.java
│ │ │ ├── LookupCharValidator.java
│ │ │ ├── LookupDateValidator.java
│ │ │ ├── LookupDecimalValidator.java
│ │ │ ├── LookupIntegerValidator.java
│ │ │ ├── LookupJSONBValidator.java
│ │ │ ├── LookupTimestampValidator.java
│ │ │ ├── LookupTypesValidator.java
│ │ │ └── LookupUUIDValidator.java
│ ├── proto
│ │ ├── gogoproto
│ │ │ └── gogo.proto
│ │ ├── remote.proto
│ │ └── types.proto
│ └── resources
│ │ ├── application.yml
│ │ ├── bootstrap.yml
│ │ ├── db
│ │ └── migration
│ │ │ ├── V0_0_10__add_counters.sql
│ │ │ ├── V0_0_11__add_namespace_support.sql
│ │ │ ├── V0_0_12__change_alert_data_entity_reference_to_oddrn.sql
│ │ │ ├── V0_0_13__add_alert_messenger_oddrn.sql
│ │ │ ├── V0_0_14__normalize_fts_process.sql
│ │ │ ├── V0_0_15__drop_dataset_revisions.sql
│ │ │ ├── V0_0_16__add_datasetfield_oddrn_index.sql
│ │ │ ├── V0_0_17__add_establisher_into_lineage.sql
│ │ │ ├── V0_0_18__pull_push_data_sources.sql
│ │ │ ├── V0_0_19__add_microservice_subtype.sql
│ │ │ ├── V0_0_1__init.sql
│ │ │ ├── V0_0_20__api_call_support.sql
│ │ │ ├── V0_0_21__add_data_entity_group_relation.sql
│ │ │ ├── V0_0_22__refactor_types_and_subtypes.sql
│ │ │ ├── V0_0_23__add_deg_subtypes.sql
│ │ │ ├── V0_0_24__remove_type_tables.sql
│ │ │ ├── V0_0_25__add_dataset_field_enum_values.sql
│ │ │ ├── V0_0_26__remove_length_constraints.sql
│ │ │ ├── V0_0_27__add_status_updated_by_to_alerts.sql
│ │ │ ├── V0_0_28__add_token.sql
│ │ │ ├── V0_0_29__add_collector.sql
│ │ │ ├── V0_0_2__add_lineage.sql
│ │ │ ├── V0_0_30__rename_type_and_subtype.sql
│ │ │ ├── V0_0_31__add_deleted_at_field.sql
│ │ │ ├── V0_0_32__remove_oddrn_from_collector.sql
│ │ │ ├── V0_0_33__add_token_constraints.sql
│ │ │ ├── V0_0_34__add_collector_to_data_source.sql
│ │ │ ├── V0_0_35__add_terms.sql
│ │ │ ├── V0_0_36__refactor_unique_index.sql
│ │ │ ├── V0_0_37__update_view_count.sql
│ │ │ ├── V0_0_38__add_deleted_at_to_label.sql
│ │ │ ├── V0_0_39__add_data_entity_fields.sql
│ │ │ ├── V0_0_3__add_ownership.sql
│ │ │ ├── V0_0_40__add_deleted_at_enum_value.sql
│ │ │ ├── V0_0_41__add_session_tables.sql
│ │ │ ├── V0_0_42__additional_indexes_to_dq_test_tables.sql
│ │ │ ├── V0_0_43__additional_keys_to_dq_test_relation.sql
│ │ │ ├── V0_0_44__dataqatest_severity.sql
│ │ │ ├── V0_0_45__last_runs_table.sql
│ │ │ ├── V0_0_46__primary_and_sort_key_for_dataset_field.sql
│ │ │ ├── V0_0_47__add_tag_external_attribute.sql
│ │ │ ├── V0_0_48__add_activity.sql
│ │ │ ├── V0_0_49__add_data_entity_statistics_table.sql
│ │ │ ├── V0_0_4__add_user_owner_mapping.sql
│ │ │ ├── V0_0_50__rename_data_qa_severity.sql
│ │ │ ├── V0_0_51__add_owner_association_request.sql
│ │ │ ├── V0_0_52__introduce_housekeeping.sql
│ │ │ ├── V0_0_53__rename_role_to_title.sql
│ │ │ ├── V0_0_54__external_statistics_labels.sql
│ │ │ ├── V0_0_55__add_policies_and_roles.sql
│ │ │ ├── V0_0_56__add_predefined_roles_and_policies.sql
│ │ │ ├── V0_0_57__change_tag_unique_constraint_semantics.sql
│ │ │ ├── V0_0_58__rename_constraints.sql
│ │ │ ├── V0_0_59__data_collaboration.sql
│ │ │ ├── V0_0_5__add_job_run.sql
│ │ │ ├── V0_0_60__alert_codes.sql
│ │ │ ├── V0_0_61__introduce_stacked_alerts.sql
│ │ │ ├── V0_0_62__introduce_alert_halting.sql
│ │ │ ├── V0_0_63__add_try_count_to_message.sql
│ │ │ ├── V0_0_64__remove_is_deleted_field.sql
│ │ │ ├── V0_0_65__rename_tag_activity_type.sql
│ │ │ ├── V0_0_66__add_dataset_field_default_value.sql
│ │ │ ├── V0_0_67__add_metrics.sql
│ │ │ ├── V0_0_68__clear_dataset_version_hash.sql
│ │ │ ├── V0_0_69__add_entity_types_statistics.sql
│ │ │ ├── V0_0_6__add_dataqa_flow.sql
│ │ │ ├── V0_0_70__introduce_external_enum_values.sql
│ │ │ ├── V0_0_71__datasource_refactor.sql
│ │ │ ├── V0_0_72__dataset_field_reference_type.sql
│ │ │ ├── V0_0_73__attachments.sql
│ │ │ ├── V0_0_74__dataset_field_terms.sql
│ │ │ ├── V0_0_75__utc_timezone.sql
│ │ │ ├── V0_0_76__term_relations_hard_delete.sql
│ │ │ ├── V0_0_77__data_entity_term_description.sql
│ │ │ ├── V0_0_78__description_unhandled_term.sql
│ │ │ ├── V0_0_79__data_deprecation.sql
│ │ │ ├── V0_0_7__add_alert_flow.sql
│ │ │ ├── V0_0_80__metadata_stale.sql
│ │ │ ├── V0_0_81__dataset_field_internal_name.sql
│ │ │ ├── V0_0_82__add_tag_to_dataset_field.sql
│ │ │ ├── V0_0_83__added_category_field_to_dataset_expectation.sql
│ │ │ ├── V0_0_84__create_query_example.sql
│ │ │ ├── V0_0_85__remove_length_constraint_for_description.sql
│ │ │ ├── V0_0_86__create_schema_and_tables_for_custom_tables.sql
│ │ │ ├── V0_0_87__create_relation_tables.sql
│ │ │ ├── V0_0_88__add_query_example_policy.sql
│ │ │ ├── V0_0_89__update_user_owner.sql
│ │ │ ├── V0_0_8__change_topic_subtype_name.sql
│ │ │ ├── V0_0_90__added_query_example_to_term_relations.sql
│ │ │ ├── V0_0_91__add_term_to_term.sql
│ │ │ └── V0_0_9__normalize_dataset_structure.sql
│ │ ├── schema
│ │ └── policy_schema.json
│ │ ├── sla
│ │ ├── sla_green.png
│ │ ├── sla_red.png
│ │ └── sla_yellow.png
│ │ ├── static
│ │ └── img
│ │ │ ├── cognito.png
│ │ │ ├── github.png
│ │ │ ├── google.png
│ │ │ ├── keycloak.png
│ │ │ └── okta.png
│ │ └── templates
│ │ ├── email.ftlh
│ │ └── oauth2_login.html
│ └── test
│ ├── java
│ └── org
│ │ └── opendatadiscovery
│ │ └── oddplatform
│ │ ├── BaseIngestionTest.java
│ │ ├── BaseIntegrationTest.java
│ │ ├── api
│ │ ├── DataEntityStatusChangeTest.java
│ │ ├── DirectoryTest.java
│ │ ├── HealthAPITest.java
│ │ └── ingestion
│ │ │ ├── AlertIngestionTest.java
│ │ │ ├── DataEntityStatisticsTest.java
│ │ │ ├── DatasetFieldIngestionTest.java
│ │ │ ├── DatasetIngestionTest.java
│ │ │ ├── DatasetVersionDiffTest.java
│ │ │ ├── LineageIngestionTest.java
│ │ │ ├── LoadIngestionTest.java
│ │ │ ├── MetadataIngestionTest.java
│ │ │ ├── MetricsIngestionTest.java
│ │ │ ├── PrometheusMetricsIngestionTest.java
│ │ │ └── utils
│ │ │ ├── IngestionMetricModelMapper.java
│ │ │ ├── IngestionModelGenerator.java
│ │ │ └── IngestionModelMapper.java
│ │ ├── json
│ │ ├── JsonSchemaTest.java
│ │ └── PolicyDeserializerTest.java
│ │ ├── mapper
│ │ ├── ActivityMapperTest.java
│ │ ├── AlertMapperTest.java
│ │ ├── DatasetFieldApiMapperTest.java
│ │ ├── DatasetVersionMapperTest.java
│ │ ├── EnumValueMapperTest.java
│ │ ├── LineageMapperTest.java
│ │ ├── MetadataFieldMapperTest.java
│ │ ├── MetadataFieldValueMapperTest.java
│ │ └── OwnerAssociationRequestMapperTest.java
│ │ ├── repository
│ │ ├── CollectorRepositoryImplTest.java
│ │ ├── DataEntityRunRepositoryImplTest.java
│ │ ├── DataQualityRepositoryImplTest.java
│ │ ├── DataSourceRepositoryImplTest.java
│ │ ├── EnumValueRepositoryImplTest.java
│ │ ├── LineageRepositoryTest.java
│ │ ├── MetadataFieldValueRepositoryImplTest.java
│ │ ├── NamespaceRepositoryImplTest.java
│ │ ├── OwnerRepositoryImplTest.java
│ │ ├── OwnershipRepositoryImplTest.java
│ │ ├── QueryExampleRepositoryTest.java
│ │ ├── ReactiveDataQualityRunsRepositoryTest.java
│ │ ├── ReactiveDatasetFieldRepositoryImplTest.java
│ │ ├── ReactiveDatasetVersionRepositoryImplTest.java
│ │ ├── ReactiveMetadataFieldRepositoryImplTest.java
│ │ ├── ReactiveMetadataFieldValueRepositoryImplTest.java
│ │ ├── ReactiveOwnerAssociationRequestRepositoryImplTest.java
│ │ ├── TagRepositoryImplTest.java
│ │ └── TitlesRepositoryImplTest.java
│ │ ├── service
│ │ ├── DataEntityServiceTest.java
│ │ ├── DataSourceIngestionServiceTest.java
│ │ ├── EnumValueServiceTest.java
│ │ ├── LineageServiceTest.java
│ │ ├── LookupDataServiceTest.java
│ │ ├── MetadataParserTest.java
│ │ ├── NamespaceServiceImplTest.java
│ │ ├── OwnershipServiceImplTest.java
│ │ ├── QueryExampleServiceTest.java
│ │ ├── integration
│ │ │ └── DataEntityDomainsTest.java
│ │ └── sla
│ │ │ ├── SLAColourTest.java
│ │ │ └── SLAReportTest.java
│ │ └── utils
│ │ ├── DataEntityTaskRunPojoEndTimeComparator.java
│ │ ├── JSONTestUtils.java
│ │ ├── OffsetDateTimeComparator.java
│ │ ├── RecordFactory.java
│ │ └── lookup
│ │ └── validators
│ │ └── LookupTypesValidatorTest.java
│ └── resources
│ ├── application-integration-test.yml
│ ├── fixtures
│ └── ingestion
│ │ └── dag
│ │ ├── dag.json
│ │ └── lineage.json
│ ├── ingestion
│ ├── datasource
│ │ └── datasources.json
│ └── samples
│ │ ├── 01_airflow_ingestion.json
│ │ ├── 02_bookshop_datalake_ingestion.json
│ │ ├── 03_bookshop_tr_ingestion.json
│ │ ├── 04_etl_ingestion.json
│ │ ├── 05_kafka_del_ingestion.json
│ │ ├── 06_kinesis_consumer_ingestion.json
│ │ ├── 07_kinesis_ingestion.json
│ │ ├── 08_s3_ingestion.json
│ │ ├── 09_snowflake_ingestion.json
│ │ └── 10_ge_ingestion.json
│ ├── metrics
│ ├── gauge_and_count.json
│ ├── histogram_and_summary.json
│ └── prometheus
│ │ ├── gauge_and_count.json
│ │ └── histogram_and_summary.json
│ ├── policy
│ ├── invalid
│ │ ├── additional_properties.json
│ │ ├── data_entity_invalid_condition_key.json
│ │ ├── data_entity_invalid_permissions.json
│ │ ├── empty_policy.json
│ │ ├── management_invalid_permissions.json
│ │ ├── management_with_conditions.json
│ │ ├── missed_permissions.json
│ │ ├── missed_resource.json
│ │ ├── term_invalid_condition_key.json
│ │ └── term_invalid_permissions.json
│ ├── policy.json
│ └── valid
│ │ ├── combined_policy.json
│ │ ├── data_entity.json
│ │ ├── data_entity_without_conditions.json
│ │ ├── management.json
│ │ ├── term.json
│ │ └── term_without_conditions.json
│ └── prometheus
│ └── prometheus.yml
├── odd-platform-specification
├── components.yaml
└── openapi.yaml
├── odd-platform-ui
├── .eslintignore
├── .eslintrc.json
├── .gitignore
├── .husky
│ ├── .gitignore
│ ├── pre-commit
│ └── prepare.sh
├── .nvmrc
├── .openapi-generator-ignore
├── .prettierrc
├── README.md
├── build.gradle
├── generate.sh
├── i18next-scanner.config.js
├── index.html
├── nginx
│ └── default.conf.template
├── openapi-config.yaml
├── package.json
├── pnpm-lock.yaml
├── public
│ ├── favicon.ico
│ ├── imgs
│ │ ├── airbyte.png
│ │ ├── airflow.png
│ │ ├── airflow2.png
│ │ ├── athena.png
│ │ ├── cassandra.png
│ │ ├── ckan.png
│ │ ├── clickhouse.png
│ │ ├── cockroachdb.png
│ │ ├── couchbase.png
│ │ ├── cubejs.png
│ │ ├── databricks.png
│ │ ├── dbt.png
│ │ ├── default.png
│ │ ├── druid.png
│ │ ├── duckdb.png
│ │ ├── dynamodb.png
│ │ ├── elasticsearch.png
│ │ ├── feast.png
│ │ ├── glue.png
│ │ ├── great_expectations.png
│ │ ├── hive.png
│ │ ├── kafka.png
│ │ ├── kinesis.png
│ │ ├── kubeflow.png
│ │ ├── mariadb.png
│ │ ├── metabase.png
│ │ ├── mongo.png
│ │ ├── mssql.png
│ │ ├── mysql.png
│ │ ├── neo4j.png
│ │ ├── odbc.png
│ │ ├── oracle.png
│ │ ├── postgresql.png
│ │ ├── powerbi.png
│ │ ├── presto.png
│ │ ├── quicksight.png
│ │ ├── redash.png
│ │ ├── redshift.png
│ │ ├── s3.png
│ │ ├── sagemaker.png
│ │ ├── scylladb.png
│ │ ├── singlestore.png
│ │ ├── snowflake.png
│ │ ├── spark.png
│ │ ├── sqlite.png
│ │ ├── superset.png
│ │ ├── tableau.png
│ │ ├── tarantool.png
│ │ ├── trino.png
│ │ └── vertica.png
│ ├── manifest.json
│ └── robots.txt
├── src
│ ├── components
│ │ ├── Activity
│ │ │ ├── Activity.tsx
│ │ │ ├── ActivityResults
│ │ │ │ ├── ActivityItem
│ │ │ │ │ ├── ActivityItem.tsx
│ │ │ │ │ └── ActivityItemStyles.ts
│ │ │ │ ├── ActivityResults.tsx
│ │ │ │ └── ActivityTabs
│ │ │ │ │ └── ActivityTabs.tsx
│ │ │ └── Filters
│ │ │ │ ├── Filters.tsx
│ │ │ │ └── FiltersStyles.ts
│ │ ├── Alerts
│ │ │ ├── Alerts.tsx
│ │ │ ├── AlertsList
│ │ │ │ ├── AlertItem
│ │ │ │ │ ├── AlertItem.tsx
│ │ │ │ │ └── AlertItemStyles.ts
│ │ │ │ ├── AlertsList.tsx
│ │ │ │ └── AlertsListStyles.ts
│ │ │ ├── AlertsRoutes
│ │ │ │ └── AlertsRoutes.tsx
│ │ │ └── AlertsTabs
│ │ │ │ └── AlertsTabs.tsx
│ │ ├── App.tsx
│ │ ├── DataEntityDetails
│ │ │ ├── DataCollaboration
│ │ │ │ ├── Channels
│ │ │ │ │ ├── Channels.tsx
│ │ │ │ │ └── ChannelsStyles.ts
│ │ │ │ ├── CreateMessageForm
│ │ │ │ │ └── CreateMessageForm.tsx
│ │ │ │ ├── CurrentMessage
│ │ │ │ │ ├── CurrentMessage.tsx
│ │ │ │ │ ├── CurrentMessageStyles.ts
│ │ │ │ │ ├── NoMessage
│ │ │ │ │ │ └── NoMessage.tsx
│ │ │ │ │ └── Thread
│ │ │ │ │ │ ├── Thread.tsx
│ │ │ │ │ │ └── ThreadContent
│ │ │ │ │ │ ├── MainThreadMessage
│ │ │ │ │ │ ├── MainThreadMessage.tsx
│ │ │ │ │ │ └── MainThreadMessageStyles.ts
│ │ │ │ │ │ ├── ThreadContent.tsx
│ │ │ │ │ │ └── ThreadMessage
│ │ │ │ │ │ ├── ThreadMessage.tsx
│ │ │ │ │ │ ├── ThreadMessageSkeleton.tsx
│ │ │ │ │ │ └── ThreadMessageStyles.ts
│ │ │ │ ├── DataCollaboration.tsx
│ │ │ │ ├── DataCollaborationStyles.ts
│ │ │ │ └── MessagesList
│ │ │ │ │ ├── Message
│ │ │ │ │ ├── Message.tsx
│ │ │ │ │ ├── MessageSkeleton.tsx
│ │ │ │ │ ├── MessageStatus
│ │ │ │ │ │ ├── MessageStatus.styles.ts
│ │ │ │ │ │ └── MessageStatus.tsx
│ │ │ │ │ └── MessageStyles.ts
│ │ │ │ │ ├── MessagesList.tsx
│ │ │ │ │ └── MessagesListStyles.ts
│ │ │ ├── DataEntityActivity
│ │ │ │ ├── ActivityResults
│ │ │ │ │ ├── ActivityItem
│ │ │ │ │ │ ├── ActivityItem.tsx
│ │ │ │ │ │ └── ActivityItemStyles.ts
│ │ │ │ │ └── ActivityResults.tsx
│ │ │ │ ├── DataEntityActivity.tsx
│ │ │ │ └── Filters
│ │ │ │ │ ├── Filters.tsx
│ │ │ │ │ └── FiltersStyles.ts
│ │ │ ├── DataEntityAlerts
│ │ │ │ ├── DataEntityAlertItem
│ │ │ │ │ ├── DataEntityAlertItem.tsx
│ │ │ │ │ ├── DataEntityAlertItemStyles.ts
│ │ │ │ │ └── DataEntityAlertsSkeleton.tsx
│ │ │ │ ├── DataEntityAlerts.tsx
│ │ │ │ ├── DataEntityAlertsStyles.ts
│ │ │ │ └── NotificationSettings
│ │ │ │ │ ├── AlertTypeRange
│ │ │ │ │ └── AlertTypeRange.tsx
│ │ │ │ │ └── NotificationSettings.tsx
│ │ │ ├── DataEntityDetails.tsx
│ │ │ ├── DataEntityDetailsHeader
│ │ │ │ └── DataEntityDetailsHeader.tsx
│ │ │ ├── DataEntityDetailsRoutes
│ │ │ │ └── DataEntityDetailsRoutes.tsx
│ │ │ ├── DataEntityDetailsSkeleton
│ │ │ │ └── DataEntityDetailsSkeleton.tsx
│ │ │ ├── DataEntityDetailsStyles.ts
│ │ │ ├── DataEntityDetailsTabs
│ │ │ │ └── DataEntityDetailsTabs.tsx
│ │ │ ├── DataEntityGroup
│ │ │ │ ├── DataEntityGroupControls
│ │ │ │ │ └── DataEntityGroupControls.tsx
│ │ │ │ └── DataEntityGroupForm
│ │ │ │ │ ├── DataEntityGroupForm.tsx
│ │ │ │ │ ├── DataEntityGroupFormStyles.ts
│ │ │ │ │ └── EntityItem
│ │ │ │ │ ├── EntityItem.tsx
│ │ │ │ │ └── EntityItemStyles.ts
│ │ │ ├── DataEntityQueryExamples
│ │ │ │ ├── AssignEntityQueryExampleForm.tsx
│ │ │ │ └── DataEntityDetailsQueryExamples.tsx
│ │ │ ├── DataEntityRelationships
│ │ │ │ └── DataEntityRelationships.tsx
│ │ │ ├── DatasetData
│ │ │ │ ├── DatasetData.tsx
│ │ │ │ ├── DatasetDataTable.tsx
│ │ │ │ └── DatasetDataTable
│ │ │ │ │ ├── DatasetDataTable.styles.ts
│ │ │ │ │ ├── DatasetDataTableRowActions.tsx
│ │ │ │ │ ├── DatasetDataTableRowCell.tsx
│ │ │ │ │ ├── DatasetDataTableRowCell
│ │ │ │ │ ├── DatasetDataTableRowCellBoolean.tsx
│ │ │ │ │ ├── DatasetDataTableRowCellDate.tsx
│ │ │ │ │ ├── DatasetDataTableRowCellNumber.tsx
│ │ │ │ │ ├── DatasetDataTableRowCellString.tsx
│ │ │ │ │ └── interfaces.ts
│ │ │ │ │ ├── DatasetDataTableRowForm.tsx
│ │ │ │ │ ├── hooks.tsx
│ │ │ │ │ ├── interfaces.ts
│ │ │ │ │ └── utils.ts
│ │ │ ├── DatasetStructure
│ │ │ │ ├── DatasetStructure.tsx
│ │ │ │ ├── DatasetStructureCompare
│ │ │ │ │ ├── DatasetStructureCompare.tsx
│ │ │ │ │ ├── DatasetStructureCompareHeader
│ │ │ │ │ │ └── DatasetStructureCompareHeader.tsx
│ │ │ │ │ ├── DatasetStructureCompareList
│ │ │ │ │ │ ├── DatasetStructureCompareList.styles.ts
│ │ │ │ │ │ ├── DatasetStructureCompareList.tsx
│ │ │ │ │ │ └── DatasetStructureCompareListItem
│ │ │ │ │ │ │ ├── DatasetStructureCompareListItem.styles.ts
│ │ │ │ │ │ │ └── DatasetStructureCompareListItem.tsx
│ │ │ │ │ └── lib
│ │ │ │ │ │ ├── atoms.ts
│ │ │ │ │ │ ├── constants.ts
│ │ │ │ │ │ └── interfaces.ts
│ │ │ │ ├── DatasetStructureOverview
│ │ │ │ │ ├── DatasetStructureOverview.tsx
│ │ │ │ │ ├── DatasetStructureSkeleton
│ │ │ │ │ │ └── DatasetStructureSkeleton.tsx
│ │ │ │ │ ├── DatasetStructureView
│ │ │ │ │ │ ├── DatasetFieldOverview
│ │ │ │ │ │ │ ├── DatasetFieldDescription
│ │ │ │ │ │ │ │ ├── DatasetFieldDescription.styles.ts
│ │ │ │ │ │ │ │ ├── DatasetFieldDescription.tsx
│ │ │ │ │ │ │ │ ├── DatasetFieldDescriptionEdit
│ │ │ │ │ │ │ │ │ ├── DatasetFieldDescriptionEdit.styles.ts
│ │ │ │ │ │ │ │ │ └── DatasetFieldDescriptionEdit.tsx
│ │ │ │ │ │ │ │ └── DatasetFieldDescriptionPreview
│ │ │ │ │ │ │ │ │ └── DatasetFieldDescriptionPreview.tsx
│ │ │ │ │ │ │ ├── DatasetFieldEnumsForm
│ │ │ │ │ │ │ │ ├── DatasetFieldEnumsForm.tsx
│ │ │ │ │ │ │ │ └── DatasetFieldEnumsFormItem
│ │ │ │ │ │ │ │ │ ├── DatasetFieldEnumsFormItem.styles.ts
│ │ │ │ │ │ │ │ │ └── DatasetFieldEnumsFormItem.tsx
│ │ │ │ │ │ │ ├── DatasetFieldHeader
│ │ │ │ │ │ │ │ ├── DatasetFieldHeader.tsx
│ │ │ │ │ │ │ │ └── DatasetFieldInternalNameForm
│ │ │ │ │ │ │ │ │ └── DatasetFieldInternalNameForm.tsx
│ │ │ │ │ │ │ ├── DatasetFieldMetrics
│ │ │ │ │ │ │ │ └── DatasetFieldMetrics.tsx
│ │ │ │ │ │ │ ├── DatasetFieldOverview.styles.ts
│ │ │ │ │ │ │ ├── DatasetFieldOverview.tsx
│ │ │ │ │ │ │ ├── DatasetFieldOverviewEnums
│ │ │ │ │ │ │ │ └── DatasetFieldOverviewEnums.tsx
│ │ │ │ │ │ │ ├── DatasetFieldStats
│ │ │ │ │ │ │ │ ├── DatasetField.styles.ts
│ │ │ │ │ │ │ │ └── DatasetFieldStats.tsx
│ │ │ │ │ │ │ ├── DatasetFieldTags
│ │ │ │ │ │ │ │ ├── DatasetFieldTags.tsx
│ │ │ │ │ │ │ │ ├── DatasetFieldTagsStyles.ts
│ │ │ │ │ │ │ │ └── TagsEditForm
│ │ │ │ │ │ │ │ │ ├── TagsEditForm.tsx
│ │ │ │ │ │ │ │ │ ├── TagsEditFormAutocomplete
│ │ │ │ │ │ │ │ │ └── TagsEditFormAutocomplete.tsx
│ │ │ │ │ │ │ │ │ └── TagsEditFormStyles.ts
│ │ │ │ │ │ │ └── DatasetFieldTerms
│ │ │ │ │ │ │ │ ├── AssignFieldTermForm
│ │ │ │ │ │ │ │ └── AssignFieldTermForm.tsx
│ │ │ │ │ │ │ │ ├── DatasetFieldTerms.tsx
│ │ │ │ │ │ │ │ └── TermItem
│ │ │ │ │ │ │ │ └── TermItem.tsx
│ │ │ │ │ │ ├── DatasetStructureHeader
│ │ │ │ │ │ │ ├── DatasetStructureHeader.tsx
│ │ │ │ │ │ │ └── DatasetStructureTypeCounts
│ │ │ │ │ │ │ │ ├── DatasetStructureTypeCountLabel
│ │ │ │ │ │ │ │ ├── DatasetStructureTypeCountLabel.tsx
│ │ │ │ │ │ │ │ └── DatasetStructureTypeCountLabelStyles.ts
│ │ │ │ │ │ │ │ └── DatasetStructureTypeCounts.tsx
│ │ │ │ │ │ ├── DatasetStructureList
│ │ │ │ │ │ │ ├── DatasetStructureItem
│ │ │ │ │ │ │ │ ├── DatasetStructureItem.styles.ts
│ │ │ │ │ │ │ │ └── DatasetStructureItem.tsx
│ │ │ │ │ │ │ ├── DatasetStructureList.styles.ts
│ │ │ │ │ │ │ └── DatasetStructureList.tsx
│ │ │ │ │ │ ├── DatasetStructureView.styles.ts
│ │ │ │ │ │ └── DatasetStructureView.tsx
│ │ │ │ │ └── lib
│ │ │ │ │ │ ├── DatasetStructureOverviewProvider.tsx
│ │ │ │ │ │ ├── HydrateAtoms.tsx
│ │ │ │ │ │ ├── atoms.ts
│ │ │ │ │ │ └── useStructure.ts
│ │ │ │ └── shared
│ │ │ │ │ ├── KeyFieldLabel
│ │ │ │ │ ├── KeyFieldLabel.tsx
│ │ │ │ │ └── KeyFieldLabelStyles.ts
│ │ │ │ │ ├── TypeFieldLabel
│ │ │ │ │ ├── TypeFieldLabel.styles.ts
│ │ │ │ │ └── TypeFieldLabel.tsx
│ │ │ │ │ └── constants.ts
│ │ │ ├── InternalNameFormDialog
│ │ │ │ └── InternalNameFormDialog.tsx
│ │ │ ├── Lineage
│ │ │ │ ├── DEGLineage
│ │ │ │ │ ├── DEGLineage.styles.ts
│ │ │ │ │ ├── DEGLineage.tsx
│ │ │ │ │ ├── DEGLineageLayouter
│ │ │ │ │ │ └── DEGLineageLayouter.tsx
│ │ │ │ │ ├── ZoomableDEGLineage
│ │ │ │ │ │ ├── DEGLinegeGraph
│ │ │ │ │ │ │ ├── DEGLineageGraph.tsx
│ │ │ │ │ │ │ ├── EdgesRenderer
│ │ │ │ │ │ │ │ ├── EdgesRenderer.styles.ts
│ │ │ │ │ │ │ │ └── EdgesRenderer.tsx
│ │ │ │ │ │ │ └── NodesRenderer
│ │ │ │ │ │ │ │ └── NodesRenderer.tsx
│ │ │ │ │ │ ├── ZoomableDEGLineage.styles.ts
│ │ │ │ │ │ └── ZoomableDEGLineage.tsx
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── DEGLineageControls
│ │ │ │ │ │ │ ├── DEGLineageControls.styles.ts
│ │ │ │ │ │ │ └── DEGLineageControls.tsx
│ │ │ │ │ │ ├── Edge
│ │ │ │ │ │ │ ├── Edge.tsx
│ │ │ │ │ │ │ └── helpers.ts
│ │ │ │ │ │ └── Node
│ │ │ │ │ │ │ ├── Node.styles.ts
│ │ │ │ │ │ │ └── Node.tsx
│ │ │ │ │ └── lib
│ │ │ │ │ │ ├── DEGLineageAtomProvider.tsx
│ │ │ │ │ │ ├── atoms.ts
│ │ │ │ │ │ ├── constants.ts
│ │ │ │ │ │ ├── hooks
│ │ │ │ │ │ ├── useDEGLineage.ts
│ │ │ │ │ │ └── useDEGZoom.ts
│ │ │ │ │ │ ├── interfaces.ts
│ │ │ │ │ │ └── layoutDEGLineage.ts
│ │ │ │ ├── HierarchyLineage
│ │ │ │ │ ├── HierarchyLineage.styles.ts
│ │ │ │ │ ├── HierarchyLineage.tsx
│ │ │ │ │ ├── ZoomableLineage
│ │ │ │ │ │ ├── LineageControls
│ │ │ │ │ │ │ ├── LineageControls.tsx
│ │ │ │ │ │ │ └── LineageControlsStyles.ts
│ │ │ │ │ │ ├── LineageGraph
│ │ │ │ │ │ │ ├── CrossLink
│ │ │ │ │ │ │ │ └── CrossLink.tsx
│ │ │ │ │ │ │ ├── LineageGraph.tsx
│ │ │ │ │ │ │ ├── Link
│ │ │ │ │ │ │ │ ├── Link.tsx
│ │ │ │ │ │ │ │ └── LinkStyles.ts
│ │ │ │ │ │ │ └── Node
│ │ │ │ │ │ │ │ ├── Classes
│ │ │ │ │ │ │ │ ├── Classes.tsx
│ │ │ │ │ │ │ │ └── ClassesStyles.ts
│ │ │ │ │ │ │ │ ├── HiddenDependencies
│ │ │ │ │ │ │ │ ├── HiddenDependencies.tsx
│ │ │ │ │ │ │ │ └── HiddenDependenciesStyles.ts
│ │ │ │ │ │ │ │ ├── Info
│ │ │ │ │ │ │ │ ├── GroupedEntitiesListModal
│ │ │ │ │ │ │ │ │ ├── GroupedEntitiesListModal.tsx
│ │ │ │ │ │ │ │ │ └── GroupedEntitiesListModalStyles.ts
│ │ │ │ │ │ │ │ ├── Info.tsx
│ │ │ │ │ │ │ │ ├── InfoStyles.ts
│ │ │ │ │ │ │ │ └── ItemsButton
│ │ │ │ │ │ │ │ │ └── ItemsButton.tsx
│ │ │ │ │ │ │ │ ├── LoadMoreButton
│ │ │ │ │ │ │ │ ├── LoadMoreButton.tsx
│ │ │ │ │ │ │ │ └── LoadMoreButtonStyles.ts
│ │ │ │ │ │ │ │ ├── Node.tsx
│ │ │ │ │ │ │ │ ├── NodeStyles.ts
│ │ │ │ │ │ │ │ └── NodeTitle
│ │ │ │ │ │ │ │ ├── NodeTitle.tsx
│ │ │ │ │ │ │ │ └── NodeTitleStyles.ts
│ │ │ │ │ │ ├── ZoomableLineage.tsx
│ │ │ │ │ │ └── ZoomableLineageStyles.ts
│ │ │ │ │ └── lineageLib
│ │ │ │ │ │ ├── LineageContext
│ │ │ │ │ │ ├── LineageContext.ts
│ │ │ │ │ │ └── LineageProvider.tsx
│ │ │ │ │ │ ├── constants.ts
│ │ │ │ │ │ ├── generateGraph.ts
│ │ │ │ │ │ ├── generateNodeSize.ts
│ │ │ │ │ │ ├── helpers.ts
│ │ │ │ │ │ └── interfaces.ts
│ │ │ │ └── Lineage.tsx
│ │ │ ├── LinkedItemsList
│ │ │ │ ├── LinkedItem
│ │ │ │ │ ├── LinkedItem.tsx
│ │ │ │ │ └── LinkedItemStyles.ts
│ │ │ │ ├── LinkedItemsList.tsx
│ │ │ │ ├── LinkedItemsListStyles.ts
│ │ │ │ └── LinkedListSkeleton
│ │ │ │ │ ├── LinkedListSkeleton.tsx
│ │ │ │ │ └── LinkedListSkeletonStyles.ts
│ │ │ ├── Metadata
│ │ │ │ ├── MetadataCreateForm
│ │ │ │ │ ├── MetadataCreateForm.tsx
│ │ │ │ │ └── MetadataCreateFormItem
│ │ │ │ │ │ └── MetadataCreateFormItem.tsx
│ │ │ │ └── MetadataValueEditor
│ │ │ │ │ └── MetadataValueEditor.tsx
│ │ │ ├── Overview
│ │ │ │ ├── Overview.tsx
│ │ │ │ ├── OverviewAttachments
│ │ │ │ │ ├── AttachmentItem
│ │ │ │ │ │ ├── AttachmentItem.styles.ts
│ │ │ │ │ │ ├── FileAttachment.tsx
│ │ │ │ │ │ └── LinkAttachment.tsx
│ │ │ │ │ ├── AttachmentsHeader
│ │ │ │ │ │ ├── AttachmentsHeader.styles.ts
│ │ │ │ │ │ └── AttachmentsHeader.tsx
│ │ │ │ │ ├── AttachmentsList
│ │ │ │ │ │ ├── AttachmentsList.styles.ts
│ │ │ │ │ │ └── AttachmentsList.tsx
│ │ │ │ │ ├── EditLinkForm
│ │ │ │ │ │ └── EditLinkForm.tsx
│ │ │ │ │ ├── OverviewAttachments.styles.ts
│ │ │ │ │ ├── OverviewAttachments.tsx
│ │ │ │ │ ├── SaveFilesForm
│ │ │ │ │ │ ├── FileItem
│ │ │ │ │ │ │ ├── FileItem.styles.ts
│ │ │ │ │ │ │ └── FileItem.tsx
│ │ │ │ │ │ └── SaveFilesForm.tsx
│ │ │ │ │ └── SaveLinksForm
│ │ │ │ │ │ ├── LinkItem
│ │ │ │ │ │ └── LinkItem.tsx
│ │ │ │ │ │ └── SaveLinksForm.tsx
│ │ │ │ ├── OverviewDataQualityReport
│ │ │ │ │ ├── OverviewDQSLAReport
│ │ │ │ │ │ ├── OverviewDQSLAReport.tsx
│ │ │ │ │ │ ├── OverviewDQSLAReportSkeleton
│ │ │ │ │ │ │ └── OverviewDQSLAReportSkeleton.tsx
│ │ │ │ │ │ └── OverviewDQSLAReportStyles.ts
│ │ │ │ │ └── OverviewDQTestReport
│ │ │ │ │ │ ├── OverviewDQReportSkeleton
│ │ │ │ │ │ ├── OverviewDQReportSkeleton.tsx
│ │ │ │ │ │ └── OverviewDQReportSkeletonStyles.ts
│ │ │ │ │ │ ├── OverviewDQTestReport.tsx
│ │ │ │ │ │ └── OverviewDQTestReportStyles.ts
│ │ │ │ ├── OverviewDescription
│ │ │ │ │ ├── ExternalDescription
│ │ │ │ │ │ ├── ExternalDescription.styles.ts
│ │ │ │ │ │ └── ExternalDescription.tsx
│ │ │ │ │ ├── InternalDescription
│ │ │ │ │ │ ├── InternalDescription.tsx
│ │ │ │ │ │ ├── InternalDescriptionEdit
│ │ │ │ │ │ │ ├── InternalDescriptionEdit.styles.ts
│ │ │ │ │ │ │ └── InternalDescriptionEdit.tsx
│ │ │ │ │ │ ├── InternalDescriptionHeader
│ │ │ │ │ │ │ ├── InternalDescriptionHeader.styles.ts
│ │ │ │ │ │ │ └── InternalDescriptionHeader.tsx
│ │ │ │ │ │ └── InternalDescriptionPreview
│ │ │ │ │ │ │ └── InternalDescriptionPreview.tsx
│ │ │ │ │ ├── OverviewDescription.styles.ts
│ │ │ │ │ └── OverviewDescription.tsx
│ │ │ │ ├── OverviewExpectations
│ │ │ │ │ ├── OverviewExpectations.tsx
│ │ │ │ │ └── OverviewExpectationsStyles.ts
│ │ │ │ ├── OverviewGeneral
│ │ │ │ │ ├── OverviewGeneral.tsx
│ │ │ │ │ ├── OverviewGeneralStyles.ts
│ │ │ │ │ └── OwnersSection
│ │ │ │ │ │ ├── OwnersSection.tsx
│ │ │ │ │ │ ├── OwnersSectionStyles.ts
│ │ │ │ │ │ ├── OwnershipDeleteForm
│ │ │ │ │ │ └── OwnershipDeleteForm.tsx
│ │ │ │ │ │ └── OwnershipForm
│ │ │ │ │ │ └── OwnershipForm.tsx
│ │ │ │ ├── OverviewGroups
│ │ │ │ │ ├── AddDataEntityToGroupForm
│ │ │ │ │ │ └── AddDataEntityToGroupForm.tsx
│ │ │ │ │ ├── GroupItem
│ │ │ │ │ │ ├── GroupItem.tsx
│ │ │ │ │ │ └── GroupItemStyles.ts
│ │ │ │ │ ├── OverviewGroups.tsx
│ │ │ │ │ └── OverviewGroupsStyles.ts
│ │ │ │ ├── OverviewMetadata
│ │ │ │ │ ├── MetadataItem
│ │ │ │ │ │ ├── MetadataItem.tsx
│ │ │ │ │ │ └── MetadataItemStyles.ts
│ │ │ │ │ ├── OverviewMetadata.tsx
│ │ │ │ │ └── OverviewMetadataStyles.ts
│ │ │ │ ├── OverviewMetrics
│ │ │ │ │ ├── OverviewMetrics.tsx
│ │ │ │ │ └── OverviewMetricsStyles.ts
│ │ │ │ ├── OverviewSkeleton
│ │ │ │ │ ├── OverviewSkeleton.tsx
│ │ │ │ │ └── OverviewSkeletonStyles.ts
│ │ │ │ ├── OverviewStats
│ │ │ │ │ ├── OverviewDataConsumerStats
│ │ │ │ │ │ └── OverviewDataConsumerStats.tsx
│ │ │ │ │ ├── OverviewDataInputStats
│ │ │ │ │ │ └── OverviewDataInputStats.tsx
│ │ │ │ │ ├── OverviewDatasetStats
│ │ │ │ │ │ └── OverviewDatasetStats.tsx
│ │ │ │ │ ├── OverviewEntityGroupItems
│ │ │ │ │ │ ├── EntityGroupItem
│ │ │ │ │ │ │ └── EntityGroupItem.tsx
│ │ │ │ │ │ ├── OverviewEntityGroupItems.styles.ts
│ │ │ │ │ │ └── OverviewEntityGroupItems.tsx
│ │ │ │ │ ├── OverviewEntityGroupStats
│ │ │ │ │ │ └── OverviewEntityGroupStats.tsx
│ │ │ │ │ ├── OverviewQualityTestStats
│ │ │ │ │ │ ├── OverviewQualityTestStats.tsx
│ │ │ │ │ │ └── OverviewQualityTestStatsStyles.ts
│ │ │ │ │ ├── OverviewRelationshipStats
│ │ │ │ │ │ ├── OverviewRelationshipStats.tsx
│ │ │ │ │ │ ├── OverviewRelationshipStatsStyles.ts
│ │ │ │ │ │ ├── OverviewRelationshipType
│ │ │ │ │ │ │ ├── OverviewEntityRelationship.tsx
│ │ │ │ │ │ │ └── OverviewGraphRelationship.tsx
│ │ │ │ │ │ └── RelationshipKey.tsx
│ │ │ │ │ ├── OverviewStats.tsx
│ │ │ │ │ └── OverviewTransformerStats
│ │ │ │ │ │ ├── OverviewTransformerStats.tsx
│ │ │ │ │ │ └── OverviewTransformerStatsStyles.ts
│ │ │ │ ├── OverviewStyles.ts
│ │ │ │ ├── OverviewTags
│ │ │ │ │ ├── OverviewTags.tsx
│ │ │ │ │ ├── OverviewTagsStyles.ts
│ │ │ │ │ └── TagsEditForm
│ │ │ │ │ │ ├── TagsEditForm.tsx
│ │ │ │ │ │ ├── TagsEditFormAutocomplete
│ │ │ │ │ │ └── TagsEditFormAutocomplete.tsx
│ │ │ │ │ │ └── TagsEditFormStyles.ts
│ │ │ │ └── OverviewTerms
│ │ │ │ │ ├── AssignEntityTermForm
│ │ │ │ │ └── AssignEntityTermForm.tsx
│ │ │ │ │ ├── OverviewTerms.tsx
│ │ │ │ │ ├── OverviewTermsStyles.ts
│ │ │ │ │ └── TermItem
│ │ │ │ │ ├── TermItem.styles.ts
│ │ │ │ │ └── TermItem.tsx
│ │ │ ├── QualityTestRunsHistory
│ │ │ │ ├── TestRunItem
│ │ │ │ │ ├── TestRunItem.tsx
│ │ │ │ │ └── TestRunItemStyles.ts
│ │ │ │ ├── TestRunSkeletonItem
│ │ │ │ │ └── TestRunSkeletonItem.tsx
│ │ │ │ ├── TestRunStatusReasonModal
│ │ │ │ │ ├── TestRunStatusReasonModal.tsx
│ │ │ │ │ └── TestRunStatusReasonModalStyles.ts
│ │ │ │ ├── TestRunsHistory.tsx
│ │ │ │ └── TestRunsHistoryStyles.ts
│ │ │ └── TestReport
│ │ │ │ ├── TestReport.tsx
│ │ │ │ ├── TestReportDetails
│ │ │ │ ├── TestReportDetails.tsx
│ │ │ │ ├── TestReportDetailsHistory
│ │ │ │ │ ├── TestReportDetailsHistory.tsx
│ │ │ │ │ ├── TestReportDetailsHistoryItemSkeleton
│ │ │ │ │ │ └── TestReportDetailsHistoryItemSkeleton.tsx
│ │ │ │ │ └── TestReportDetailsHistoryStyles.ts
│ │ │ │ └── TestReportDetailsOverview
│ │ │ │ │ ├── TestReportDetailsOverview.tsx
│ │ │ │ │ ├── TestReportDetailsOverviewParametersModal
│ │ │ │ │ └── TestReportDetailsOverviewParametersModal.tsx
│ │ │ │ │ ├── TestReportDetailsOverviewSkeleton
│ │ │ │ │ └── TestReportDetailsOverviewSkeleton.tsx
│ │ │ │ │ └── TestReportDetailsOverviewStyles.ts
│ │ │ │ ├── TestReportItem
│ │ │ │ ├── TestItem
│ │ │ │ │ ├── TestItem.tsx
│ │ │ │ │ └── TestitemStyles.ts
│ │ │ │ ├── TestReportItem.tsx
│ │ │ │ ├── TestReportItemSkeleton
│ │ │ │ │ └── TestReportItemSkeleton.tsx
│ │ │ │ └── TestReportItemStyles.ts
│ │ │ │ ├── TestReportSkeleton
│ │ │ │ └── TestReportSkeleton.tsx
│ │ │ │ └── TestReportStyles.ts
│ │ ├── DataModelling
│ │ │ ├── DataModelling.tsx
│ │ │ ├── DataModellingRoutes.tsx
│ │ │ ├── DataModellingTabs.tsx
│ │ │ ├── QueryExampleDetails
│ │ │ │ ├── QuertExampleDetailsLinkedEntitiesItem.tsx
│ │ │ │ ├── QuertExampleDetailsLinkedTermsItem.tsx
│ │ │ │ ├── QueryExampleDetailsContainer.tsx
│ │ │ │ ├── QueryExampleDetailsContainerActions.tsx
│ │ │ │ ├── QueryExampleDetailsLinkedEntities.tsx
│ │ │ │ ├── QueryExampleDetailsLinkedTerms.tsx
│ │ │ │ ├── QueryExampleDetailsOverview.tsx
│ │ │ │ └── QueryExampleDetailsTabs.tsx
│ │ │ ├── QueryExampleForm
│ │ │ │ └── QueryExampleForm.tsx
│ │ │ ├── QueryExampleSearchResults
│ │ │ │ ├── QueryExampleSearchResultsSkeletion.tsx
│ │ │ │ └── QueryExamplesList.tsx
│ │ │ ├── QueryExamples.tsx
│ │ │ ├── Relationships.tsx
│ │ │ └── Relationships
│ │ │ │ ├── RelationshipsListItem.tsx
│ │ │ │ ├── RelationshipsSearchInput.tsx
│ │ │ │ ├── RelationshipsSkeleton.tsx
│ │ │ │ ├── RelationshipsTabs.tsx
│ │ │ │ └── RelationshipsTitle.tsx
│ │ ├── DataQuality
│ │ │ ├── DataQuality.styles.ts
│ │ │ ├── DataQuality.tsx
│ │ │ ├── DataQualityContent.tsx
│ │ │ ├── DataQualityFilters
│ │ │ │ ├── DataQualityFilters.tsx
│ │ │ │ ├── DataQualityFiltersStyles.ts
│ │ │ │ ├── FilterItem
│ │ │ │ │ ├── DatasourceFilter.tsx
│ │ │ │ │ ├── MultipleFilterItem
│ │ │ │ │ │ ├── MultipleFilterItem.tsx
│ │ │ │ │ │ ├── MultipleFilterItemAutocomplete
│ │ │ │ │ │ │ ├── MultipleFilterItemAutocomplete.tsx
│ │ │ │ │ │ │ └── MultipleFilterItemAutocompleteStyles.ts
│ │ │ │ │ │ └── SelectedFilterOption
│ │ │ │ │ │ │ ├── SelectedFilterOption.tsx
│ │ │ │ │ │ │ └── SelectedFilterOptionStyles.ts
│ │ │ │ │ ├── NamespaceFilter.tsx
│ │ │ │ │ ├── OwnerFIlter.tsx
│ │ │ │ │ ├── TagFilter.tsx
│ │ │ │ │ └── TitleFilter.tsx
│ │ │ │ └── hooks
│ │ │ │ │ └── index.ts
│ │ │ ├── DataQualityStore
│ │ │ │ ├── DataQualityProvider.tsx
│ │ │ │ └── DataQualityStore.ts
│ │ │ ├── TestResults
│ │ │ │ ├── TestCategoryResults.styles.ts
│ │ │ │ └── TestCategoryResults.tsx
│ │ │ └── interfaces.ts
│ │ ├── Directory
│ │ │ ├── DataSourceList
│ │ │ │ ├── DataSourceList.tsx
│ │ │ │ └── DataSourceTable
│ │ │ │ │ ├── Table.tsx
│ │ │ │ │ └── interfaces.ts
│ │ │ ├── Directory
│ │ │ │ ├── Directory.tsx
│ │ │ │ └── DirectoryItem
│ │ │ │ │ ├── DirectoryItem.styles.ts
│ │ │ │ │ └── DirectoryItem.tsx
│ │ │ ├── DirectoryBreadCrumbs
│ │ │ │ └── DirectoryBreadCrumbs.tsx
│ │ │ ├── DirectoryRoutes.tsx
│ │ │ ├── Entities
│ │ │ │ ├── Entities.tsx
│ │ │ │ ├── EntitiesList
│ │ │ │ │ ├── EntitiesList.tsx
│ │ │ │ │ ├── EntityItem
│ │ │ │ │ │ └── EntityItem.tsx
│ │ │ │ │ └── TableHeader
│ │ │ │ │ │ └── TableHeader.tsx
│ │ │ │ └── EntitiesTabs
│ │ │ │ │ └── EntitiesTabs.tsx
│ │ │ └── shared
│ │ │ │ └── styles.ts
│ │ ├── Management
│ │ │ ├── CollectorsList
│ │ │ │ ├── CollectorForm
│ │ │ │ │ └── CollectorForm.tsx
│ │ │ │ ├── CollectorItem
│ │ │ │ │ ├── CollectorItem.tsx
│ │ │ │ │ ├── CollectorItemStyles.ts
│ │ │ │ │ └── CollectorItemToken
│ │ │ │ │ │ ├── CollectorItemToken.tsx
│ │ │ │ │ │ └── CollectorItemTokenStyles.ts
│ │ │ │ ├── CollectorSkeletonItem
│ │ │ │ │ └── CollectorSkeletonItem.tsx
│ │ │ │ └── CollectorsList.tsx
│ │ │ ├── DataSourcesList
│ │ │ │ ├── DataSourceForm
│ │ │ │ │ └── DataSourceForm.tsx
│ │ │ │ ├── DataSourceItem
│ │ │ │ │ ├── DataSourceItem.tsx
│ │ │ │ │ ├── DataSourceItemStyles.ts
│ │ │ │ │ └── DataSourceItemToken
│ │ │ │ │ │ ├── DataSourceItemToken.tsx
│ │ │ │ │ │ └── DataSourceItemTokenStyles.ts
│ │ │ │ ├── DataSourceSkeletonItem
│ │ │ │ │ └── DataSourceSkeletonItem.tsx
│ │ │ │ └── DataSourcesList.tsx
│ │ │ ├── Integrations
│ │ │ │ ├── Integration
│ │ │ │ │ ├── Integration.tsx
│ │ │ │ │ ├── IntegrationContent
│ │ │ │ │ │ ├── IntegrationCodeSnippet
│ │ │ │ │ │ │ └── IntegrationCodeSnippet.tsx
│ │ │ │ │ │ ├── IntegrationCodeSnippetWithForm
│ │ │ │ │ │ │ └── IntegrationCodeSnippetWithForm.tsx
│ │ │ │ │ │ └── IntegrationContent.tsx
│ │ │ │ │ ├── IntegrationHeader
│ │ │ │ │ │ └── IntegrationHeader.tsx
│ │ │ │ │ ├── IntegrationRoutes
│ │ │ │ │ │ └── IntegrationRoutes.tsx
│ │ │ │ │ └── IntegrationTabs
│ │ │ │ │ │ └── IntegrationTabs.tsx
│ │ │ │ ├── IntegrationPreviewList
│ │ │ │ │ ├── IntegrationPreviewItem
│ │ │ │ │ │ ├── IntegrationPreviewItem.styles.ts
│ │ │ │ │ │ └── IntegrationPreviewItem.tsx
│ │ │ │ │ └── IntegrationPreviewList.tsx
│ │ │ │ └── Integrations.tsx
│ │ │ ├── Management.tsx
│ │ │ ├── ManagementRoutes
│ │ │ │ └── ManagementRoutes.tsx
│ │ │ ├── ManagementSkeletonItem
│ │ │ │ └── ManagementSkeletonItem.tsx
│ │ │ ├── ManagementStyles.ts
│ │ │ ├── ManagementTabs
│ │ │ │ └── ManagementTabs.tsx
│ │ │ ├── NamespaceList
│ │ │ │ ├── EditableNamespaceItem
│ │ │ │ │ ├── EditableNamespaceItem.tsx
│ │ │ │ │ └── EditableNamespaceItemStyles.ts
│ │ │ │ ├── NamespaceForm
│ │ │ │ │ └── NamespaceForm.tsx
│ │ │ │ ├── NamespaceList.tsx
│ │ │ │ └── NamespaceListSkeleton
│ │ │ │ │ └── NamespaceListSkeleton.tsx
│ │ │ ├── OwnerAssociations
│ │ │ │ ├── OwnerAssociations.tsx
│ │ │ │ ├── OwnerAssociationsHeader
│ │ │ │ │ ├── OwnerAssociationForm
│ │ │ │ │ │ └── OwnerAssociationForm.tsx
│ │ │ │ │ ├── OwnerAssociationsHeader.tsx
│ │ │ │ │ └── OwnerAssociationsHeaderStyles.ts
│ │ │ │ ├── OwnerAssociationsList
│ │ │ │ │ ├── OwnerAssociationsActive
│ │ │ │ │ │ ├── ActiveAssociationRequest
│ │ │ │ │ │ │ └── ActiveAssociationRequest.tsx
│ │ │ │ │ │ └── OwnerAssociationsActive.tsx
│ │ │ │ │ ├── OwnerAssociationsNew
│ │ │ │ │ │ ├── NewAssociationRequest
│ │ │ │ │ │ │ └── NewAssociationRequest.tsx
│ │ │ │ │ │ └── OwnerAssociationsNew.tsx
│ │ │ │ │ ├── OwnerAssociationsResolved
│ │ │ │ │ │ ├── OwnerAssociationsResolved.tsx
│ │ │ │ │ │ └── ResolvedAssociationRequest
│ │ │ │ │ │ │ ├── RequestStatus
│ │ │ │ │ │ │ ├── RequestStatus.tsx
│ │ │ │ │ │ │ └── RequestStatusStyles.ts
│ │ │ │ │ │ │ └── ResolvedAssociationRequest.tsx
│ │ │ │ │ └── OwnerAssociationsSharedStyles.ts
│ │ │ │ ├── OwnerAssociationsStore
│ │ │ │ │ ├── OwnerAssociationsAtoms.ts
│ │ │ │ │ └── OwnerAssociationsProvider.tsx
│ │ │ │ └── OwnerAssociationsTabs
│ │ │ │ │ └── OwnerAssociationsTabs.tsx
│ │ │ ├── OwnersList
│ │ │ │ ├── EditableOwnerItem
│ │ │ │ │ ├── EditableOwnerItem.tsx
│ │ │ │ │ └── EditableOwnerItemStyles.ts
│ │ │ │ ├── OwnerForm
│ │ │ │ │ └── OwnerForm.tsx
│ │ │ │ ├── OwnersList.tsx
│ │ │ │ └── OwnersSkeletonItem
│ │ │ │ │ └── OwnersSkeletonItem.tsx
│ │ │ ├── PolicyList
│ │ │ │ ├── PolicyDetails
│ │ │ │ │ ├── PolicyDetails.tsx
│ │ │ │ │ └── PolicyForm
│ │ │ │ │ │ └── PolicyForm.tsx
│ │ │ │ ├── PolicyItem
│ │ │ │ │ ├── PolicyItem.tsx
│ │ │ │ │ └── PolicyItemStyles.ts
│ │ │ │ ├── PolicyList.tsx
│ │ │ │ ├── PolicyListSkeleton
│ │ │ │ │ └── PolicyListSkeleton.tsx
│ │ │ │ └── PolicyListStyles.ts
│ │ │ ├── RolesList
│ │ │ │ ├── RoleForm
│ │ │ │ │ └── RoleForm.tsx
│ │ │ │ ├── RoleItem
│ │ │ │ │ ├── RoleItem.tsx
│ │ │ │ │ └── RoleItemStyles.ts
│ │ │ │ ├── RoleSkeletonItem
│ │ │ │ │ └── RoleSkeletonItem.tsx
│ │ │ │ ├── RolesList.tsx
│ │ │ │ └── RolesListStyles.ts
│ │ │ └── TagsList
│ │ │ │ ├── EditableTagItem
│ │ │ │ ├── EditableTagItem.tsx
│ │ │ │ └── EditableTagItemStyles.ts
│ │ │ │ ├── TagCreateForm
│ │ │ │ ├── TagCreateForm.tsx
│ │ │ │ └── TagCreateFormItem
│ │ │ │ │ ├── TagCreateFormItem.tsx
│ │ │ │ │ └── TagCreateFormItemStyles.ts
│ │ │ │ ├── TagEditForm
│ │ │ │ └── TagEditForm.tsx
│ │ │ │ ├── TagsList.tsx
│ │ │ │ └── TagsSkeletonItem
│ │ │ │ └── TagsSkeletonItem.tsx
│ │ ├── MasterData
│ │ │ ├── LookupTableForm.tsx
│ │ │ ├── LookupTables.tsx
│ │ │ └── LookupTables
│ │ │ │ ├── LookupTablesList.tsx
│ │ │ │ ├── LookupTablesListItem.tsx
│ │ │ │ └── LookupTablesSkeleton.tsx
│ │ ├── Overview
│ │ │ ├── DataEntitiesUsageInfo
│ │ │ │ ├── DataEntitiesUsageInfo.tsx
│ │ │ │ ├── DataEntityUsageInfoView
│ │ │ │ │ ├── DataEntitiesUsageInfoView.styles.ts
│ │ │ │ │ ├── DataEntitiesUsageInfoView.tsx
│ │ │ │ │ ├── DataEntityUsageInfoCard
│ │ │ │ │ │ ├── DataEntitiesUsageInfoCard.styles.ts
│ │ │ │ │ │ ├── DataEntitiesUsageInfoCard.tsx
│ │ │ │ │ │ └── __tests__
│ │ │ │ │ │ │ └── DataEntitiesUsageInfoCard.test.tsx
│ │ │ │ │ └── __tests__
│ │ │ │ │ │ └── DataEntitiesUsageInfoView.test.tsx
│ │ │ │ └── __tests__
│ │ │ │ │ └── DataEntitiesUsageInfo.test.tsx
│ │ │ ├── Directory
│ │ │ │ ├── Directory.tsx
│ │ │ │ └── DirectoryItem
│ │ │ │ │ └── DirectoryItem.tsx
│ │ │ ├── Domains
│ │ │ │ ├── DomainItem
│ │ │ │ │ └── DomainItem.tsx
│ │ │ │ └── Domains.tsx
│ │ │ ├── Overview.tsx
│ │ │ ├── OverviewSkeleton
│ │ │ │ └── OverviewSkeleton.tsx
│ │ │ ├── OverviewStyles.ts
│ │ │ ├── OwnerAssociation
│ │ │ │ ├── OwnerAssociation.tsx
│ │ │ │ ├── OwnerAssociationForm
│ │ │ │ │ ├── OwnerAssociationForm.tsx
│ │ │ │ │ └── OwnerAssociationFormStyles.ts
│ │ │ │ ├── OwnerAssociationStyles.ts
│ │ │ │ └── OwnerEntitiesList
│ │ │ │ │ ├── DataEntityList
│ │ │ │ │ ├── DataEntityList.tsx
│ │ │ │ │ └── DataEntityListStyles.ts
│ │ │ │ │ ├── OwnerEntitiesList.tsx
│ │ │ │ │ ├── OwnerEntitiesListSkeleton
│ │ │ │ │ └── OwnerEntitiesListSkeleton.tsx
│ │ │ │ │ └── OwnerEntitiesListStyles.ts
│ │ │ ├── TopTagsList
│ │ │ │ └── TopTagsList.tsx
│ │ │ └── shared
│ │ │ │ └── ItemsList.styles.ts
│ │ ├── Search
│ │ │ ├── Filters
│ │ │ │ ├── FilterItem
│ │ │ │ │ ├── MultipleFilterItem
│ │ │ │ │ │ ├── MultipleFilterItem.tsx
│ │ │ │ │ │ └── MultipleFilterItemAutocomplete
│ │ │ │ │ │ │ ├── MultipleFilterItemAutocomplete.tsx
│ │ │ │ │ │ │ └── MultipleFilterItemAutocompleteStyles.ts
│ │ │ │ │ ├── SelectedFilterOption
│ │ │ │ │ │ ├── SelectedFilterOption.tsx
│ │ │ │ │ │ └── SelectedFilterOptionStyles.ts
│ │ │ │ │ └── SingleFilterItem
│ │ │ │ │ │ └── SingleFilterItem.tsx
│ │ │ │ ├── Filters.tsx
│ │ │ │ └── FiltersStyles.ts
│ │ │ ├── Results
│ │ │ │ ├── ResultItem
│ │ │ │ │ ├── ResultItem.tsx
│ │ │ │ │ ├── ResultItemStyles.ts
│ │ │ │ │ └── SearchHighlights
│ │ │ │ │ │ ├── SearchHighlights.tsx
│ │ │ │ │ │ └── SearchHighlightsStyles.ts
│ │ │ │ ├── Results.styles.ts
│ │ │ │ ├── Results.tsx
│ │ │ │ ├── SearchResultsSkeleton
│ │ │ │ │ └── SearchResultsSkeleton.tsx
│ │ │ │ ├── SearchResultsTabs
│ │ │ │ │ ├── SearchResultsTabs.tsx
│ │ │ │ │ └── SearchTabsSkeleton
│ │ │ │ │ │ └── SearchTabsSkeleton.tsx
│ │ │ │ └── TableHeader
│ │ │ │ │ └── TableHeader.tsx
│ │ │ └── Search.tsx
│ │ ├── Terms
│ │ │ ├── TermDetails
│ │ │ │ ├── Overview
│ │ │ │ │ ├── Overview.tsx
│ │ │ │ │ ├── OverviewGeneral
│ │ │ │ │ │ ├── OverviewGeneral.tsx
│ │ │ │ │ │ └── OverviewGeneralStyles.ts
│ │ │ │ │ ├── OverviewSkeleton
│ │ │ │ │ │ ├── OverviewSkeleton.tsx
│ │ │ │ │ │ └── OverviewSkeletonStyles.ts
│ │ │ │ │ ├── OverviewStyles.ts
│ │ │ │ │ ├── OverviewTags
│ │ │ │ │ │ ├── OverviewTags.tsx
│ │ │ │ │ │ ├── OverviewTagsStyles.ts
│ │ │ │ │ │ └── TagsEditForm
│ │ │ │ │ │ │ ├── TagsEditForm.tsx
│ │ │ │ │ │ │ └── TagsEditFormStyles.ts
│ │ │ │ │ ├── TermDefinition
│ │ │ │ │ │ ├── TermDefinition.styles.ts
│ │ │ │ │ │ └── TermDefinition.tsx
│ │ │ │ │ ├── TermLinkedTerms
│ │ │ │ │ │ ├── LinkedTermTermForm
│ │ │ │ │ │ │ └── LinkedTermTermForm.tsx
│ │ │ │ │ │ ├── TermItem
│ │ │ │ │ │ │ └── TermItem.tsx
│ │ │ │ │ │ └── TermLinkedTerms.tsx
│ │ │ │ │ └── TermOverview.styles.ts
│ │ │ │ ├── Ownership
│ │ │ │ │ └── OwnershipForm.tsx
│ │ │ │ ├── TermDetails.tsx
│ │ │ │ ├── TermDetailsHeader
│ │ │ │ │ └── TermDetailsHeader.tsx
│ │ │ │ ├── TermDetailsRoutes
│ │ │ │ │ └── TermDetailsRoutes.tsx
│ │ │ │ ├── TermDetailsSkeleton
│ │ │ │ │ └── TermDetailsSkeleton.tsx
│ │ │ │ ├── TermDetailsStyles.ts
│ │ │ │ ├── TermDetailsTabs
│ │ │ │ │ └── TermDetailsTabs.tsx
│ │ │ │ ├── TermLinkedColumnsList
│ │ │ │ │ ├── LinkedColumn
│ │ │ │ │ │ ├── LinkedColumn.tsx
│ │ │ │ │ │ └── LinkedColumnStyles.ts
│ │ │ │ │ ├── LinkedColumnsList.tsx
│ │ │ │ │ ├── LinkedColumnsListSkeleton
│ │ │ │ │ │ ├── LinkedColumnsListSkeleton.tsx
│ │ │ │ │ │ └── LinkedColumnsListSkeletonStyles.ts
│ │ │ │ │ └── LinkedColumnsListStyles.ts
│ │ │ │ ├── TermLinkedEntitiesList
│ │ │ │ │ ├── LinkedEntitiesList.tsx
│ │ │ │ │ ├── LinkedEntitiesListSkeleton
│ │ │ │ │ │ ├── LinkedEntitiesListSkeleton.tsx
│ │ │ │ │ │ └── LinkedEntitiesListSkeletonStyles.ts
│ │ │ │ │ ├── LinkedEntitiesListStyles.ts
│ │ │ │ │ └── LinkedEntity
│ │ │ │ │ │ ├── LinkedEntity.tsx
│ │ │ │ │ │ └── LinkedEntityStyles.ts
│ │ │ │ ├── TermLinkedTermsList
│ │ │ │ │ ├── LinkedTerm
│ │ │ │ │ │ ├── LinkedTerm.tsx
│ │ │ │ │ │ └── LinkedTermStyles.ts
│ │ │ │ │ ├── LinkedTermsList.tsx
│ │ │ │ │ ├── LinkedTermsListSkeleton
│ │ │ │ │ │ ├── LinkedTermsListSkeleton.tsx
│ │ │ │ │ │ └── LinkedTermsListSkeletonStyles.ts
│ │ │ │ │ └── LinkedTermsListStyles.ts
│ │ │ │ └── TermQueryExamples
│ │ │ │ │ ├── AssignTermQueryExampleForm.tsx
│ │ │ │ │ └── TermQueryExamples.tsx
│ │ │ └── TermSearch
│ │ │ │ ├── TermForm
│ │ │ │ └── TermsForm.tsx
│ │ │ │ ├── TermSearch.tsx
│ │ │ │ ├── TermSearchFilters
│ │ │ │ ├── TermSearchFilterItem
│ │ │ │ │ ├── MultipleFilterItem
│ │ │ │ │ │ ├── MultipleFilterItem.tsx
│ │ │ │ │ │ ├── MultipleFilterItemAutocomplete
│ │ │ │ │ │ │ ├── MultipleFilterItemAutocomplete.tsx
│ │ │ │ │ │ │ └── MultipleFilterItemAutocompleteStyles.ts
│ │ │ │ │ │ └── SelectedFilterOption
│ │ │ │ │ │ │ ├── SelectedFilterOption.tsx
│ │ │ │ │ │ │ └── SelectedFilterOptionStyles.ts
│ │ │ │ │ └── SingleFilterItem
│ │ │ │ │ │ └── SingleFilterItem.tsx
│ │ │ │ ├── TermSearchFilters.tsx
│ │ │ │ └── TermSearchFiltersStyles.ts
│ │ │ │ ├── TermSearchHeader
│ │ │ │ └── TermSearchHeader.tsx
│ │ │ │ ├── TermSearchInput
│ │ │ │ └── TermSearchInput.tsx
│ │ │ │ └── TermSearchResults
│ │ │ │ ├── TermSearchResultItem
│ │ │ │ ├── TermSearchResultItem.tsx
│ │ │ │ └── TermSearchResultItemStyles.ts
│ │ │ │ ├── TermSearchResults.tsx
│ │ │ │ ├── TermSearchResultsSkeleton
│ │ │ │ ├── TermSearchResultsSkeleton.tsx
│ │ │ │ └── TermSearchResultsSkeletonStyles.ts
│ │ │ │ └── TermSearchResultsStyles.ts
│ │ └── shared
│ │ │ ├── contexts
│ │ │ ├── Permission
│ │ │ │ ├── PermissionContext.ts
│ │ │ │ ├── PermissionProvider.tsx
│ │ │ │ ├── WithPermissions.tsx
│ │ │ │ └── WithPermissionsProvider.tsx
│ │ │ └── index.ts
│ │ │ ├── elements
│ │ │ ├── Activity
│ │ │ │ ├── ActivityFields
│ │ │ │ │ ├── ActivityFieldHeader
│ │ │ │ │ │ ├── ActivityFieldHeader.tsx
│ │ │ │ │ │ └── ActivityFieldHeaderStyles.ts
│ │ │ │ │ ├── ActivityFieldState
│ │ │ │ │ │ ├── ActivityFieldState.tsx
│ │ │ │ │ │ └── ActivityFieldStateStyles.ts
│ │ │ │ │ ├── AlertActivityField
│ │ │ │ │ │ └── AlertActivityField.tsx
│ │ │ │ │ ├── ArrayActivityField
│ │ │ │ │ │ ├── ArrayActivityField.tsx
│ │ │ │ │ │ └── ArrayActivityFieldStyles.ts
│ │ │ │ │ ├── CustomGroupActivityField
│ │ │ │ │ │ └── CustomGroupActivityField.tsx
│ │ │ │ │ ├── DatasetTermActivityField
│ │ │ │ │ │ ├── DatasetTermActivityField.styles.ts
│ │ │ │ │ │ └── DatasetTermActivityField.tsx
│ │ │ │ │ ├── EntityStatusActivityField
│ │ │ │ │ │ └── EntityStatusActivityField.tsx
│ │ │ │ │ ├── EnumsActivityField
│ │ │ │ │ │ ├── EnumsActivityField.tsx
│ │ │ │ │ │ └── EnumsActivityFieldStyles.ts
│ │ │ │ │ ├── OwnerActivityField
│ │ │ │ │ │ ├── OwnerActivityField.tsx
│ │ │ │ │ │ └── OwnerWithTitle
│ │ │ │ │ │ │ ├── OwnerWithTitle.tsx
│ │ │ │ │ │ │ └── OwnerWithTitleStyles.ts
│ │ │ │ │ ├── StringActivityField
│ │ │ │ │ │ └── StringActivityField.tsx
│ │ │ │ │ └── TermActivityField
│ │ │ │ │ │ ├── TermActivityField.styles.ts
│ │ │ │ │ │ └── TermActivityField.tsx
│ │ │ │ ├── ActivityFilterItems
│ │ │ │ │ ├── CalendarFilter
│ │ │ │ │ │ └── CalendarFilter.tsx
│ │ │ │ │ ├── MultipleFilter
│ │ │ │ │ │ ├── MultipleFilter.tsx
│ │ │ │ │ │ ├── MultipleFilterAutocomplete
│ │ │ │ │ │ │ ├── MultipleFilterAutocomplete.tsx
│ │ │ │ │ │ │ └── MultipleFilterAutocompleteStyles.ts
│ │ │ │ │ │ └── SelectedFilterOption
│ │ │ │ │ │ │ ├── SelectedFilterOption.tsx
│ │ │ │ │ │ │ └── SelectedFilterOptionStyles.ts
│ │ │ │ │ └── SingleFilter
│ │ │ │ │ │ └── SingleFilter.tsx
│ │ │ │ ├── ActivityResultsItemSkeleton
│ │ │ │ │ └── ActivityResultsItemSkeleton.tsx
│ │ │ │ ├── ActivityResultsList
│ │ │ │ │ ├── ActivityResultsList.tsx
│ │ │ │ │ └── ActivityResultsListStyles.ts
│ │ │ │ ├── common.ts
│ │ │ │ └── index.ts
│ │ │ ├── AlertIcon
│ │ │ │ └── AlertIcon.tsx
│ │ │ ├── AlertStatusItem
│ │ │ │ ├── AlertStatusItem.tsx
│ │ │ │ └── AlertStatusItemStyles.ts
│ │ │ ├── AppAvatar
│ │ │ │ ├── AppAvatar.tsx
│ │ │ │ └── AppAvatarStyles.ts
│ │ │ ├── AppCircularProgress
│ │ │ │ ├── AppCircularProgress.tsx
│ │ │ │ ├── AppCircularProgressStyles.ts
│ │ │ │ └── interfaces.ts
│ │ │ ├── AppDatePicker
│ │ │ │ └── AppDatePicker.tsx
│ │ │ ├── AppDateRangePicker
│ │ │ │ ├── AppDateRangePicker.tsx
│ │ │ │ ├── AppDateRangePickerFooter
│ │ │ │ │ └── AppDateRangePickerFooter.tsx
│ │ │ │ ├── AppDateRangePickerStyles.ts
│ │ │ │ └── overrides.css
│ │ │ ├── AppDateTimePicker
│ │ │ │ ├── AppDateTimePicker.tsx
│ │ │ │ └── style.overrides.ts
│ │ │ ├── AppErrorBlock
│ │ │ │ └── AppErrorBlock.tsx
│ │ │ ├── AppErrorPage
│ │ │ │ └── AppErrorPage.tsx
│ │ │ ├── AppJSONEditor
│ │ │ │ ├── AppJSONEditor.tsx
│ │ │ │ └── AppJSONEditorStyles.css
│ │ │ ├── AppLoadingPage
│ │ │ │ ├── AppLoadingPage.tsx
│ │ │ │ └── AppLoadingPageStyles.ts
│ │ │ ├── AppMenu
│ │ │ │ ├── AppMenu.tsx
│ │ │ │ └── AppMenuStyles.ts
│ │ │ ├── AppMenuItem
│ │ │ │ ├── AppMenuItem.tsx
│ │ │ │ └── AppMenuItemStyles.ts
│ │ │ ├── AppPaper
│ │ │ │ ├── AppPaper.tsx
│ │ │ │ └── AppPaperStyles.tsx
│ │ │ ├── AppPopover
│ │ │ │ ├── AppPopover.tsx
│ │ │ │ └── AppPopoverStyles.ts
│ │ │ ├── AppRadio
│ │ │ │ ├── AppRadio.tsx
│ │ │ │ └── AppRadioStyles.ts
│ │ │ ├── AppSelect
│ │ │ │ ├── AppSelect.tsx
│ │ │ │ └── AppSelectStyles.ts
│ │ │ ├── AppSuspenseWrapper
│ │ │ │ └── AppSuspenseWrapper.tsx
│ │ │ ├── AppSwitch
│ │ │ │ ├── AppSwitch.tsx
│ │ │ │ └── AppSwitchStyles.ts
│ │ │ ├── AppTabs
│ │ │ │ ├── AppTab
│ │ │ │ │ ├── AppLinkTab.tsx
│ │ │ │ │ ├── AppTab.tsx
│ │ │ │ │ └── TabStyles.ts
│ │ │ │ ├── AppTabLabel
│ │ │ │ │ ├── AppTabLabel.tsx
│ │ │ │ │ └── AppTabLabelStyles.ts
│ │ │ │ ├── AppTabs.tsx
│ │ │ │ ├── AppTabsStyles.ts
│ │ │ │ ├── interfaces.ts
│ │ │ │ └── useSetSelectedTab.ts
│ │ │ ├── AppToast
│ │ │ │ ├── AppToast.tsx
│ │ │ │ └── AppToastStyles.ts
│ │ │ ├── AppToolbar
│ │ │ │ ├── AppInfoMenu
│ │ │ │ │ ├── AppInfoMenu.tsx
│ │ │ │ │ └── AppInfoMenuStyles.ts
│ │ │ │ ├── AppToolbar.tsx
│ │ │ │ ├── AppToolbarStyles.ts
│ │ │ │ ├── SelectLanguage
│ │ │ │ │ └── SelectLanguage.tsx
│ │ │ │ └── ToolbarTabs
│ │ │ │ │ └── ToolbarTabs.tsx
│ │ │ ├── AppTooltip
│ │ │ │ ├── AppTooltip.tsx
│ │ │ │ └── AppTooltipStyles.tsx
│ │ │ ├── Autocomplete
│ │ │ │ ├── DataEntityChannelsAutocomplete
│ │ │ │ │ └── DataEntityChannelsAutocomplete.tsx
│ │ │ │ ├── NamespaceAutocomplete
│ │ │ │ │ └── NamespaceAutocomplete.tsx
│ │ │ │ ├── OwnerAutocomplete
│ │ │ │ │ └── OwnerAutocomplete.tsx
│ │ │ │ ├── OwnerIdAutocomplete
│ │ │ │ │ └── OwnerIdAutocomplete.tsx
│ │ │ │ ├── OwnerTitleAutocomplete
│ │ │ │ │ └── OwnerTitleAutocomplete.tsx
│ │ │ │ ├── PolicyAutocomplete
│ │ │ │ │ └── PolicyAutocomplete.tsx
│ │ │ │ ├── ProviderAutocomplete
│ │ │ │ │ └── ProviderAutocomplete.tsx
│ │ │ │ ├── RoleAutocomplete
│ │ │ │ │ └── RoleAutocomplete.tsx
│ │ │ │ ├── SearchSuggestionsAutocomplete
│ │ │ │ │ └── SearchSuggestionsAutocomplete.tsx
│ │ │ │ ├── SlackChannelsAutocomplete
│ │ │ │ │ └── SlackChannelsAutocomplete.tsx
│ │ │ │ └── TermsAutocomplete
│ │ │ │ │ └── TermsAutocomplete.tsx
│ │ │ ├── AutocompleteSuggestion
│ │ │ │ ├── AutocompleteSuggestion.tsx
│ │ │ │ └── AutocompleteSuggestionStyles.ts
│ │ │ ├── BooleanFormatted
│ │ │ │ ├── BooleanFormatted.tsx
│ │ │ │ └── __tests__
│ │ │ │ │ └── BooleanFormatted.test.tsx
│ │ │ ├── BreadCrumbs
│ │ │ │ ├── BreadCrumbs.styles.ts
│ │ │ │ └── BreadCrumbs.tsx
│ │ │ ├── Button
│ │ │ │ ├── Button.styles.ts
│ │ │ │ ├── Button.tsx
│ │ │ │ ├── helpers.ts
│ │ │ │ └── interfaces.ts
│ │ │ ├── Cell
│ │ │ │ └── OwnerRoleCell
│ │ │ │ │ └── OwnerRoleCell.tsx
│ │ │ ├── Checkbox
│ │ │ │ ├── Checkbox.styles.ts
│ │ │ │ └── Checkbox.tsx
│ │ │ ├── CollapsibleInfoContainer
│ │ │ │ ├── CollapsibleInfoContainer.styles.ts
│ │ │ │ └── CollapsibleInfoContainer.tsx
│ │ │ ├── ConfirmationDialog
│ │ │ │ ├── ConfirmationDialog.tsx
│ │ │ │ └── ConfirmationDialogStyles.ts
│ │ │ ├── CopyButton
│ │ │ │ └── CopyButton.tsx
│ │ │ ├── DataEntityDetailsPreview
│ │ │ │ ├── DataEntityDetailsPreview.styles.ts
│ │ │ │ └── DataEntityDetailsPreview.tsx
│ │ │ ├── DatasourceLogo
│ │ │ │ ├── DatasourceLogo.tsx
│ │ │ │ └── helpers.ts
│ │ │ ├── DialogWrapper
│ │ │ │ ├── DialogWrapper.tsx
│ │ │ │ └── DialogWrapperStyles.ts
│ │ │ ├── DonutChart
│ │ │ │ └── DonutChart.tsx
│ │ │ ├── EmptyContentPlaceholder
│ │ │ │ └── EmptyContentPlaceholder.tsx
│ │ │ ├── EntitiesListModal
│ │ │ │ ├── EntitiesListModal.tsx
│ │ │ │ └── EntitiesListModalStyles.ts
│ │ │ ├── EntityClassItem
│ │ │ │ ├── EntityClassItem.styles.ts
│ │ │ │ ├── EntityClassItem.tsx
│ │ │ │ ├── EntityClassItemStyles.ts
│ │ │ │ └── __tests__
│ │ │ │ │ └── EntityClassItem.test.tsx
│ │ │ ├── EntityStatus
│ │ │ │ ├── DefaultEntityStatus
│ │ │ │ │ └── DefaultEntityStatus.tsx
│ │ │ │ ├── EntityStatus.styles.ts
│ │ │ │ ├── EntityStatus.tsx
│ │ │ │ ├── SelectableEntityStatus
│ │ │ │ │ └── SelectableEntityStatus.tsx
│ │ │ │ └── StatusSettingsForm
│ │ │ │ │ ├── Option
│ │ │ │ │ ├── Option.styles.ts
│ │ │ │ │ └── Option.tsx
│ │ │ │ │ └── StatusSettingsForm.tsx
│ │ │ ├── EntityTypeItem
│ │ │ │ ├── EntityTypeItem.tsx
│ │ │ │ └── EntityTypeItemStyles.ts
│ │ │ ├── FileInput
│ │ │ │ ├── FileInput.styles.ts
│ │ │ │ └── FileInput.tsx
│ │ │ ├── IconicInfoBadge
│ │ │ │ ├── IconicInfoBadge.styles.ts
│ │ │ │ └── IconicInfoBadge.tsx
│ │ │ ├── InfoItem
│ │ │ │ └── InfoItem.tsx
│ │ │ ├── Input
│ │ │ │ ├── Input.styles.ts
│ │ │ │ ├── Input.tsx
│ │ │ │ └── interfaces.ts
│ │ │ ├── LabelItem
│ │ │ │ ├── LabelItem.tsx
│ │ │ │ └── LabelItemStyles.ts
│ │ │ ├── LabeledInfoItem
│ │ │ │ ├── LabeledInfoItem.tsx
│ │ │ │ └── LabeledInfoItemStyles.ts
│ │ │ ├── ListLayout
│ │ │ │ ├── ListLayout.styles.ts
│ │ │ │ └── ListLayout.tsx
│ │ │ ├── MainSearchInput
│ │ │ │ └── MainSearchInput.tsx
│ │ │ ├── Markdown
│ │ │ │ ├── Markdown.styles.ts
│ │ │ │ └── Markdown.tsx
│ │ │ ├── MetadataItem
│ │ │ │ └── MetadataItem.tsx
│ │ │ ├── MetadataStale
│ │ │ │ └── MetadataStale.tsx
│ │ │ ├── MetricFamily
│ │ │ │ └── MetricFamily.tsx
│ │ │ ├── NumberFormatted
│ │ │ │ ├── NumberFormatted.tsx
│ │ │ │ └── __tests__
│ │ │ │ │ └── NumberFormatted.test.tsx
│ │ │ ├── QueryExamples
│ │ │ │ ├── QueryExamplesAutocomplete.tsx
│ │ │ │ ├── QueryExamplesListHeader.tsx
│ │ │ │ ├── QueryExamplesListItem.tsx
│ │ │ │ ├── QueryExamplesSkeleton.tsx
│ │ │ │ ├── QueryExamplesTermUnlinkButton.tsx
│ │ │ │ └── QueryExamplesUnlinkButton.tsx
│ │ │ ├── Relationships
│ │ │ │ ├── RelationshipDatasetInfo.tsx
│ │ │ │ ├── RelationshipIcon.tsx
│ │ │ │ ├── RelationshipListHeader.tsx
│ │ │ │ ├── RelationshipListItem.tsx
│ │ │ │ ├── RelationshipSkeleton.tsx
│ │ │ │ └── RelationshipTypes
│ │ │ │ │ ├── EntityRelationship.tsx
│ │ │ │ │ └── GraphRelationship.tsx
│ │ │ ├── RestrictedRoute
│ │ │ │ └── RestrictedRoute.tsx
│ │ │ ├── SearchInput
│ │ │ │ └── SearchInput.tsx
│ │ │ ├── SkeletonWrapper
│ │ │ │ └── SkeletonWrapper.tsx
│ │ │ ├── StyledComponents
│ │ │ │ ├── PageWithLeftSidebar.ts
│ │ │ │ ├── ScrollableContainer.ts
│ │ │ │ └── Table.ts
│ │ │ ├── TagItem
│ │ │ │ ├── TagItem.tsx
│ │ │ │ └── TagItemStyles.ts
│ │ │ ├── TestRunStatusIcon
│ │ │ │ ├── TestRunStatusIcon.tsx
│ │ │ │ └── TestRunStatusIconStyles.ts
│ │ │ ├── TestRunStatusItem
│ │ │ │ ├── TestRunStatusItem.tsx
│ │ │ │ └── TestRunStatusItemStyles.ts
│ │ │ ├── TestRunStatusReasonModal
│ │ │ │ └── TestRunStatusReasonModal.tsx
│ │ │ ├── TextFormatted
│ │ │ │ ├── TextFormatted.tsx
│ │ │ │ └── __tests__
│ │ │ │ │ └── TextFormatted.test.tsx
│ │ │ ├── TruncatedCell
│ │ │ │ ├── TruncatedCell.tsx
│ │ │ │ ├── TruncatedCellMenu
│ │ │ │ │ └── TruncatedCellMenu.tsx
│ │ │ │ └── TruncatedCellStyles.ts
│ │ │ ├── TruncatedList
│ │ │ │ └── TruncatedList.tsx
│ │ │ ├── TruncatedSVGText
│ │ │ │ └── TruncatedSVGText.tsx
│ │ │ ├── WithFeature
│ │ │ │ └── WithFeature.tsx
│ │ │ ├── forms
│ │ │ │ ├── AssignTermForm.tsx
│ │ │ │ └── ColumnForm.tsx
│ │ │ └── index.ts
│ │ │ ├── icons
│ │ │ ├── AcceptIcon.tsx
│ │ │ ├── ActivityCreatedIcon.tsx
│ │ │ ├── ActivityDeletedIcon.tsx
│ │ │ ├── ActivityUpdatedIcon.tsx
│ │ │ ├── AddIcon.tsx
│ │ │ ├── AlertAnomalyIcon.tsx
│ │ │ ├── AlertDQTestIcon.tsx
│ │ │ ├── AlertIcon.tsx
│ │ │ ├── AlertJobIcon.tsx
│ │ │ ├── AlertSchemaIcon.tsx
│ │ │ ├── AppSvgIcon.tsx
│ │ │ ├── CalendarIcon.tsx
│ │ │ ├── CatalogIcon.tsx
│ │ │ ├── ChevronIcon.tsx
│ │ │ ├── ClearIcon.tsx
│ │ │ ├── CloseIcon.tsx
│ │ │ ├── ColumnsIcon.tsx
│ │ │ ├── CopyIcon.tsx
│ │ │ ├── DeleteIcon.tsx
│ │ │ ├── DocumentIcon.tsx
│ │ │ ├── DownstreamArrow.tsx
│ │ │ ├── DownstreamIcon.tsx
│ │ │ ├── DropdownIcon.tsx
│ │ │ ├── EditIcon.tsx
│ │ │ ├── EmptyIcon.tsx
│ │ │ ├── FeedbackIcon.tsx
│ │ │ ├── FolderIcon.tsx
│ │ │ ├── GearIcon.tsx
│ │ │ ├── GitBookIcon.tsx
│ │ │ ├── GitHubIcon.tsx
│ │ │ ├── ImageIcon.tsx
│ │ │ ├── InfoIcon.tsx
│ │ │ ├── InformationIcon.tsx
│ │ │ ├── IntegratedIcon.tsx
│ │ │ ├── KebabIcon.tsx
│ │ │ ├── LinkIcon.tsx
│ │ │ ├── LinkedTermIcon.tsx
│ │ │ ├── LockIcon.tsx
│ │ │ ├── MinusIcon.tsx
│ │ │ ├── MoreIcon.tsx
│ │ │ ├── NoDataIcon.tsx
│ │ │ ├── PlusIcon.tsx
│ │ │ ├── PreviewIcon.tsx
│ │ │ ├── QuestionIcon.tsx
│ │ │ ├── RecursiveIcon.tsx
│ │ │ ├── RejectIcon.tsx
│ │ │ ├── RowsIcon.tsx
│ │ │ ├── SearchIcon.tsx
│ │ │ ├── SlackIcon.tsx
│ │ │ ├── StaleIcon.tsx
│ │ │ ├── StarIcon.tsx
│ │ │ ├── StrokedInfoIcon.tsx
│ │ │ ├── SuccessIcon.tsx
│ │ │ ├── SystemIcon.tsx
│ │ │ ├── TargetIcon.tsx
│ │ │ ├── TimeGapIcon.tsx
│ │ │ ├── TriangularUnionIcon.tsx
│ │ │ ├── UnlinkIcon.tsx
│ │ │ ├── UpstreamArrow.tsx
│ │ │ ├── UpstreamIcon.tsx
│ │ │ ├── UserIcon.tsx
│ │ │ ├── UserSyncIcon.tsx
│ │ │ ├── WaitIcon.tsx
│ │ │ └── index.ts
│ │ │ └── styled-components
│ │ │ ├── asterisk.ts
│ │ │ ├── container.ts
│ │ │ ├── index.ts
│ │ │ ├── layout.ts
│ │ │ ├── scrollable-container.ts
│ │ │ └── section.ts
│ ├── index.tsx
│ ├── lib
│ │ ├── api.ts
│ │ ├── constants.ts
│ │ ├── errorHandling.tsx
│ │ ├── genericContext.ts
│ │ ├── helpers.ts
│ │ ├── hooks
│ │ │ ├── api
│ │ │ │ ├── appInfo.ts
│ │ │ │ ├── dataEntity.ts
│ │ │ │ ├── dataEntityAttachments
│ │ │ │ │ ├── dataEntityFiles.ts
│ │ │ │ │ └── dataEntityLinks.ts
│ │ │ │ ├── dataModelling
│ │ │ │ │ ├── queryExamples.ts
│ │ │ │ │ ├── relatioships.ts
│ │ │ │ │ └── searchQueryExamples.ts
│ │ │ │ ├── dataQuality.ts
│ │ │ │ ├── datasetApi
│ │ │ │ │ ├── datasetApi.ts
│ │ │ │ │ └── helpers.ts
│ │ │ │ ├── datasetField.ts
│ │ │ │ ├── datasource.ts
│ │ │ │ ├── directory.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── integration.ts
│ │ │ │ ├── masterData
│ │ │ │ │ ├── lookupTableDefinitions.ts
│ │ │ │ │ ├── lookupTableRows.ts
│ │ │ │ │ ├── lookupTables.ts
│ │ │ │ │ ├── referenceData.ts
│ │ │ │ │ └── referenceDataSearch.ts
│ │ │ │ ├── namespace.ts
│ │ │ │ ├── owner.ts
│ │ │ │ ├── ownerAssociationRequest.ts
│ │ │ │ ├── permissions.ts
│ │ │ │ ├── tag.ts
│ │ │ │ ├── tags.ts
│ │ │ │ ├── terms.ts
│ │ │ │ ├── title.ts
│ │ │ │ └── utils.ts
│ │ │ ├── index.ts
│ │ │ ├── useActivityHeaderIcon.tsx
│ │ │ ├── useAppDateTime.ts
│ │ │ ├── useCollapse.ts
│ │ │ ├── useCreateQueryExampleSearch.ts
│ │ │ ├── useCreateSearch.ts
│ │ │ ├── useLocalStorage.ts
│ │ │ ├── usePermissions.ts
│ │ │ ├── usePrevious.ts
│ │ │ ├── useQueryParams.ts
│ │ │ ├── useScrollBarWidth.ts
│ │ │ └── useTermWiki.ts
│ │ ├── interfaces
│ │ │ ├── dataEntity.ts
│ │ │ ├── directory.ts
│ │ │ ├── index.ts
│ │ │ ├── integration.ts
│ │ │ └── shared.ts
│ │ └── tests
│ │ │ ├── mocks
│ │ │ ├── dataEntityMocks.ts
│ │ │ └── index.ts
│ │ │ └── testHelpers.tsx
│ ├── locales
│ │ ├── i18n.ts
│ │ └── translations
│ │ │ ├── ch.json
│ │ │ ├── en.json
│ │ │ ├── es.json
│ │ │ ├── fr.json
│ │ │ ├── hy.json
│ │ │ └── ua.json
│ ├── redux
│ │ ├── actions
│ │ │ ├── activity.actions.ts
│ │ │ ├── alert.actions.ts
│ │ │ ├── appInfo.actions.ts
│ │ │ ├── collector.actions.ts
│ │ │ ├── dataCollaboration.actions.ts
│ │ │ ├── dataEntityRun.actions.ts
│ │ │ ├── dataQualityTest.actions.ts
│ │ │ ├── dataentity.actions.ts
│ │ │ ├── dataentityLineage.actions.ts
│ │ │ ├── dataentityLinkedList.actions.ts
│ │ │ ├── dataentitySearch.actions.ts
│ │ │ ├── datasetStructure.actions.ts
│ │ │ ├── datasource.actions.ts
│ │ │ ├── index.ts
│ │ │ ├── metadata.actions.ts
│ │ │ ├── namespace.actions.ts
│ │ │ ├── owners.actions.ts
│ │ │ ├── policy.actions.ts
│ │ │ ├── profile.actions.ts
│ │ │ ├── roles.actions.ts
│ │ │ ├── tags.actions.ts
│ │ │ ├── termLinkedList.actions.ts
│ │ │ ├── termSearch.actions.ts
│ │ │ └── terms.actions.ts
│ │ ├── interfaces
│ │ │ ├── activities.ts
│ │ │ ├── alerts.ts
│ │ │ ├── common.ts
│ │ │ ├── dataCollaboration.ts
│ │ │ ├── dataEntitySearch.ts
│ │ │ ├── dataQualityTest.ts
│ │ │ ├── dataentities.ts
│ │ │ ├── dataentityLineage.ts
│ │ │ ├── datasetStructure.ts
│ │ │ ├── graph.ts
│ │ │ ├── index.ts
│ │ │ ├── loader.ts
│ │ │ ├── state.ts
│ │ │ └── termSearch.ts
│ │ ├── lib
│ │ │ ├── handleResponseThunk.ts
│ │ │ ├── helpers.ts
│ │ │ ├── hooks.ts
│ │ │ └── unauthenticatedMiddleware.ts
│ │ ├── selectors
│ │ │ ├── activities.selectors.ts
│ │ │ ├── alert.selectors.ts
│ │ │ ├── appInfo.selectors.ts
│ │ │ ├── collectors.selectors.ts
│ │ │ ├── dataCollaboration.selectors.ts
│ │ │ ├── dataEntityRun.selector.ts
│ │ │ ├── dataQualityTest.selectors.ts
│ │ │ ├── dataentity.selectors.ts
│ │ │ ├── dataentityLineage.selectors.ts
│ │ │ ├── dataentityLinkedList.selectors.ts
│ │ │ ├── dataentitySearch.selectors.ts
│ │ │ ├── datasetStructure.selectors.ts
│ │ │ ├── datasources.selectors.ts
│ │ │ ├── index.ts
│ │ │ ├── loader-selectors.ts
│ │ │ ├── mainContentLoader.selectors.ts
│ │ │ ├── metadata.selectors.ts
│ │ │ ├── namespace.selectors.ts
│ │ │ ├── owners.selectors.ts
│ │ │ ├── policies.selectors.ts
│ │ │ ├── profile.selectors.ts
│ │ │ ├── roles.selectors.ts
│ │ │ ├── tags.selectors.ts
│ │ │ ├── termLinkedList.selectors.ts
│ │ │ ├── termSearch.selectors.ts
│ │ │ └── terms.selectors.ts
│ │ ├── slices
│ │ │ ├── activity.slice.ts
│ │ │ ├── alerts.slice.ts
│ │ │ ├── appInfo.slice.ts
│ │ │ ├── collectors.slice.ts
│ │ │ ├── dataCollaboration.slice.ts
│ │ │ ├── dataEntityGroupLinkedList.slice.ts
│ │ │ ├── dataEntityLineage
│ │ │ │ ├── dataEntityLineage.slice.ts
│ │ │ │ └── dataEntityLineageHelpers.ts
│ │ │ ├── dataEntityRuns.slice.ts
│ │ │ ├── dataEntitySearch.slice.ts
│ │ │ ├── dataQualityTest.slice.ts
│ │ │ ├── dataentities.slice.ts
│ │ │ ├── datasetStructure.slice.ts
│ │ │ ├── datasources.slice.ts
│ │ │ ├── index.ts
│ │ │ ├── loader.slice.ts
│ │ │ ├── metadata.slice.ts
│ │ │ ├── namespace.slice.ts
│ │ │ ├── owners.slice.ts
│ │ │ ├── policy.slice.ts
│ │ │ ├── profile.slice.ts
│ │ │ ├── roles.slice.ts
│ │ │ ├── tags.slice.ts
│ │ │ ├── termLinkedList.slice.ts
│ │ │ ├── termSearch.slice.ts
│ │ │ └── terms.slice.ts
│ │ ├── store
│ │ │ └── index.ts
│ │ └── thunks
│ │ │ ├── activity.thunks.ts
│ │ │ ├── alerts.thunks.ts
│ │ │ ├── appInfo.thunks.ts
│ │ │ ├── collectors.thunks.ts
│ │ │ ├── dataCollaboration.thunks.ts
│ │ │ ├── dataEntityRun.thunk.ts
│ │ │ ├── dataQualityTest.thunks.ts
│ │ │ ├── dataentities.thunks.ts
│ │ │ ├── dataentitiesSearch.thunks.ts
│ │ │ ├── dataentityLineage.thunks.ts
│ │ │ ├── dataentityLinkedList.thunks.ts
│ │ │ ├── datasetStructure.thunks.ts
│ │ │ ├── datasources.thunks.ts
│ │ │ ├── index.ts
│ │ │ ├── metadata.thunks.ts
│ │ │ ├── namespace.thunks.ts
│ │ │ ├── owners.thunks.ts
│ │ │ ├── permissions.thunks.ts
│ │ │ ├── policy.thunks.ts
│ │ │ ├── profile.thunks.ts
│ │ │ ├── roles.thunks.ts
│ │ │ ├── tags.thunks.ts
│ │ │ ├── termLinkedList.thunks.ts
│ │ │ ├── termSearch.thunks.ts
│ │ │ └── terms.thunks.ts
│ ├── routes
│ │ ├── activityRoutes.ts
│ │ ├── alertsRoutes.ts
│ │ ├── dataEntitiesRoutes.ts
│ │ ├── dataModelling
│ │ │ ├── dataModelling.ts
│ │ │ ├── index.ts
│ │ │ ├── queryExamplesRoutes.ts
│ │ │ └── relationshipsRoutes.ts
│ │ ├── dataQualityRoutes.ts
│ │ ├── directoryRoutes.ts
│ │ ├── index.ts
│ │ ├── managementRoutes.ts
│ │ ├── masterDataRoutes.ts
│ │ ├── searchRoutes.ts
│ │ └── termsRoutes.ts
│ ├── setupTests.ts
│ ├── theme
│ │ ├── breakpoints.ts
│ │ ├── interfaces.ts
│ │ ├── mui.theme.ts
│ │ ├── overrides.ts
│ │ ├── palette.ts
│ │ ├── shadows.ts
│ │ └── typography.ts
│ └── vite-env.d.ts
├── tsconfig.json
└── vite.config.ts
├── settings.gradle
└── tests
├── .eslintignore
├── .eslintrc.js
├── .husky
├── .gitignore
└── pre-commit
├── .nvmrc
├── .prettierignore
├── .prettierrc.json
├── .vscode
└── settings.json
├── README.md
├── api
├── api-base.ts
├── app-service.ts
├── auth.ts
├── helpers
│ └── api-status-check.ts
├── interfaces
│ └── my-profile.ts
├── login-service.ts
└── pilot.ts
├── common-utilities
├── array-utils.ts
├── common-utils.ts
├── error-handler.ts
├── interfaces
│ └── shared.ts
├── load-document.ts
└── object-util.ts
├── config
├── configuration.ts
├── custom.d.ts
├── environments.json
├── test-base.ts
├── test-name-utils.ts
└── users.json
├── docker
├── .env
├── docker-compose.yaml
├── injector
│ ├── datasources
│ │ └── datasources.json
│ └── samples
│ │ ├── 01_etl_aqa.json
│ │ ├── 02_oracle_fl_aqa.json
│ │ ├── 03_oracle_ingestion_aqa.json
│ │ └── 04_airflow_ingestion_aqa.json
└── up-platform.sh
├── envs
└── .env
├── features
├── activity
│ └── activity.spec.ts
├── filters
│ └── filters.spec.ts
├── owners
│ └── add-owner.spec.ts
├── search
│ ├── search.spec.ts
│ └── search_in_data_entity.spec.ts
└── tags
│ ├── add-tag.spec.ts
│ ├── change-tag.spec.ts
│ └── delete-tag.spec.ts
├── hooks
└── global-setup.ts
├── package-lock.json
├── package.json
├── playwright.config.ts
├── tsconfig.eslint.json
├── tsconfig.json
└── ui
├── elements
├── button.ts
├── checkbox.ts
├── context-menu.ts
├── custom-element.ts
├── dropdown.ts
├── file-chooser.ts
├── input-field.ts
├── list.ts
├── radio.ts
├── table.ts
├── text-box.ts
└── toggle.ts
├── pages
├── activity
│ └── activity.page.ts
├── base-page.ts
├── catalog
│ └── catalog.page.ts
├── data_entity
│ ├── data_entity.page.ts
│ ├── overview.page.ts
│ └── structure.ts
├── index.ts
├── login-page.ts
├── main
│ └── main-page.ts
├── management
│ ├── collectors-page.ts
│ ├── datasources-page.ts
│ ├── labels-page.ts
│ ├── management-page.ts
│ ├── namespaces-page.ts
│ ├── owners-page.ts
│ └── tags-page.ts
├── modals
│ ├── add-owner-modal.ts
│ ├── add-tag-modal.ts
│ ├── base-modal.ts
│ ├── delete-tag-modal.ts
│ ├── edit-tag-modal.ts
│ └── index.ts
└── shared
│ └── top-panel.ts
├── steps
├── base-step.ts
├── go-to-steps.ts
├── index.ts
└── login.ts
└── utils
└── common-utils.ts
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @opendatadiscovery/maintainers
2 |
3 | # BACKEND
4 | /*.gradle @opendatadiscovery/backend
5 |
6 | /odd-platform-api-contract/ @opendatadiscovery/backend
7 | /odd-platform-api/ @opendatadiscovery/backend
8 | /odd-platform-specification/ @opendatadiscovery/backend
9 |
10 | /dev/ @opendatadiscovery/backend
11 |
12 | # FRONTEND
13 | /odd-platform-ui/ @opendatadiscovery/frontend
14 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Official documentation
4 | url: https://docs.opendatadiscovery.org
5 | about: Before reaching out for support, please refer to our documentation.
6 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | **What changes did you make?** (Give an overview)
2 |
3 | **Is there anything you'd like reviewers to focus on?**
4 |
5 | **How to test**
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | build/
2 | out/
3 | target/
4 | venv/
5 | .idea
6 | Thumbs.db
7 | .DS_Store
8 | .gradle
9 | .fleet
10 | *.iml
11 | *.ipr
12 | *.iws
13 | .project
14 | .settings
15 | .classpath
16 | *.code-workspace
17 | __pycache__/
18 | *.py[cod]
19 | *$py.class
20 | node_modules/
21 | /tests/test-results/
22 | /tests/playwright-report/
23 | /tests/dist/
24 | /playwright/.cache/
25 | .tool-versions
26 | .vscode
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .idea
2 | dist
3 | envs
4 | node_modules
5 | reports
6 | **/generated/**/*.ts
7 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 120,
3 | "tabWidth": 2,
4 | "useTabs": false,
5 | "semi": true,
6 | "singleQuote": true,
7 | "quoteProps": "as-needed",
8 | "jsxSingleQuote": false,
9 | "trailingComma": "all",
10 | "bracketSpacing": true,
11 | "jsxBracketSameLine": true,
12 | "arrowParens": "avoid",
13 | "endOfLine": "auto"
14 | }
--------------------------------------------------------------------------------
/buildSrc/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'groovy-gradle-plugin'
3 | }
4 |
5 | repositories {
6 | mavenCentral()
7 | }
8 |
9 | dependencies {
10 | implementation libs.bundles.jooq.codegen
11 | }
12 |
13 | gradlePlugin {
14 | plugins {
15 | GeneratorPlugin {
16 | id = "org.opendatadiscovery.internal.plugin.jooq-generate"
17 | implementationClass = "org.opendatadiscovery.internal.plugin.JooqGeneratePlugin"
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/buildSrc/settings.gradle:
--------------------------------------------------------------------------------
1 | dependencyResolutionManagement {
2 | versionCatalogs {
3 | create("libs") {
4 | from(files("../gradle/libs.versions.toml"))
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/buildSrc/src/main/groovy/org/opendatadiscovery/internal/plugin/Constants.groovy:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.internal.plugin
2 |
3 | class Constants {
4 | static final String EXTENSION_NAME = "jooqGenerate"
5 | static final String TASK_NAME = "jooqDockerGenerate"
6 | static final String CONFIGURATION_NAME = "jooqGenerationContainer"
7 | }
8 |
--------------------------------------------------------------------------------
/config/checkstyle/suppressions.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/docker/.env:
--------------------------------------------------------------------------------
1 | POSTGRES_USER=odd-platform
2 | POSTGRES_PASSWORD=odd-platform-password
3 | POSTGRES_DATABASE=odd-platform
4 |
5 | PLATFORM_HOST_URL=http://odd-platform:8080
6 |
7 | SAMPLE_POSTGRES_USER=sample_odd_platform
8 | SAMPLE_POSTGRES_PASSWORD=sample_odd_platform_password
9 | SAMPLE_POSTGRES_DATABASE=sample_odd_platform
--------------------------------------------------------------------------------
/docker/config/collector_config.yaml:
--------------------------------------------------------------------------------
1 |
2 | default_pulling_interval: 1
3 | token: ""
4 | plugins:
5 | - type: postgresql
6 | name: postgresql-step2-test
7 | host: !ENV ${SAMPLE_POSTGRES_HOST}
8 | port: 5432
9 | database: !ENV ${SAMPLE_POSTGRES_DATABASE}
10 | user: !ENV ${SAMPLE_POSTGRES_USER}
11 | password: !ENV ${SAMPLE_POSTGRES_PASSWORD}
--------------------------------------------------------------------------------
/docker/examples/.env:
--------------------------------------------------------------------------------
1 | POSTGRES_USER=odd-platform
2 | POSTGRES_PASSWORD=odd-platform-password
3 | POSTGRES_DATABASE=odd-platform
4 |
--------------------------------------------------------------------------------
/docker/examples/config/alert_rules.yaml:
--------------------------------------------------------------------------------
1 | groups:
2 | - name: test.alert
3 | rules:
4 | - alert: TestAlert
5 | expr: oddplatform_dataset_field_max_length > 0
--------------------------------------------------------------------------------
/docker/examples/config/alertmanager.yaml:
--------------------------------------------------------------------------------
1 | route:
2 | group_by: [ 'job' ]
3 | group_wait: 1s
4 | group_interval: 5m
5 | repeat_interval: 12h
6 | receiver: webhook
7 | routes:
8 | - receiver: webhook
9 | continue: true
10 | receivers:
11 | - name: webhook
12 | webhook_configs:
13 | - url: 'http://odd-platform:8080/ingestion/alert/alertmanager'
--------------------------------------------------------------------------------
/docker/examples/config/otel_collector.yaml:
--------------------------------------------------------------------------------
1 | receivers:
2 | otlp:
3 | protocols:
4 | grpc:
5 |
6 | exporters:
7 | logging:
8 | loglevel: debug
9 | prometheusremotewrite:
10 | endpoint: "${PRW_ENDPOINT}"
11 | insecure: true
12 |
13 | extensions:
14 | zpages:
15 | endpoint: 0.0.0.0:55679
16 |
17 | service:
18 | extensions: [ zpages ]
19 | pipelines:
20 | metrics:
21 | receivers: [ otlp ]
22 | exporters: [ prometheusremotewrite ]
--------------------------------------------------------------------------------
/docker/examples/config/prometheus.yaml:
--------------------------------------------------------------------------------
1 | global:
2 | scrape_interval: 15s
3 | evaluation_interval: 15s
4 |
5 | rule_files:
6 | - /etc/prometheus/alert_rules.yaml
7 | alerting:
8 | alertmanagers:
9 | - static_configs:
10 | - targets:
11 | - 'alertmanager:9093'
12 |
13 | scrape_configs: [ ]
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.parallel=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/images/amazon-athena-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/amazon-athena-logo.png
--------------------------------------------------------------------------------
/images/amazon-glue-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/amazon-glue-logo.jpg
--------------------------------------------------------------------------------
/images/amazon-redshift-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/amazon-redshift-logo.jpg
--------------------------------------------------------------------------------
/images/amazon-sagemaker-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/amazon-sagemaker-logo.jpg
--------------------------------------------------------------------------------
/images/apache-airflow-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/apache-airflow-logo.jpg
--------------------------------------------------------------------------------
/images/apache-kafka-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/apache-kafka-logo.jpg
--------------------------------------------------------------------------------
/images/apache-spark-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/apache-spark-logo.png
--------------------------------------------------------------------------------
/images/bigquery-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/bigquery-logo.png
--------------------------------------------------------------------------------
/images/cassandra.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/cassandra.png
--------------------------------------------------------------------------------
/images/clickhouse-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/clickhouse-logo.png
--------------------------------------------------------------------------------
/images/dbt-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/dbt-logo.jpg
--------------------------------------------------------------------------------
/images/dvc-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/dvc-logo.jpg
--------------------------------------------------------------------------------
/images/dynamodb-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/dynamodb-logo.png
--------------------------------------------------------------------------------
/images/elasticsearch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/elasticsearch.png
--------------------------------------------------------------------------------
/images/feast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/feast.png
--------------------------------------------------------------------------------
/images/great-expectations-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/great-expectations-logo.jpg
--------------------------------------------------------------------------------
/images/hive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/hive.png
--------------------------------------------------------------------------------
/images/kinesis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/kinesis.png
--------------------------------------------------------------------------------
/images/kubeflow-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/kubeflow-logo.jpg
--------------------------------------------------------------------------------
/images/mongodb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/mongodb.png
--------------------------------------------------------------------------------
/images/mssql.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/mssql.png
--------------------------------------------------------------------------------
/images/mysql-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/mysql-logo.jpg
--------------------------------------------------------------------------------
/images/neo4j.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/neo4j.png
--------------------------------------------------------------------------------
/images/odbc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/odbc.png
--------------------------------------------------------------------------------
/images/odd-data-catalog-ui.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/odd-data-catalog-ui.jpg
--------------------------------------------------------------------------------
/images/open-data-discovery-platform-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/open-data-discovery-platform-logo.png
--------------------------------------------------------------------------------
/images/open-data-discovery-platform-odd-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/open-data-discovery-platform-odd-logo.png
--------------------------------------------------------------------------------
/images/oracle-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/oracle-logo.jpg
--------------------------------------------------------------------------------
/images/postgresql-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/postgresql-logo.jpg
--------------------------------------------------------------------------------
/images/quicksight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/quicksight.png
--------------------------------------------------------------------------------
/images/s3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/s3.png
--------------------------------------------------------------------------------
/images/sagemaker-featurestore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/sagemaker-featurestore.png
--------------------------------------------------------------------------------
/images/sagemaker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/sagemaker.png
--------------------------------------------------------------------------------
/images/snowflake-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/snowflake-logo.jpg
--------------------------------------------------------------------------------
/images/sqs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/sqs.png
--------------------------------------------------------------------------------
/images/tableau-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/tableau-logo.png
--------------------------------------------------------------------------------
/images/tarantool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/tarantool.png
--------------------------------------------------------------------------------
/images/trino-og.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opendatadiscovery/odd-platform/f363b2aebd8c362882fbd02dd04cf20fd64f7dfa/images/trino-og.png
--------------------------------------------------------------------------------
/injector/start.sh:
--------------------------------------------------------------------------------
1 | pip install requests
2 | python ./injector/inject.py
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/auth/Provider.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.auth;
2 |
3 | public enum Provider {
4 | COGNITO, GITHUB, GOOGLE, ODD_IAM, AZURE
5 | }
6 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/auth/manager/AuthorizationManagerType.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.auth.manager;
2 |
3 | public enum AuthorizationManagerType {
4 | NO_CONTEXT,
5 | DATA_ENTITY,
6 | DATASET_FIELD,
7 | TERM,
8 | QUERY_EXAMPLE,
9 | LOOKUP_TABLE,
10 | LOOKUP_TABLE_DEFINITION,
11 | LOOKUP_TABLE_DATA,
12 | ALERT,
13 | DEG
14 | }
15 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/auth/session/SessionConstants.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.auth.session;
2 |
3 | public class SessionConstants {
4 | public static String COLLECTOR_ID_SESSION_KEY = "collectorId";
5 | }
6 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/auth/util/SecurityRule.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.auth.util;
2 |
3 | import org.opendatadiscovery.oddplatform.auth.manager.AuthorizationManagerType;
4 | import org.opendatadiscovery.oddplatform.dto.policy.PolicyPermissionDto;
5 | import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher;
6 |
7 | public record SecurityRule(AuthorizationManagerType type, ServerWebExchangeMatcher matcher,
8 | PolicyPermissionDto permission) {
9 | }
10 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/config/AdditionalLinkConfiguration.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.config;
2 |
3 | import org.opendatadiscovery.oddplatform.config.properties.AdditionalLinkProperties;
4 | import org.springframework.boot.context.properties.EnableConfigurationProperties;
5 | import org.springframework.context.annotation.Configuration;
6 |
7 | @Configuration
8 | @EnableConfigurationProperties(AdditionalLinkProperties.class)
9 | public class AdditionalLinkConfiguration {
10 | }
11 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/config/properties/AdditionalLinkProperties.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.config.properties;
2 |
3 | import java.util.List;
4 | import org.springframework.boot.context.properties.ConfigurationProperties;
5 |
6 | @ConfigurationProperties("odd")
7 | public record AdditionalLinkProperties(List links) {
8 | public record Link(String title, String url) {
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/config/properties/GenAIProperties.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.config.properties;
2 |
3 | import lombok.Data;
4 | import org.springframework.boot.context.properties.ConfigurationProperties;
5 |
6 | @ConfigurationProperties("genai")
7 | @Data
8 | public class GenAIProperties {
9 | private boolean enabled;
10 | private String url;
11 | private int requestTimeout;
12 | }
13 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/config/properties/MetricExporterProperties.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.config.properties;
2 |
3 | import java.net.URI;
4 | import lombok.Data;
5 | import org.springframework.boot.context.properties.ConfigurationProperties;
6 |
7 | @ConfigurationProperties("metrics.export")
8 | @Data
9 | public class MetricExporterProperties {
10 | private URI otlpEndpoint;
11 | }
12 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/dto/MessageChannelDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.dto;
2 |
3 | import lombok.Builder;
4 |
5 | @Builder
6 | public record MessageChannelDto(String id, String name) {
7 | }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/dto/MessageEventDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MessagePojo;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MessageProviderEventPojo;
5 |
6 | public record MessageEventDto(MessageProviderEventPojo event, MessagePojo parentMessage) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/dto/MessageEventPayload.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.dto;
2 |
3 | import lombok.Builder;
4 |
5 | @Builder
6 | public record MessageEventPayload(String messageId, String messageText, String messageAuthor) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/dto/MessageEventRequest.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.dto;
2 |
3 | import lombok.Builder;
4 |
5 | @Builder
6 | public record MessageEventRequest(Object event,
7 | MessageProviderDto provider,
8 | MessageEventActionDto action) {
9 | }
10 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/dto/MessageEventStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.dto;
2 |
3 | import lombok.Getter;
4 |
5 | public enum MessageEventStateDto {
6 | PENDING(1),
7 | PROCESSING_FAILED(2);
8 | @Getter
9 | private final short code;
10 |
11 | MessageEventStateDto(final int code) {
12 | this.code = ((short) code);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/dto/MessageProviderDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.dto;
2 |
3 | public enum MessageProviderDto {
4 | SLACK
5 | }
6 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/dto/MessageProviderIdentity.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.dto;
2 |
3 | import lombok.Builder;
4 |
5 | @Builder
6 | public record MessageProviderIdentity(String providerMessageChannel,
7 | String providerMessageId,
8 | MessageProviderDto messageProvider) {
9 | }
10 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/dto/MessageUserDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.dto;
2 |
3 | import lombok.Builder;
4 |
5 | @Builder
6 | public record MessageUserDto(String id, String name, String userAvatar) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/exception/DataCollaborationMessageSenderException.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.exception;
2 |
3 | public class DataCollaborationMessageSenderException extends RuntimeException {
4 | public DataCollaborationMessageSenderException(final Throwable cause) {
5 | super(cause);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/exception/SlackAPIException.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.exception;
2 |
3 | public class SlackAPIException extends RuntimeException {
4 | public SlackAPIException(final String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/service/MessageProviderClientFactory.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.service;
2 |
3 | import org.opendatadiscovery.oddplatform.datacollaboration.dto.MessageProviderDto;
4 |
5 | public interface MessageProviderClientFactory {
6 | MessageProviderClient getOrFail(final MessageProviderDto messageProvider);
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/datacollaboration/service/MessageProviderEventHandlerFactory.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.datacollaboration.service;
2 |
3 | import org.opendatadiscovery.oddplatform.datacollaboration.dto.MessageProviderDto;
4 |
5 | public interface MessageProviderEventHandlerFactory {
6 | MessageProviderEventHandler getOrFail(final MessageProviderDto messageProvider);
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/AssociatedOwnerDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.OwnerPojo;
4 |
5 | public record AssociatedOwnerDto(String username,
6 | OwnerPojo owner,
7 | OwnerAssociationRequestDto lastRequestDto) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/CollectorDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.CollectorPojo;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.NamespacePojo;
5 |
6 | public record CollectorDto(CollectorPojo collectorPojo, NamespacePojo namespace, TokenDto tokenDto) {
7 | }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DataEntityDomainInfoDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.DataEntityPojo;
4 |
5 | public record DataEntityDomainInfoDto(DataEntityPojo domain, long childrenCount) {
6 | }
7 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DataEntityDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Builder;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 | import org.opendatadiscovery.oddplatform.model.tables.pojos.DataEntityPojo;
8 |
9 | @Data
10 | @AllArgsConstructor
11 | @NoArgsConstructor
12 | @Builder
13 | public class DataEntityDto {
14 | protected DataEntityPojo dataEntity;
15 | protected boolean hasAlerts;
16 | }
17 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DataEntityFilledField.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | public enum DataEntityFilledField {
4 | INTERNAL_NAME,
5 | INTERNAL_DESCRIPTION,
6 | INTERNAL_METADATA,
7 | OWNERS,
8 | CUSTOM_GROUP,
9 | INTERNAL_TAGS,
10 | TERMS,
11 | DATASET_FIELD_DESCRIPTION,
12 | DATASET_FIELD_TAGS,
13 | DATASET_FIELD_ENUMS,
14 | DATASET_FIELD_TERMS,
15 | DATASET_FIELD_INTERNAL_NAME,
16 | MANUALLY_CREATED
17 | }
18 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DataEntityGroupItemDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | public record DataEntityGroupItemDto(String oddrn, boolean isUpperGroup) {
4 | }
5 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DataEntityHighlightDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | public class DataEntityHighlightDto {
4 | private String externalName;
5 | private String internalName;
6 | }
7 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DataEntitySpecificAttributesDelta.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import java.util.Set;
4 |
5 | public record DataEntitySpecificAttributesDelta(String oddrn,
6 | Set entityClasses,
7 | String oldAttrsJson,
8 | String newAttrsJson) {
9 | }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DataEntityTotalDelta.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import java.util.Map;
4 |
5 | public record DataEntityTotalDelta(Long totalDelta,
6 | Map> entityDelta) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DataSourceDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.DataSourcePojo;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.NamespacePojo;
5 |
6 | public record DataSourceDto(DataSourcePojo dataSource, NamespacePojo namespace, TokenDto token) {
7 | public DataSourceDto(final DataSourcePojo dataSource, final TokenDto token) {
8 | this(dataSource, null, token);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DatasetFieldWithTagsDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import java.util.Set;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.DatasetFieldPojo;
5 | import org.opendatadiscovery.oddplatform.model.tables.pojos.TagPojo;
6 |
7 | public record DatasetFieldWithTagsDto(DatasetFieldPojo datasetFieldPojo, Set tags) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/DatasetStructureDelta.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import java.util.List;
4 | import lombok.Data;
5 | import org.opendatadiscovery.oddplatform.model.tables.pojos.DatasetFieldPojo;
6 |
7 | @Data
8 | public class DatasetStructureDelta {
9 | private final List penultimate;
10 | private final List latest;
11 | }
12 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/EnumValueDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import java.util.List;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.EnumValuePojo;
5 |
6 | public record EnumValueDto(String fieldOddrn, long fieldId, List enumValues) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/FileDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.springframework.core.io.Resource;
4 |
5 | public record FileDto(Resource resource, String fileName) {
6 | }
7 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/LookupTableColumnDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.LookupTablesDefinitionsPojo;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.LookupTablesPojo;
5 |
6 | public record LookupTableColumnDto(LookupTablesPojo tablesPojo,
7 | LookupTablesDefinitionsPojo columnPojo) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/MessageDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import lombok.Builder;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MessagePojo;
5 |
6 | @Builder
7 | public record MessageDto(MessagePojo message, long childrenMessagesCount) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/OwnerAssociationRequestActivityDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.OwnerAssociationRequestActivityPojo;
4 |
5 | public record OwnerAssociationRequestActivityDto(OwnerAssociationRequestActivityPojo activityPojo,
6 | OwnerAssociationRequestDto associationRequestDto) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/OwnerAssociationRequestActivityType.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | public enum OwnerAssociationRequestActivityType {
4 | REQUEST_CREATED,
5 | REQUEST_DECLINED,
6 | REQUEST_APPROVED,
7 | REQUEST_MANUALLY_APPROVED,
8 | REQUEST_MANUALLY_DECLINED
9 | }
10 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/OwnershipPair.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import com.fasterxml.jackson.annotation.JsonProperty;
4 |
5 | public record OwnershipPair(@JsonProperty("owner_name") String ownerName,
6 | @JsonProperty("title_name") String titleName) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/ReferenceTableDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import lombok.Builder;
4 | import lombok.Getter;
5 | import lombok.Setter;
6 | import org.opendatadiscovery.oddplatform.model.tables.pojos.NamespacePojo;
7 |
8 | @Getter
9 | @Setter
10 | @Builder
11 | public class ReferenceTableDto {
12 | private String name;
13 | private String tableName;
14 | private String tableDescription;
15 | private NamespacePojo namespacePojo;
16 | }
17 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/RelationshipTypeDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | public enum RelationshipTypeDto {
4 | ERD,
5 | GRAPH
6 | }
7 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/RoleDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import java.util.Collection;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.PolicyPojo;
5 | import org.opendatadiscovery.oddplatform.model.tables.pojos.RolePojo;
6 |
7 | public record RoleDto(RolePojo pojo, Collection policies) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/SLA.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | public enum SLA {
4 | RED,
5 | YELLOW,
6 | GREEN
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/SearchFilterDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Builder;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | @Data
9 | @AllArgsConstructor
10 | @NoArgsConstructor
11 | @Builder
12 | public class SearchFilterDto {
13 | private long entityId;
14 | private String entityName;
15 | private boolean selected;
16 | private FacetType type;
17 | }
18 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/SearchFilterId.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Builder;
5 | import lombok.Data;
6 |
7 | @Data
8 | @Builder
9 | @AllArgsConstructor
10 | public class SearchFilterId {
11 | private final long entityId;
12 | private final String name;
13 | }
14 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/TagDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.TagPojo;
4 |
5 | public record TagDto(TagPojo tagPojo, Long usedCount, Boolean external) {
6 | }
7 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/TagOrigin.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | public enum TagOrigin {
4 | INTERNAL,
5 | EXTERNAL,
6 | EXTERNAL_STATISTICS
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/TestStatusWithSeverityDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.api.contract.model.DataQualityTestSeverity;
4 | import org.opendatadiscovery.oddplatform.ingestion.contract.model.QualityRunStatus;
5 |
6 | public record TestStatusWithSeverityDto(QualityRunStatus status,
7 | DataQualityTestSeverity severity) {
8 | }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/TokenDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.TokenPojo;
4 |
5 | public record TokenDto(TokenPojo tokenPojo, boolean showToken) {
6 | public TokenDto(final TokenPojo pojo) {
7 | this(pojo, false);
8 | }
9 |
10 | public static TokenDto visibleToken(final TokenPojo token) {
11 | return new TokenDto(token, true);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/ActivityContextInfo.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import lombok.Builder;
4 | import lombok.Getter;
5 |
6 | @Builder
7 | @Getter
8 | public class ActivityContextInfo {
9 | private final Long dataEntityId;
10 | private final String oldState;
11 | }
12 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/ActivityCreateEvent.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import lombok.Builder;
4 | import lombok.Getter;
5 |
6 | @Builder
7 | @Getter
8 | public class ActivityCreateEvent {
9 | private long dataEntityId;
10 | private ActivityEventTypeDto eventType;
11 | private String oldState;
12 | private String newState;
13 | private boolean systemEvent;
14 | }
15 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/ActivityDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.ActivityPojo;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.DataEntityPojo;
5 | import org.opendatadiscovery.oddplatform.model.tables.pojos.OwnerPojo;
6 |
7 | public record ActivityDto(ActivityPojo activity, OwnerPojo user, DataEntityPojo dataEntity) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/AlertStatusUpdatedActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import org.opendatadiscovery.oddplatform.dto.alert.AlertStatusEnum;
4 | import org.opendatadiscovery.oddplatform.dto.alert.AlertTypeEnum;
5 |
6 | public record AlertStatusUpdatedActivityStateDto(AlertStatusEnum status, AlertTypeEnum type) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/BusinessNameActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import com.fasterxml.jackson.annotation.JsonProperty;
4 |
5 | public record BusinessNameActivityStateDto(@JsonProperty("internal_name") String internalName) {
6 | }
7 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/DataEntityStatusUpdatedDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import com.fasterxml.jackson.annotation.JsonProperty;
4 | import java.time.LocalDateTime;
5 |
6 | public record DataEntityStatusUpdatedDto(String status,
7 | @JsonProperty("status_switch_time") LocalDateTime statusSwitchTime) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/DatasetFieldEnumValuesActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | public record DatasetFieldEnumValuesActivityStateDto(Long id, String name) {
4 | }
5 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/DatasetFieldTagActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | public record DatasetFieldTagActivityStateDto(Long id, String name) {
4 | }
5 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/DatasetFieldTermsActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import java.util.List;
4 | import org.jooq.JSONB;
5 |
6 | public record DatasetFieldTermsActivityStateDto(Long id, String name, JSONB type,
7 | List terms) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/DatasetFieldValuesActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import com.fasterxml.jackson.annotation.JsonProperty;
4 | import java.util.List;
5 | import org.jooq.JSONB;
6 |
7 | public record DatasetFieldValuesActivityStateDto(
8 | Long id,
9 | String name,
10 | JSONB type,
11 | String description,
12 | @JsonProperty("enum_values") List enumValues) {
13 | }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/DescriptionActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | public record DescriptionActivityStateDto(String description) {
4 | }
5 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/OwnershipActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import com.fasterxml.jackson.annotation.JsonProperty;
4 |
5 | public record OwnershipActivityStateDto(@JsonProperty("owner_name") String ownerName,
6 | @JsonProperty("title_name") String titleName) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/TagActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | public record TagActivityStateDto(Long id, String name, Boolean important) {
4 | }
5 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/activity/TermActivityStateDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.activity;
2 |
3 | import com.fasterxml.jackson.annotation.JsonProperty;
4 |
5 | public record TermActivityStateDto(@JsonProperty("term_id") Long termId, String term, String namespace,
6 | @JsonProperty("is_description_link") Boolean isDescriptionLink) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/alert/ExternalAlert.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.alert;
2 |
3 | import java.net.URI;
4 | import java.time.LocalDateTime;
5 | import java.util.Map;
6 | import lombok.Data;
7 | import lombok.NoArgsConstructor;
8 |
9 | @Data
10 | @NoArgsConstructor
11 | public class ExternalAlert {
12 | private Map labels;
13 | private URI generatorURL;
14 | private LocalDateTime startsAt;
15 | }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/attributes/LinkedUrlAttribute.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.attributes;
2 |
3 | public record LinkedUrlAttribute(String name, String url) {
4 | }
5 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/dataset/DatasetVersionFields.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.dataset;
2 |
3 | import java.util.Set;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.DatasetFieldPojo;
5 | import org.opendatadiscovery.oddplatform.model.tables.pojos.DatasetVersionPojo;
6 |
7 | public record DatasetVersionFields(DatasetVersionPojo versionPojo, Set fields) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/lineage/DataEntityGroupLineageDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.lineage;
2 |
3 | import java.util.List;
4 |
5 | public record DataEntityGroupLineageDto(List lineageItems) {
6 | }
7 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/lineage/LineageNodeDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.lineage;
2 |
3 | import org.opendatadiscovery.oddplatform.dto.DataEntityDimensionsDto;
4 |
5 | public record LineageNodeDto(DataEntityDimensionsDto entity, Integer childrenCount, Integer parentsCount) {
6 | }
7 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/lineage/LineageStreamKind.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.lineage;
2 |
3 | public enum LineageStreamKind {
4 | UPSTREAM,
5 | DOWNSTREAM
6 | }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metadata/DatasetFieldMetadataDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metadata;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.DatasetFieldMetadataValuePojo;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MetadataFieldPojo;
5 |
6 | public record DatasetFieldMetadataDto(MetadataFieldPojo metadataField, DatasetFieldMetadataValuePojo value) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metadata/MetadataBinding.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metadata;
2 |
3 | public record MetadataBinding(long entityId, long metadataFieldId) {
4 | }
5 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metadata/MetadataDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metadata;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MetadataFieldPojo;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MetadataFieldValuePojo;
5 |
6 | public record MetadataDto(MetadataFieldPojo metadataField, MetadataFieldValuePojo metadataFieldValue) { }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metadata/MetadataInfo.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metadata;
2 |
3 | public record MetadataInfo(MetadataKey key, Long referenceId, Object value) {
4 | }
5 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metadata/MetadataOrigin.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metadata;
2 |
3 | public enum MetadataOrigin {
4 | INTERNAL,
5 | EXTERNAL
6 | }
7 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metadata/MetadataTypeEnum.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metadata;
2 |
3 | public enum MetadataTypeEnum {
4 | INTEGER,
5 | FLOAT,
6 | ARRAY,
7 | STRING,
8 | BOOLEAN,
9 | DATETIME,
10 | JSON,
11 | UNKNOWN
12 | }
13 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metric/ExternalMetricLastValueDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metric;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.ExternalMetricLastValuePojo;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MetricFamilyPojo;
5 |
6 | public record ExternalMetricLastValueDto(ExternalMetricLastValuePojo pojo,
7 | MetricFamilyPojo familyPojo) {
8 | }
9 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metric/MetricLabelValueDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metric;
2 |
3 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MetricLabelPojo;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MetricLabelValuePojo;
5 |
6 | public record MetricLabelValueDto(MetricLabelValuePojo labelValue, MetricLabelPojo label) {
7 | }
8 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metric/MetricSeriesDto.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metric;
2 |
3 | import java.util.List;
4 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MetricPointPojo;
5 | import org.opendatadiscovery.oddplatform.model.tables.pojos.MetricSeriesPojo;
6 |
7 | public record MetricSeriesDto(MetricSeriesPojo series,
8 | List points) {
9 | }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metric/MetricSeriesValueType.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metric;
2 |
3 | import lombok.Getter;
4 | import lombok.RequiredArgsConstructor;
5 |
6 | @RequiredArgsConstructor
7 | @Getter
8 | public enum MetricSeriesValueType {
9 | VALUE(1, ""),
10 | COUNT(2, "_count"),
11 | SUM(3, "_sum"),
12 | CREATED(4, "_created"),
13 | BUCKET(5, "_bucket"),
14 | QUANTILE(6, "_quantile");
15 |
16 | private final int code;
17 | private final String suffix;
18 | }
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metric/prometheus/PrometheusData.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metric.prometheus;
2 |
3 | import java.util.List;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @NoArgsConstructor
9 | public class PrometheusData {
10 | private String resultType;
11 | private List result;
12 | }
13 |
--------------------------------------------------------------------------------
/odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/dto/metric/prometheus/PrometheusMetric.java:
--------------------------------------------------------------------------------
1 | package org.opendatadiscovery.oddplatform.dto.metric.prometheus;
2 |
3 | import java.util.List;
4 | import java.util.Map;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | @Data
9 | @NoArgsConstructor
10 | public class PrometheusMetric {
11 | private Map metric;
12 | private List