// Copyright (c) Microsoft. All rights reserved.
using System.ComponentModel.DataAnnotations;
using Microsoft.Extensions.Configuration;
namespace StepwisePlannerMigration.Extensions;
///
/// Class with extension methods for app configuration.
///
public static class ConfigurationExtensions
{
///
/// Returns if it's valid or throws .
///
public static TOptions GetValid(this IConfigurationRoot configurationRoot, string sectionName)
{
var options = configurationRoot.GetSection(sectionName).Get()!;
Validator.ValidateObject(options, new(options));
return options;
}
}