Files
csharp/gen/KubernetesGenerator/ModelGenerator.cs
Boshi Lian 43f8922d20 Upgrade generator dep (#730)
* catch up nswag

* fix changes due to api change

* nustache as well
2021-10-20 06:53:59 -07:00

30 lines
913 B
C#

using System.IO;
using NSwag;
using Nustache.Core;
namespace KubernetesGenerator
{
public class ModelGenerator
{
private readonly ClassNameHelper classNameHelper;
public ModelGenerator(ClassNameHelper classNameHelper)
{
this.classNameHelper = classNameHelper;
}
public void Generate(OpenApiDocument swaggercooked, string outputDirectory)
{
Directory.CreateDirectory(Path.Combine(outputDirectory, "Models"));
foreach (var (_, def) in swaggercooked.Definitions)
{
var clz = classNameHelper.GetClassNameForSchemaDefinition(def);
Render.FileToFile(Path.Combine("templates", "Model.cs.template"),
new { clz, def, properties = def.Properties.Values },
Path.Combine(outputDirectory, "Models", $"{clz}.cs"));
}
}
}
}