Import from internal git
This commit is contained in:
54
Generator/Mappers/DotnetMapper.cs
Normal file
54
Generator/Mappers/DotnetMapper.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using Core;
|
||||
using Core.Dto.Settings;
|
||||
using Core.Settings;
|
||||
using Generator.DataSource.Settings;
|
||||
|
||||
namespace Generator.Mappers;
|
||||
|
||||
public static class DotnetMapper
|
||||
{
|
||||
public static DotnetConfig Map(this DotnetConfigDto dto, ConfigManager configManager, ISpecFile file)
|
||||
{
|
||||
var specName = file.Name;
|
||||
var specFolder = file.Folder;
|
||||
var generationFolder = configManager.GetGeneral().GenerationFolder;
|
||||
var apiFolder = configManager.GetGeneral().ApiFolder;
|
||||
var templatesConfig = configManager.Templates;
|
||||
var baseConfig = configManager.GetBase();
|
||||
var openApiConfig = configManager.OpenApi.Map(configManager, specFolder, specName);
|
||||
var publishConfig = configManager.Publish;
|
||||
var credConfig = configManager.Credentials;
|
||||
var d = new DotnetConfig
|
||||
{
|
||||
LocalRoot = baseConfig.LocalRoot,
|
||||
DockerRoot = baseConfig.DockerRoot,
|
||||
GenerationImage = configManager.DockerImages.OpenApiGeneratorImage,
|
||||
BuildImage = configManager.DockerImages.DotnetSdkImage,
|
||||
Invite = baseConfig.Invite,
|
||||
|
||||
SpecFile = apiFolder.ConcatenateWith([specFolder, $"{specName}{openApiConfig.SpecExtension}"]),
|
||||
OpenApi = openApiConfig.Folder,
|
||||
|
||||
PackageFolder = "src",
|
||||
PackageFile = file.NugetPackage,
|
||||
|
||||
TemplateFolder = new Location(templatesConfig.Folder),
|
||||
CommonFolder = generationFolder.ConcatenateWith([specFolder, dto.CommonFolder, specName]),
|
||||
ServerFolder = generationFolder.ConcatenateWith([specFolder, dto.ServerFolder, specName]),
|
||||
ClientFolder = generationFolder.ConcatenateWith([specFolder, dto.ClientFolder, specName]),
|
||||
|
||||
ConfigFile = openApiConfig.GeneratorConfigFile,
|
||||
IgnoreFile = openApiConfig.GeneratorIgnoreFile,
|
||||
|
||||
ServerConfigTemplate = new Location([templatesConfig.Folder, templatesConfig.DotnetServerGeneratorConfig]),
|
||||
ClientConfigTemplate = new Location([templatesConfig.Folder, templatesConfig.DotnetClientGeneratorConfig]),
|
||||
ServerIgnoreTemplate = new Location([templatesConfig.Folder, templatesConfig.ServerIgnore]),
|
||||
ClientIgnoreTemplate = new Location([templatesConfig.Folder, templatesConfig.ClientIgnore]),
|
||||
Registry = publishConfig.NugetRegistry,
|
||||
AuthorizationToken = credConfig.Token
|
||||
|
||||
};
|
||||
|
||||
return d;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user