Import from internal git
This commit is contained in:
12
Core/Settings/BaseConfig.cs
Normal file
12
Core/Settings/BaseConfig.cs
Normal 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; }
|
||||
|
||||
}
|
||||
13
Core/Settings/CredentialsConfig.cs
Normal file
13
Core/Settings/CredentialsConfig.cs
Normal 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; } = "";
|
||||
}
|
||||
10
Core/Settings/DefaultArgumentsConfig.cs
Normal file
10
Core/Settings/DefaultArgumentsConfig.cs
Normal 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; } = "";
|
||||
|
||||
}
|
||||
15
Core/Settings/DockerImagesConfig.cs
Normal file
15
Core/Settings/DockerImagesConfig.cs
Normal 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; } = "";
|
||||
}
|
||||
42
Core/Settings/DotnetConfig.cs
Normal file
42
Core/Settings/DotnetConfig.cs
Normal 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]);
|
||||
|
||||
}
|
||||
8
Core/Settings/GeneralConfig.cs
Normal file
8
Core/Settings/GeneralConfig.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Core.Settings;
|
||||
|
||||
public class GeneralConfig
|
||||
{
|
||||
public required Location ApiFolder { init; get; }
|
||||
public required Location GenerationFolder { init; get; }
|
||||
|
||||
}
|
||||
27
Core/Settings/JavaConfig.cs
Normal file
27
Core/Settings/JavaConfig.cs
Normal 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");
|
||||
|
||||
}
|
||||
21
Core/Settings/JavascriptConfig.cs
Normal file
21
Core/Settings/JavascriptConfig.cs
Normal 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");
|
||||
|
||||
|
||||
|
||||
}
|
||||
21
Core/Settings/OpenApiConfig.cs
Normal file
21
Core/Settings/OpenApiConfig.cs
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
11
Core/Settings/PublishConfig.cs
Normal file
11
Core/Settings/PublishConfig.cs
Normal 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; } = "";
|
||||
}
|
||||
12
Core/Settings/TemplatesConfig.cs
Normal file
12
Core/Settings/TemplatesConfig.cs
Normal 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; }
|
||||
}
|
||||
Reference in New Issue
Block a user