Files
Govor/Govor.Data/GovorDbContext.cs
T
Artemy a68feb4a17 Refactor group existence checks and add group repo tests
Renamed IGroupsExist and related methods from Exists to Exist for consistency. Added integration tests for GroupRepository. Introduced entity configurations for ChatGroup, GroupAdmins, GroupInvitation, and updated GroupMembership configuration. Updated usages and tests to match new method names and improved equality checks for ChatGroup.
2025-07-07 20:49:20 +07:00

46 lines
2.2 KiB
C#

using System.Text.RegularExpressions;
using Govor.Core.Models;
using Govor.Data.Configurations;
using Microsoft.EntityFrameworkCore;
namespace Govor.Data;
public class GovorDbContext(DbContextOptions<GovorDbContext> options) : DbContext(options)
{
public virtual DbSet<User> Users { get; set; }
public virtual DbSet<Friendship> Friendships { get; set; }
public virtual DbSet<PrivateChat> PrivateChats { get; set; }
public virtual DbSet<Admin> Admins { get; set; }
public virtual DbSet<Invitation> Invitations { get; set; }
public virtual DbSet<Message> Messages { get; set; }
public virtual DbSet<MessageView> MessageViews { get; set; }
public virtual DbSet<MessageReaction> MessageReactions { get; set; }
public virtual DbSet<MediaAttachments> MediaAttachments { get; set; }
public virtual DbSet<MediaFile> MediaFiles { get; set; }
public virtual DbSet<ChatGroup> ChatGroups { get; set; }
public virtual DbSet<GroupInvitation> GroupInvitations { get; set; }
public virtual DbSet<GroupMembership> GroupMemberships { get; set; }
public virtual DbSet<GroupAdmins> 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());
modelBuilder.ApplyConfiguration(new ChatGroupConfigurator());
modelBuilder.ApplyConfiguration(new GroupInvitationConfiguration());
modelBuilder.ApplyConfiguration(new GroupMembershipConfiguration());
modelBuilder.ApplyConfiguration(new GroupAdminsConfiguration());
base.OnModelCreating(modelBuilder);
}
}