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

View File

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