fix: broken schema generation (#9905)

This commit is contained in:
Jérémy M
2025-01-29 13:46:36 +01:00
committed by GitHub
parent fbb67d74c8
commit c17dbe7115
2 changed files with 12 additions and 7 deletions

View File

@ -48,20 +48,22 @@ export class TypeDefinitionsGenerator {
private readonly featureFlagService: FeatureFlagService, private readonly featureFlagService: FeatureFlagService,
) {} ) {}
generate( async generate(
objectMetadataCollection: ObjectMetadataInterface[], objectMetadataCollection: ObjectMetadataInterface[],
options: WorkspaceBuildSchemaOptions, options: WorkspaceBuildSchemaOptions,
) { ) {
// Generate composite type objects first because they can be used in dynamic objects // Generate composite type objects first because they can be used in dynamic objects
this.generateCompositeTypeDefs(options); await this.generateCompositeTypeDefs(options);
// Generate metadata objects // Generate metadata objects
this.generateMetadataTypeDefs(objectMetadataCollection, options); await this.generateMetadataTypeDefs(objectMetadataCollection, options);
} }
/** /**
* GENERATE COMPOSITE TYPE OBJECTS * GENERATE COMPOSITE TYPE OBJECTS
*/ */
private generateCompositeTypeDefs(options: WorkspaceBuildSchemaOptions) { private async generateCompositeTypeDefs(
options: WorkspaceBuildSchemaOptions,
) {
const compositeTypeCollection = [...compositeTypeDefinitions.values()]; const compositeTypeCollection = [...compositeTypeDefinitions.values()];
this.logger.log( this.logger.log(
@ -150,7 +152,7 @@ export class TypeDefinitionsGenerator {
* GENERATE METADATA OBJECTS * GENERATE METADATA OBJECTS
*/ */
private generateMetadataTypeDefs( private async generateMetadataTypeDefs(
dynamicObjectMetadataCollection: ObjectMetadataInterface[], dynamicObjectMetadataCollection: ObjectMetadataInterface[],
options: WorkspaceBuildSchemaOptions, options: WorkspaceBuildSchemaOptions,
) { ) {
@ -165,7 +167,7 @@ export class TypeDefinitionsGenerator {
this.generateObjectTypeDefs(dynamicObjectMetadataCollection, options); this.generateObjectTypeDefs(dynamicObjectMetadataCollection, options);
this.generatePaginationTypeDefs(dynamicObjectMetadataCollection, options); this.generatePaginationTypeDefs(dynamicObjectMetadataCollection, options);
this.generateInputTypeDefs(dynamicObjectMetadataCollection, options); this.generateInputTypeDefs(dynamicObjectMetadataCollection, options);
this.generateExtendedObjectTypeDefs( await this.generateExtendedObjectTypeDefs(
dynamicObjectMetadataCollection, dynamicObjectMetadataCollection,
options, options,
); );

View File

@ -27,7 +27,10 @@ export class WorkspaceGraphQLSchemaFactory {
options: WorkspaceBuildSchemaOptions = {}, options: WorkspaceBuildSchemaOptions = {},
): Promise<GraphQLSchema> { ): Promise<GraphQLSchema> {
// Generate type definitions // Generate type definitions
this.typeDefinitionsGenerator.generate(objectMetadataCollection, options); await this.typeDefinitionsGenerator.generate(
objectMetadataCollection,
options,
);
// Generate schema // Generate schema
const schema = new GraphQLSchema({ const schema = new GraphQLSchema({