using Application.Abstractions.Data; using Domain.Entities.Common; using Domain.Entities.Members; using Domain.Entities.Members.Logs; using Domain.Entities.Page; using Domain.Entities.Page.Banner; using Domain.Entities.Page.Faq; using Domain.Entities.Wallets; using Domain.Entities.Forum.Boards; using Domain.Entities.Forum.Posts; using Domain.Entities.Forum.Comments; using Domain.Entities.Director; using Domain.Entities.EmailVerification; using Domain.Entities.Forum.Logs; using Domain.Entities.Page.Popup; using Domain.Entities.Donations; using Domain.Entities.Notes; using Domain.Entities.Notifications; using Domain.Entities.Payments; using Domain.Entities.Payments.Danal; using Microsoft.EntityFrameworkCore; namespace Infrastructure.Persistence { public sealed class AppDbContext : DbContext, IAppDbContext { public AppDbContext(DbContextOptions options) : base(options) { } // Admin public DbSet AdminLoginLog { get; set; } public DbSet AdminAccessLog { get; set; } // Config public DbSet Config { get; set; } // Page public DbSet Document { get; set; } public DbSet PopupPosition { get; set; } public DbSet Popup { get; set; } public DbSet FaqCategory { get; set; } public DbSet FaqItem { get; set; } public DbSet BannerPosition { get; set; } public DbSet BannerItem { get; set; } // Member public DbSet Member { get; set; } public DbSet MemberStats { get; set; } public DbSet MemberGrade { get; set; } public DbSet MemberApprove { get; set; } public DbSet MemberLoginLog { get; set; } public DbSet MemberEmailChangeLog { get; set; } public DbSet MemberNameChangeLog { get; set; } public DbSet MemberSummaryChangeLog { get; set; } public DbSet MemberIntroChangeLog { get; set; } public DbSet MemberExpLog { get; set; } public DbSet Channel { get; set; } public DbSet RefreshToken { get; set; } public DbSet MemberOAuthToken { get; set; } // EmailVerification public DbSet EmailVerifyToken { get; set; } public DbSet EmailVerifyNumber { get; set; } // Wallet public DbSet Wallet { get; set; } public DbSet WalletTransaction { get; set; } // 게시판 public DbSet BoardGroup { get; set; } public DbSet Board { get; set; } public DbSet BoardMeta { get; set; } public DbSet BoardManager { get; set; } public DbSet BoardPrefix { get; set; } // 게시글 public DbSet Post { get; set; } public DbSet PostImage { get; set; } public DbSet PostMedia { get; set; } public DbSet PostFile { get; set; } public DbSet PostLink { get; set; } public DbSet PostReaction { get; set; } public DbSet PostBookmark { get; set; } public DbSet PostReport { get; set; } public DbSet PostTag { get; set; } public DbSet Tag { get; set; } // 댓글 public DbSet Comment { get; set; } public DbSet CommentFile { get; set; } public DbSet CommentImage { get; set; } public DbSet CommentMedia { get; set; } public DbSet CommentLink { get; set; } public DbSet CommentReaction { get; set; } public DbSet CommentReport { get; set; } public DbSet CommentMention { get; set; } // 게시글/댓글 로그 public DbSet PostUpdateLog { get; set; } public DbSet PostFileDownLog { get; set; } public DbSet PostLinkClickLog { get; set; } public DbSet PostViewLog { get; set; } public DbSet CommentUpdateLog { get; set; } public DbSet CommentFileDownLog { get; set; } public DbSet CommentLinkClickLog { get; set; } // 후원 public DbSet Donation { get; set; } public DbSet DonationAlert { get; set; } public DbSet DonationAlertAttempt { get; set; } public DbSet DonationAlertConfig { get; set; } public DbSet DonationMeta { get; set; } public DbSet Settlement { get; set; } public DbSet SettlementAccount { get; set; } public DbSet WithdrawalRequest { get; set; } public DbSet DonationGoalConfig { get; set; } public DbSet DonationRankConfig { get; set; } public DbSet DonationRanking { get; set; } // 크루 public DbSet Crew { get; set; } public DbSet CrewMember { get; set; } public DbSet CrewSession { get; set; } public DbSet CrewSessionConsent { get; set; } public DbSet CrewDonationSummary { get; set; } public DbSet CrewWidgetConfig { get; set; } // 쪽지 public DbSet Note { get; set; } // 알림 public DbSet Notification { get; set; } // 결제 public DbSet PaymentOrder { get; set; } public DbSet DanalConfirm { get; set; } public DbSet DanalCancel { get; set; } public DbSet DanalLog { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { // Apply all configurations from the current assembly modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly); } } }