using System.Text.RegularExpressions; using Govor.Core.Models; using Govor.Data.Configurations; using Microsoft.EntityFrameworkCore; namespace Govor.Data; public class GovorDbContext(DbContextOptions options) : DbContext(options) { public virtual DbSet Users { get; set; } public virtual DbSet Friendships { get; set; } public virtual DbSet PrivateChats { get; set; } public virtual DbSet Admins { get; set; } public virtual DbSet Invitations { get; set; } public virtual DbSet Messages { get; set; } public virtual DbSet MessageViews { get; set; } public virtual DbSet MessageReactions { get; set; } public virtual DbSet MediaAttachments { get; set; } public virtual DbSet MediaFiles { get; set; } public virtual DbSet ChatGroups { get; set; } public virtual DbSet GroupInvitations { get; set; } public virtual DbSet GroupMemberships { get; set; } public virtual DbSet GroupAdmins { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.ApplyConfiguration(new FriendshipConfiguration()); modelBuilder.ApplyConfiguration(new UserConfiguration()); modelBuilder.ApplyConfiguration(new InvitationConfiguration()); modelBuilder.ApplyConfiguration(new AdminConfiguration()); modelBuilder.ApplyConfiguration(new MessagesConfiguration()); modelBuilder.ApplyConfiguration(new MessageReactionConfiguration()); modelBuilder.ApplyConfiguration(new MediaAttachmentsConfiguration()); modelBuilder.ApplyConfiguration(new MessageViewConfiguration()); modelBuilder.ApplyConfiguration(new MediaFileConfiguration()); base.OnModelCreating(modelBuilder); } }