Implemented dataloader for relation metadata (#4891)
- Implemented dataloader package on metadata graphql server - Implemented a dataloader for relation metadata module --------- Co-authored-by: Jérémy M <jeremy.magrin@gmail.com>
This commit is contained in:
@ -10,14 +10,16 @@ import { GraphQLConfigModule } from 'src/engine/api/graphql/graphql-config/graph
|
||||
import { metadataModuleFactory } from 'src/engine/api/graphql/metadata.module-factory';
|
||||
import { EnvironmentService } from 'src/engine/integrations/environment/environment.service';
|
||||
import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service';
|
||||
import { DataloaderModule } from 'src/engine/dataloaders/dataloader.module';
|
||||
import { DataloaderService } from 'src/engine/dataloaders/dataloader.service';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
GraphQLModule.forRootAsync<YogaDriverConfig>({
|
||||
driver: YogaDriver,
|
||||
useFactory: metadataModuleFactory,
|
||||
imports: [GraphQLConfigModule],
|
||||
inject: [EnvironmentService, ExceptionHandlerService],
|
||||
imports: [GraphQLConfigModule, DataloaderModule],
|
||||
inject: [EnvironmentService, ExceptionHandlerService, DataloaderService],
|
||||
}),
|
||||
MetadataEngineModule,
|
||||
WorkspaceMigrationRunnerModule,
|
||||
|
||||
@ -7,10 +7,12 @@ import { useExceptionHandler } from 'src/engine/integrations/exception-handler/h
|
||||
import { useThrottler } from 'src/engine/api/graphql/graphql-config/hooks/use-throttler';
|
||||
import { MetadataGraphQLApiModule } from 'src/engine/api/graphql/metadata-graphql-api.module';
|
||||
import { renderApolloPlayground } from 'src/engine/utils/render-apollo-playground.util';
|
||||
import { DataloaderService } from 'src/engine/dataloaders/dataloader.service';
|
||||
|
||||
export const metadataModuleFactory = async (
|
||||
environmentService: EnvironmentService,
|
||||
exceptionHandlerService: ExceptionHandlerService,
|
||||
dataloaderService: DataloaderService,
|
||||
): Promise<YogaDriverConfig> => {
|
||||
const config: YogaDriverConfig = {
|
||||
autoSchemaFile: true,
|
||||
@ -32,6 +34,9 @@ export const metadataModuleFactory = async (
|
||||
}),
|
||||
],
|
||||
path: '/metadata',
|
||||
context: () => ({
|
||||
loaders: dataloaderService.createLoaders(),
|
||||
}),
|
||||
};
|
||||
|
||||
if (environmentService.get('DEBUG_MODE')) {
|
||||
|
||||
Reference in New Issue
Block a user