using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Newsbot.Collector.Domain.Consts; using Newsbot.Collector.Domain.Entities; namespace Newsbot.Collector.Database; public class DatabaseContext : DbContext { public DbSet Articles { get; set; } = null!; public DbSet DiscordQueue { get; set; } = null!; public DbSet DiscordWebhooks { get; set; } = null!; public DbSet Icons { get; set; } = null!; public DbSet Sources { get; set; } = null!; public DbSet Subscriptions { get; set; } = null!; private string ConnectionString { get; set; } public DatabaseContext(IConfiguration appsettings) { var connString = appsettings.GetConnectionString(ConfigConnectionStringConst.Database); ConnectionString = connString ?? ""; } public DatabaseContext(string connectionString) { ConnectionString = connectionString; } protected override void OnConfiguring(DbContextOptionsBuilder options) { options.UseNpgsql(ConnectionString); } public DatabaseContext(DbContextOptions options) : base(options) { } }