Import from internal git

This commit is contained in:
2025-10-11 13:08:09 +02:00
commit 97aaa715dc
175 changed files with 7014 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
namespace Core.Settings;
/// <summary>
/// This class gathers environment-related configuration
/// </summary>
public class BaseConfig
{
public required string Invite { init; get; } = "";
public required Location LocalRoot { init; get; }
public required Location DockerRoot { init; get; }
public required Location TemplateFolder { init; get; }
}

View File

@@ -0,0 +1,13 @@
namespace Core.Settings;
/// <summary>
/// This class gathers all credentials-related configurations
/// </summary>
public class CredentialsConfig
{
public string Token { init; get; } = "";
public string Email { init; get; } = "";
public string Username { init; get; } = "";
public string Password { init; get; } = "";
public string AlwaysAuth { init; get; } = "";
}

View File

@@ -0,0 +1,10 @@
namespace Core.Settings;
/// <summary>
/// This class gathers all default-related configurations
/// </summary>
public class DefaultArgumentsConfig
{
public string SpecIdentifier { get; set; } = "";
}

View File

@@ -0,0 +1,15 @@
namespace Core.Settings;
/// <summary>
/// This class gathers docker images
/// </summary>
public class DockerImagesConfig
{
public string JavascriptImage { init; get; } = "";
public string OpenApiGeneratorImageName { init; get; } = "";
public string OpenApiGeneratorVersion { init; get; } = "";
public string OpenApiGeneratorImage { init; get; } = "";
public string DotnetSdkImage { init; get; } = "";
public string JavaImage { init; get; } = "";
}

View File

@@ -0,0 +1,42 @@
using Core.SpecConfig;
namespace Core.Settings;
public class DotnetConfig : BaseConfig
{
public GenerationType Type { get; set; } = GenerationType.Server;
public required string GenerationImage { init; get; }
public required string BuildImage { init; get; }
public required string PackageFile { init; get; }
public required string PackageFolder { init; get; }
public required Location SpecFile { init; get; }
public required Location OpenApi { init; get; }
public required Location ServerFolder { init; get; }
public required Location CommonFolder { init; get; }
public required Location ClientFolder { init; get; }
public required Location ConfigFile { init; get; }
public required Location IgnoreFile { init; get; }
public required Location ServerConfigTemplate { init; get; }
public required Location ClientConfigTemplate { init; get; }
public required Location ServerIgnoreTemplate { init; get; }
public required Location ClientIgnoreTemplate { init; get; }
public required string Registry;
public required string AuthorizationToken;
public Location OutputFolder()
=> Type switch
{
GenerationType.Server => ServerFolder,
GenerationType.Common => CommonFolder,
GenerationType.Client => ClientFolder,
_ => throw new ArgumentOutOfRangeException(nameof(Type), Type, null)
};
public Location PackageFolderPath() => OutputFolder().ConcatenateWith([PackageFolder, PackageFile]);
public Location OpenApiFolder() => new ([OutputFolder(), OpenApi]);
public Location OpenApiSpecFile() => new Location([OutputFolder(), OpenApi, OpenApi]).ConcatenateWith("openapi.yaml");
public Location OpenApiConfigFile() => new Location([OutputFolder()]).ConcatenateWith("openapi-generator-config.yaml");
public Location ConfigFilePath() => new ([OutputFolder(), ConfigFile]);
public Location IgnoreFilePath() => new ([OutputFolder(), IgnoreFile]);
}

View File

@@ -0,0 +1,8 @@
namespace Core.Settings;
public class GeneralConfig
{
public required Location ApiFolder { init; get; }
public required Location GenerationFolder { init; get; }
}

View File

@@ -0,0 +1,27 @@
namespace Core.Settings;
public class JavaConfig : BaseConfig
{
public required string GenerationImage { init; get; }
public required string BuildImage { init; get; }
public required string Registry { init; get; }
public required string Artifact { init; get; }
public required Location ServerFolder { init; get; }
public required Location ConfigOutput { init; get; }
public required Location ConfigFile { init; get; }
public required Location OpenApi { init; get; }
public required Location SpecFile { get; set; }
public required Location ServerConfigTemplate { init; get; }
public required string Version { get; set; }
public required string Username { get; set; }
public required string Password { get; set; }
public Location OutputFolder() => ServerFolder;
public Location ConfigFilePath() => new ([OutputFolder(), ConfigFile]);
public Location OpenApiFolder() => new ([OutputFolder(), OpenApi]);
//TODO : Hard coded string ???
public Location OpenApiSpecFile() => new Location([OutputFolder(), OpenApi, OpenApi]).ConcatenateWith("openapi.yaml");
}

View File

@@ -0,0 +1,21 @@
namespace Core.Settings;
public class JavascriptConfig : BaseConfig
{
public required string GenerationImage { init; get; }
public required string BuildImage { get; set; }
public required Location ClientFolder { init; get; }
public required string PackageName { init; get; }
public required string OpenApiVersion { init; get; }
public required string Registry { init; get; }
public required Location SpecFile { init; get; }
public required Location OpenApi { init; get; }
public Location OutputFolder() => ClientFolder;
public Location OpenApiFolder() => new ([OutputFolder(), OpenApi]);
public Location OpenApiSpecFile() => new Location([OutputFolder(), OpenApi, OpenApi]).ConcatenateWith("openapi.yaml");
}

View File

@@ -0,0 +1,21 @@
namespace Core.Settings;
public class OpenApiConfig
{
public required Location Folder { get; set; }
public required Location GeneratorConfigFile { get; set; }
public required Location GeneratorIgnoreFile { get; set; }
public required Location SpecFile { get; set; }
public required Location SpecConfig { get; set; }
public required string SpecExtension { get; set; }
public required string SchemasIdentifier { get; set; }
public required string ConfigIdentifier { get; set; }
public void AddRoot(Location root)
{
SpecConfig = root.ConcatenateWith(SpecConfig);
SpecFile = root.ConcatenateWith(SpecFile);
}
}

View File

@@ -0,0 +1,11 @@
namespace Core.Settings;
/// <summary>
/// This class gathers publish-related configurations
/// </summary>
public class PublishConfig
{
public string NpmRegistry { init; get; } = "";
public string NugetRegistry { init; get; } = "";
public string MavenRegistry { init; get; } = "";
}

View File

@@ -0,0 +1,12 @@
namespace Core.Settings;
public class TemplatesConfig
{
public required Location Folder { init; get; }
public required Location PlantUml { init; get; }
public required Location DotnetServerGeneratorConfig { init; get; }
public required Location DotnetClientGeneratorConfig { init; get; }
public required Location JavaGeneratorConfig { init; get; }
public required Location ServerIgnore { init; get; }
public required Location ClientIgnore { init; get; }
}