using System; using Kyoo.Controllers; using Microsoft.AspNetCore.Builder; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Unity; using Unity.Injection; using Unity.Lifetime; using Unity.Resolution; namespace Kyoo.Postgresql { /// /// A module to add postgresql capacity to the app. /// public class PostgresModule : IPlugin { /// public string Slug => "postgresql"; /// public string Name => "Postgresql"; /// public string Description => "A database context for postgresql."; /// public string[] Provides => new[] { $"{nameof(DatabaseContext)}:{nameof(PostgresContext)}" }; /// public string[] Requires => Array.Empty(); /// public void Configure(IUnityContainer container, IConfiguration config, IApplicationBuilder app, bool debugMode) { // options.UseNpgsql(_configuration.GetDatabaseConnection()); // // // .EnableSensitiveDataLogging() // // // .UseLoggerFactory(LoggerFactory.Create(builder => builder.AddConsole())); container.RegisterFactory(_ => { return new PostgresContext(config.GetDatabaseConnection(), debugMode); }); } } }