## Context Added to the existing useGraphQLErrorHandlerHook yoga hook to increment metrics after all query executions based on their error codes. I originally wanted to create a new useMetrics hook but most of the error handling was done in useGraphQLErrorHandlerHook so we decided to keep it there for now. <img width="1310" alt="Screenshot 2025-06-24 at 15 58 26" src="https://github.com/user-attachments/assets/498d3754-851a-4051-a5c2-23ac8253aa6a" />
39 lines
1.8 KiB
TypeScript
39 lines
1.8 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { GraphQLModule } from '@nestjs/graphql';
|
|
|
|
import { YogaDriver, YogaDriverConfig } from '@graphql-yoga/nestjs';
|
|
|
|
import { GraphQLConfigModule } from 'src/engine/api/graphql/graphql-config/graphql-config.module';
|
|
import { metadataModuleFactory } from 'src/engine/api/graphql/metadata.module-factory';
|
|
import { CacheStorageNamespace } from 'src/engine/core-modules/cache-storage/types/cache-storage-namespace.enum';
|
|
import { ExceptionHandlerService } from 'src/engine/core-modules/exception-handler/exception-handler.service';
|
|
import { MetricsModule } from 'src/engine/core-modules/metrics/metrics.module';
|
|
import { MetricsService } from 'src/engine/core-modules/metrics/metrics.service';
|
|
import { TwentyConfigService } from 'src/engine/core-modules/twenty-config/twenty-config.service';
|
|
import { DataloaderModule } from 'src/engine/dataloaders/dataloader.module';
|
|
import { DataloaderService } from 'src/engine/dataloaders/dataloader.service';
|
|
import { MetadataEngineModule } from 'src/engine/metadata-modules/metadata-engine.module';
|
|
import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module';
|
|
import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
GraphQLModule.forRootAsync<YogaDriverConfig>({
|
|
driver: YogaDriver,
|
|
useFactory: metadataModuleFactory,
|
|
imports: [GraphQLConfigModule, DataloaderModule, MetricsModule],
|
|
inject: [
|
|
TwentyConfigService,
|
|
ExceptionHandlerService,
|
|
DataloaderService,
|
|
CacheStorageNamespace.EngineWorkspace,
|
|
MetricsService,
|
|
],
|
|
}),
|
|
MetadataEngineModule,
|
|
WorkspaceMigrationRunnerModule,
|
|
WorkspaceMigrationModule,
|
|
],
|
|
})
|
|
export class MetadataGraphQLApiModule {}
|