Files
csharp/gen/KubernetesGenerator/ModelGenerator.cs
Boshi Lian ae591580b6 fix build (#734)
* fix build

* eliminate warnings
2021-10-24 08:14:22 -07:00

31 lines
936 B
C#

using System.IO;
using NSwag;
using Nustache.Core;
namespace KubernetesGenerator
{
internal 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"));
}
}
}
}