using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using xAiApi.AI.Configuration; using xAiApi.AI.Constants; using xCommons.Extensions; namespace xAiApi.AI.Extensions { public static class XAiApiConfigurationExtension { /// /// Extract Configuration ... /// /// /// public static XAiApiConfiguration GetXAiApiConfiguration(this IConfiguration source) { // var section = source.GetSection(ConfigurationNodeNames.AI_API_SERVICE_NODE); var result = section.Get(); // return result; } /// /// Add XAiApiConfiguration ... /// /// /// public static void AddXAiApiConfiguration( this IServiceCollection source, XAiApiConfiguration configuration ) { // if (!configuration.IsValid()) { return; } // source.AddSingleton(configuration); } /// /// Validate XAiApiConfiguration ... /// /// /// public static bool IsValid(this XAiApiConfiguration configuration) { // var result = !configuration.IsNull() && !configuration.Url.IsNullOrEmpty() && configuration.Url.IsValidUrl() && !configuration.TextModel.IsNullOrEmpty(); // if (!result) { return result; } // return result; } } }