76 lines
2.4 KiB
C#
76 lines
2.4 KiB
C#
using Core;
|
|
using Core.Dto;
|
|
using Core.Dto.Settings;
|
|
using Core.Settings;
|
|
using Generator.DataSource.Settings;
|
|
|
|
namespace Generator.Mappers;
|
|
|
|
public static class SettingsMapper
|
|
{
|
|
public static DefaultArgumentsConfig Map(this DefaultArgumentsConfigDto dto, ArgumentsDto args)
|
|
{
|
|
|
|
var identifier = args.SpecName ?? dto.SpecIdentifier;
|
|
return new DefaultArgumentsConfig
|
|
{
|
|
SpecIdentifier = identifier,
|
|
};
|
|
}
|
|
|
|
public static DockerImagesConfig Map(this DockerImagesConfigDto dto)
|
|
=> new()
|
|
{
|
|
JavaImage = dto.MavenImage,
|
|
DotnetSdkImage = dto.DotnetSdkImage,
|
|
OpenApiGeneratorImage = dto.OpenApiGeneratorImage,
|
|
JavascriptImage = dto.JavascriptImage,
|
|
};
|
|
|
|
public static BaseConfig Map(this EnvironmentConfigDto dto)
|
|
=> new()
|
|
{
|
|
Invite = dto.Invite,
|
|
LocalRoot = new Location(dto.LocalRoot),
|
|
DockerRoot = new Location(dto.DockerRoot),
|
|
TemplateFolder = null,
|
|
};
|
|
|
|
public static PublishConfig Map(this PublishConfigDto dto)
|
|
=> new()
|
|
{
|
|
MavenRegistry = dto.MavenRegistry,
|
|
NpmRegistry = dto.NpmRegistry,
|
|
NugetRegistry = dto.NugetRegistry
|
|
};
|
|
|
|
public static OpenApiConfig Map(this OpenApiConfigDto dto, ConfigManager configManager, string folder, string name)
|
|
{
|
|
var apiFolder = configManager.GetGeneral().ApiFolder;
|
|
|
|
var config = new OpenApiConfig
|
|
{
|
|
Folder = new Location(dto.OutputFolder),
|
|
GeneratorConfigFile = new Location(dto.GeneratorConfigFile),
|
|
GeneratorIgnoreFile = new Location(dto.GeneratorIgnoreFile),
|
|
SpecFile = apiFolder.ConcatenateWith([folder, $"{name}{dto.SpecExtension}"]),
|
|
SpecConfig = apiFolder.ConcatenateWith([folder, $"{name}{dto.ConfigIdentifier}{dto.ConfigExtension}"]),
|
|
SpecExtension = dto.SpecExtension,
|
|
SchemasIdentifier = dto.SchemasIdentifier,
|
|
ConfigIdentifier = $"{dto.ConfigIdentifier}{dto.ConfigExtension}",
|
|
};
|
|
|
|
return config;
|
|
}
|
|
|
|
|
|
public static GeneralConfig Map(this GeneralConfigDto dto)
|
|
=> new()
|
|
{
|
|
ApiFolder = new Location(dto.ApiFolder),
|
|
GenerationFolder = new Location(dto.OutputFolder),
|
|
};
|
|
}
|
|
|
|
|
|
|