mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-27 18:07:57 +00:00
fix(dataProduct) Show entity count excluding soft deleted entities (#8444)
Co-authored-by: Joshua Eilers <eilers.joshua@gmail.com>
This commit is contained in:
parent
4f961dab2a
commit
7bbeedddc4
@ -645,6 +645,7 @@ public class GmsGraphQLEngine {
|
||||
configureOrganisationRoleResolvers(builder);
|
||||
configureGlossaryNodeResolvers(builder);
|
||||
configureDomainResolvers(builder);
|
||||
configureDataProductResolvers(builder);
|
||||
configureAssertionResolvers(builder);
|
||||
configurePolicyResolvers(builder);
|
||||
configureDataProcessInstanceResolvers(builder);
|
||||
@ -1679,6 +1680,13 @@ public class GmsGraphQLEngine {
|
||||
);
|
||||
}
|
||||
|
||||
private void configureDataProductResolvers(final RuntimeWiring.Builder builder) {
|
||||
builder.type("DataProduct", typeWiring -> typeWiring
|
||||
.dataFetcher("entities", new ListDataProductAssetsResolver(this.entityClient))
|
||||
.dataFetcher("relationships", new EntityRelationshipsResultResolver(graphClient))
|
||||
);
|
||||
}
|
||||
|
||||
private void configureAssertionResolvers(final RuntimeWiring.Builder builder) {
|
||||
builder.type("Assertion", typeWiring -> typeWiring.dataFetcher("relationships",
|
||||
new EntityRelationshipsResultResolver(graphClient))
|
||||
|
||||
@ -5,6 +5,7 @@ import com.linkedin.common.urn.Urn;
|
||||
import com.linkedin.common.urn.UrnUtils;
|
||||
import com.linkedin.data.DataMap;
|
||||
import com.linkedin.datahub.graphql.QueryContext;
|
||||
import com.linkedin.datahub.graphql.generated.DataProduct;
|
||||
import com.linkedin.datahub.graphql.generated.EntityType;
|
||||
import com.linkedin.datahub.graphql.generated.SearchAcrossEntitiesInput;
|
||||
import com.linkedin.datahub.graphql.generated.SearchResults;
|
||||
@ -50,7 +51,9 @@ public class ListDataProductAssetsResolver implements DataFetcher<CompletableFut
|
||||
@Override
|
||||
public CompletableFuture<SearchResults> get(DataFetchingEnvironment environment) {
|
||||
final QueryContext context = environment.getContext();
|
||||
final Urn dataProductUrn = UrnUtils.getUrn(environment.getArgument("urn"));
|
||||
// get urn from either input or source (in the case of "entities" field)
|
||||
final String urn = environment.getArgument("urn") != null ? environment.getArgument("urn") : ((DataProduct) environment.getSource()).getUrn();
|
||||
final Urn dataProductUrn = UrnUtils.getUrn(urn);
|
||||
final SearchAcrossEntitiesInput input =
|
||||
bindArgument(environment.getArgument("input"), SearchAcrossEntitiesInput.class);
|
||||
|
||||
|
||||
@ -10890,6 +10890,11 @@ type DataProduct implements Entity {
|
||||
"""
|
||||
relationships(input: RelationshipsInput!): EntityRelationshipsResult
|
||||
|
||||
"""
|
||||
Children entities inside of the DataProduct
|
||||
"""
|
||||
entities(input: SearchAcrossEntitiesInput): SearchResults
|
||||
|
||||
"""
|
||||
The structured glossary terms associated with the Data Product
|
||||
"""
|
||||
@ -10926,7 +10931,7 @@ type DataProductProperties {
|
||||
externalUrl: String
|
||||
|
||||
"""
|
||||
Number of children entities inside of the Data Product
|
||||
Number of children entities inside of the Data Product. This number includes soft deleted entities.
|
||||
"""
|
||||
numAssets: Int
|
||||
|
||||
|
||||
@ -132,7 +132,7 @@ export class DataProductEntity implements Entity<DataProduct> {
|
||||
globalTags={data.tags}
|
||||
glossaryTerms={data.glossaryTerms}
|
||||
domain={data.domain?.domain}
|
||||
entityCount={data?.properties?.numAssets || undefined}
|
||||
entityCount={data?.entities?.total || undefined}
|
||||
externalUrl={data.properties?.externalUrl}
|
||||
/>
|
||||
);
|
||||
@ -149,7 +149,7 @@ export class DataProductEntity implements Entity<DataProduct> {
|
||||
globalTags={data.tags}
|
||||
glossaryTerms={data.glossaryTerms}
|
||||
domain={data.domain?.domain}
|
||||
entityCount={data?.properties?.numAssets || undefined}
|
||||
entityCount={data?.entities?.total || undefined}
|
||||
externalUrl={data.properties?.externalUrl}
|
||||
/>
|
||||
);
|
||||
@ -162,7 +162,7 @@ export class DataProductEntity implements Entity<DataProduct> {
|
||||
getOverridePropertiesFromEntity = (data: DataProduct) => {
|
||||
const name = data?.properties?.name;
|
||||
const externalUrl = data?.properties?.externalUrl;
|
||||
const entityCount = data?.properties?.numAssets || undefined;
|
||||
const entityCount = data?.entities?.total || undefined;
|
||||
return {
|
||||
name,
|
||||
externalUrl,
|
||||
|
||||
@ -24,7 +24,6 @@ fragment dataProductSearchFields on DataProduct {
|
||||
name
|
||||
description
|
||||
externalUrl
|
||||
numAssets
|
||||
}
|
||||
ownership {
|
||||
...ownershipFields
|
||||
@ -38,6 +37,9 @@ fragment dataProductSearchFields on DataProduct {
|
||||
domain {
|
||||
...entityDomain
|
||||
}
|
||||
entities(input: { start: 0, count: 0, query: "*" }) {
|
||||
total
|
||||
}
|
||||
}
|
||||
|
||||
mutation createDataProduct($input: CreateDataProductInput!) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user