Import from internal git
This commit is contained in:
76
Generator/Infrastructure/OpenApi/OpenApiDirector.cs
Normal file
76
Generator/Infrastructure/OpenApi/OpenApiDirector.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
using Core.Events;
|
||||
using Core.Interfaces;
|
||||
using Core.Settings;
|
||||
using Core.Yaml;
|
||||
using Generator.Infrastructure.OpenApi.Builders;
|
||||
|
||||
namespace Generator.Infrastructure.OpenApi;
|
||||
|
||||
public class OpenApiDirector : IGeneratorDirector<OpenApiYaml>
|
||||
{
|
||||
private DisplayEmitter _emitter;
|
||||
|
||||
public OpenApiDirector(DisplayEmitter emitter)
|
||||
{
|
||||
_emitter = emitter;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Launches dotnet server generation
|
||||
/// </summary>
|
||||
/// <param name="file"></param>
|
||||
/// <param name="config"></param>
|
||||
public async Task DotnetServer(OpenApiYaml file, DotnetConfig config)
|
||||
{
|
||||
var dotnetServerBuilder = new OpenApiDotnetServerBuilder(config, _emitter);
|
||||
dotnetServerBuilder.Load(file);
|
||||
dotnetServerBuilder.CreateGeneratorConfig();
|
||||
dotnetServerBuilder.Generate();
|
||||
dotnetServerBuilder.Build();
|
||||
await dotnetServerBuilder.ExecuteAllAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Launches dotnet client generation
|
||||
/// </summary>
|
||||
/// <param name="file"></param>
|
||||
/// <param name="config"></param>
|
||||
public async Task DotnetClient(OpenApiYaml file, DotnetConfig config)
|
||||
{
|
||||
var dotnetClientBuilder = new OpenApiDotnetClientBuilder(config, _emitter);
|
||||
dotnetClientBuilder.Load(file);
|
||||
dotnetClientBuilder.CreateGeneratorConfig();
|
||||
dotnetClientBuilder.Generate();
|
||||
dotnetClientBuilder.Build();
|
||||
await dotnetClientBuilder.ExecuteAllAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Launches java generation
|
||||
/// </summary>
|
||||
/// <param name="file"></param>
|
||||
/// <param name="config"></param>
|
||||
public async Task Java(OpenApiYaml file, JavaConfig config)
|
||||
{
|
||||
var javaBuilder = new OpenApiJavaBuilder(config, _emitter);
|
||||
javaBuilder.Load(file);
|
||||
javaBuilder.CreateGeneratorConfig();
|
||||
javaBuilder.Generate();
|
||||
javaBuilder.Build();
|
||||
await javaBuilder.ExecuteAllAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Launches javascript generation
|
||||
/// </summary>
|
||||
/// <param name="file"></param>
|
||||
/// <param name="config"></param>
|
||||
public async Task Javascript(OpenApiYaml file, JavascriptConfig config)
|
||||
{
|
||||
_emitter.Warn(this, "Javascript generation is temporally disabled");
|
||||
/*var jsBuilder = new OpenApiJavascriptBuilder(config, _emitter);
|
||||
jsBuilder.Load(file);
|
||||
jsBuilder.Generate();
|
||||
await jsBuilder.ExecuteAllAsync();*/
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user