Added package cleanup
This commit is contained in:
@@ -2,24 +2,25 @@ namespace sh.actions.package_cleanup;
|
||||
|
||||
public static class ConfigurationExtension
|
||||
{
|
||||
private static void EnsureVariable(IConfiguration configuration, string key)
|
||||
private const string MissingConfigurationError = "Configuration variable '{0}' is required but was not found.";
|
||||
|
||||
private static void ValidateConfigurationVariable(IConfiguration configuration, string key)
|
||||
{
|
||||
var value = configuration[key];
|
||||
if (string.IsNullOrEmpty(value))
|
||||
if (string.IsNullOrWhiteSpace(configuration[key]))
|
||||
{
|
||||
throw new InvalidOperationException($"Configuration variable '{key}' is required but was not found.");
|
||||
throw new InvalidOperationException(string.Format(MissingConfigurationError, key));
|
||||
}
|
||||
}
|
||||
|
||||
public static IConfigurationBuilder EnsureGiteaConfig(this IConfigurationBuilder builder)
|
||||
{
|
||||
var configuration = builder.Build();
|
||||
var requiredKeys = new[] { "URL", "OWNER", "TYPE", "NAME", "API_TOKEN" };
|
||||
|
||||
EnsureVariable(configuration, "URL");
|
||||
EnsureVariable(configuration, "OWNER");
|
||||
EnsureVariable(configuration, "TYPE");
|
||||
EnsureVariable(configuration, "NAME");
|
||||
EnsureVariable(configuration, "API_TOKEN");
|
||||
foreach (var key in requiredKeys)
|
||||
{
|
||||
ValidateConfigurationVariable(configuration, key);
|
||||
}
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user