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; } }