using System; using xAiApi.Constants; using xAiApi.Extensions; using xCommons.Extensions; using xAiApi.Configurations; using xExceptions.Constants; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace xAiApi.DI { public static partial class XDIHelperExtension { /// /// Extract AI Configuration ... /// /// /// public static XAiApiConfiguration GetXAiApiConfiguration(this IConfiguration source) { // XAiApiConfiguration result = null; // var section = source.GetSection(ConfigurationNodeNames.AI_API_NODE); if (!section.IsNull()) { result = section.Get(); } // return result; } /// /// Register AiApi Configuration ... /// /// /// public static void AddXAiApiConfiguration( this IServiceCollection source, IConfiguration configuration ) { // var apiConfig = configuration.GetXAiApiConfiguration(); source.AddXAiApiConfiguration(apiConfig); } /// /// Register AiApi Configuration ... /// /// /// public static void AddXAiApiConfiguration( this IServiceCollection source, XAiApiConfiguration configuration ) { // if (!configuration.IsValid()) { XException.InvalidConfiguration.Throw(); } // source.AddSingleton(configuration); } // #region Private ... /// /// a LogTag for Service ... /// private static string XLogTag = XAiApiConstants.XDILogTag; /// /// print a log in Console ... /// /// private static void Log(string message) { Console.WriteLine($"{XLogTag} => {message}"); } #endregion } }