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