Files
api-generator/Generator/Mappers/JavaMapper.cs
2025-10-11 13:08:09 +02:00

49 lines
1.9 KiB
C#

using Core;
using Core.Dto.Settings;
using Core.Settings;
using Generator.DataSource.Settings;
namespace Generator.Mappers;
public static class JavaMapper
{
public static JavaConfig Map(this JavaConfigDto dto, ConfigManager configManager, ISpecFile file)
{
var apiFolder = configManager.GetGeneral().ApiFolder;
var specFolder = file.Folder;
var specName = file.Name;
var templatesConfig = configManager.Templates;
var pubConfig = configManager.Publish;
var credConfig = configManager.Credentials;
var openApiConfig = configManager.OpenApi.Map(configManager, specFolder, specName);;
var generationFolder = configManager.GetGeneral().GenerationFolder;
var baseConfig = configManager.GetBase();
var j = new JavaConfig
{
LocalRoot = baseConfig.LocalRoot,
DockerRoot = baseConfig.DockerRoot,
Invite = baseConfig.Invite,
BuildImage = configManager.DockerImages.MavenImage,
GenerationImage = configManager.DockerImages.OpenApiGeneratorImage,
ServerFolder = generationFolder.ConcatenateWith([specFolder, dto.Folder, specName]),
ConfigOutput = generationFolder.ConcatenateWith(openApiConfig.GeneratorConfigFile),
SpecFile = apiFolder.ConcatenateWith([specFolder, $"{specName}{openApiConfig.SpecExtension}"]),
ConfigFile = openApiConfig.GeneratorConfigFile,
OpenApi = configManager.OpenApi.Map(configManager, specFolder, specName).Folder,
TemplateFolder = new Location(templatesConfig.Folder),
ServerConfigTemplate = new Location([templatesConfig.Folder, templatesConfig.JavaGeneratorConfig]),
Registry = pubConfig.MavenRegistry,
Artifact = $"{file.Name}-api",
Version = file.Version,
Username = credConfig.Username,
Password = credConfig.Password,
};
return j;
}
}