public async Task BuildBareDefinitions(Models.OpenApi openApiModel) { var typeTree = new TypeTree(); typeTree.CreateSchemasTypeTree(openApiModel); await using (var streamWriter = new StreamWriter(Path.Combine( _destinationFolder, "GlobalUsings.cs"), append: false)) { await streamWriter.WriteAsync(GlobalUsingsText); } await using (var streamWriter = new StreamWriter(Path.Combine( _destinationFolder, "DotNetBungieAPIJsonSerializationContext.cs"), append: false)) { await streamWriter.WriteLineAsync("namespace DotNetBungieAPI.Generated.Models;"); await streamWriter.WriteLineAsync(); foreach (var(typeName, typeSchema) in openApiModel.Components.Schemas) { if (typeSchema.Type is "object" && (typeSchema.Properties is null || !typeSchema.Properties.Any())) { continue; } await streamWriter.WriteLineAsync($"[JsonSerializable(typeof({typeName}))]"); } await streamWriter.WriteLineAsync("public partial class DotNetBungieAPIJsonSerializationContext : JsonSerializerContext { }"); } foreach (var treeNode in typeTree.Nodes.Values) { await IterateThroughTypeTreeBare(openApiModel, treeNode, _destinationFolder); } foreach (var(responseName, openApiComponentResponse) in openApiModel.Components.Responses) { var schema = openApiComponentResponse.Content.Schema; } }