27 lines
871 B
C#
27 lines
871 B
C#
namespace sh.actions.package_cleanup;
|
|
|
|
public static class ConfigurationExtension
|
|
{
|
|
private const string MissingConfigurationError = "Configuration variable '{0}' is required but was not found.";
|
|
|
|
private static void ValidateConfigurationVariable(IConfiguration configuration, string key)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(configuration[key]))
|
|
{
|
|
throw new InvalidOperationException(string.Format(MissingConfigurationError, key));
|
|
}
|
|
}
|
|
|
|
public static IConfigurationBuilder EnsureGiteaConfig(this IConfigurationBuilder builder)
|
|
{
|
|
var configuration = builder.Build();
|
|
var requiredKeys = new[] { "URL", "OWNER", "TYPES", "NAME", "API_TOKEN" };
|
|
|
|
foreach (var key in requiredKeys)
|
|
{
|
|
ValidateConfigurationVariable(configuration, key);
|
|
}
|
|
|
|
return builder;
|
|
}
|
|
} |