Skip to content

Commit 0980d6d

Browse files
Fix GraphQL Api Setters not being applied (#7602)
While rebuilding the new GraphQLAPI (without pg_graphql), we forgot to include the FieldGetter logic. This logic will soon be moved at ORM level but we will need to keep it there for now The bug has many impacts such as the fileToken not being generated and preventing users from loading files
1 parent 0cb9853 commit 0980d6d

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service.ts

+13-3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929

3030
import { GraphqlQueryResolverFactory } from 'src/engine/api/graphql/graphql-query-runner/factories/graphql-query-resolver.factory';
3131
import { ApiEventEmitterService } from 'src/engine/api/graphql/graphql-query-runner/services/api-event-emitter.service';
32+
import { QueryResultGettersFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/query-result-getters.factory';
3233
import { QueryRunnerArgsFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory';
3334
import {
3435
CallWebhookJobsJob,
@@ -47,6 +48,7 @@ export class GraphqlQueryRunnerService {
4748
constructor(
4849
private readonly workspaceQueryHookService: WorkspaceQueryHookService,
4950
private readonly queryRunnerArgsFactory: QueryRunnerArgsFactory,
51+
private readonly queryResultGettersFactory: QueryResultGettersFactory,
5052
@InjectMessageQueue(MessageQueue.webhookQueue)
5153
private readonly messageQueueService: MessageQueueService,
5254
private readonly graphqlQueryResolverFactory: GraphqlQueryResolverFactory,
@@ -353,20 +355,28 @@ export class GraphqlQueryRunnerService {
353355

354356
const results = await resolver.resolve(computedArgs as Input, options);
355357

358+
const resultWithGetters = await this.queryResultGettersFactory.create(
359+
results,
360+
objectMetadataItem,
361+
authContext.workspace.id,
362+
);
363+
356364
await this.workspaceQueryHookService.executePostQueryHooks(
357365
authContext,
358366
objectMetadataItem.nameSingular,
359367
operationName,
360-
Array.isArray(results) ? results : [results],
368+
Array.isArray(resultWithGetters)
369+
? resultWithGetters
370+
: [resultWithGetters],
361371
);
362372

363373
const jobOperation = this.operationNameToJobOperation(operationName);
364374

365375
if (jobOperation) {
366-
await this.triggerWebhooks(results, jobOperation, options);
376+
await this.triggerWebhooks(resultWithGetters, jobOperation, options);
367377
}
368378

369-
return results;
379+
return resultWithGetters;
370380
}
371381

372382
private operationNameToJobOperation(

0 commit comments

Comments
 (0)