Skip to content

Commit a02e74f

Browse files
authored
fix(entities): support for API filters for filtered data specs (#232)
* fix(entities): support for API filters for filtered data specs * nit: remove extra line
1 parent a602821 commit a02e74f

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

hypertrace-graphql-entity-schema/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ dependencies {
2424
implementation(commonLibs.hypertrace.grpcutils.client)
2525
implementation(projects.hypertraceGraphqlLabelsSchemaApi)
2626

27+
implementation(localLibs.core.request.transformation)
2728
implementation(localLibs.core.context)
2829
implementation(localLibs.core.grpc)
2930
implementation(localLibs.core.schema.utils)

hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/dao/GatewayServiceEntityDao.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import lombok.extern.slf4j.Slf4j;
1414
import org.hypertrace.core.graphql.common.request.AttributeRequest;
1515
import org.hypertrace.core.graphql.context.GraphQlRequestContext;
16+
import org.hypertrace.core.graphql.request.transformation.RequestTransformer;
1617
import org.hypertrace.core.graphql.rx.BoundedIoScheduler;
1718
import org.hypertrace.core.graphql.spi.config.GraphQlServiceConfig;
1819
import org.hypertrace.core.graphql.utils.grpc.GrpcChannelRegistry;
@@ -44,6 +45,7 @@ class GatewayServiceEntityDao implements EntityDao {
4445
private final GraphQlServiceConfig serviceConfig;
4546
private final Scheduler boundedIoScheduler;
4647
private final LabelJoinerBuilder labelJoinerBuilder;
48+
private final RequestTransformer requestTransformer;
4749

4850
@Inject
4951
GatewayServiceEntityDao(
@@ -55,13 +57,15 @@ class GatewayServiceEntityDao implements EntityDao {
5557
GatewayServiceEntityConverter entityConverter,
5658
BaselineDao baselineDao,
5759
LabelJoinerBuilder labelJoinerBuilder,
60+
RequestTransformer requestTransformer,
5861
@BoundedIoScheduler Scheduler boundedIoScheduler) {
5962
this.grpcContextBuilder = grpcContextBuilder;
6063
this.requestBuilder = requestBuilder;
6164
this.entityConverter = entityConverter;
6265
this.baselineDao = baselineDao;
6366
this.labelJoinerBuilder = labelJoinerBuilder;
6467
this.serviceConfig = serviceConfig;
68+
this.requestTransformer = requestTransformer;
6569
this.boundedIoScheduler = boundedIoScheduler;
6670

6771
final GrpcChannelConfig grpcChannelConfig =
@@ -81,8 +85,9 @@ class GatewayServiceEntityDao implements EntityDao {
8185
@Override
8286
public Single<EntityResultSet> getEntities(EntityRequest request) {
8387
GraphQlRequestContext context = request.resultSetRequest().context();
84-
return this.requestBuilder
85-
.buildRequest(request)
88+
return this.requestTransformer
89+
.transform(request)
90+
.flatMap(this.requestBuilder::buildRequest)
8691
.subscribeOn(this.boundedIoScheduler)
8792
.flatMap(serverRequest -> this.fetchAndMapEntities(context, request, serverRequest));
8893
}

0 commit comments

Comments
 (0)