using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using Nuuru.Server.Models; namespace Nuuru.Server.Data.EntityConfigurations { public class IpBanAppealConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasIndex(a => a.IpBanId); builder.HasIndex(a => a.IpAddress); builder.HasIndex(a => a.UserId); builder.HasIndex(a => a.Status); builder.HasOne(a => a.IpBan) .WithMany(b => b.Appeals) .HasForeignKey(a => a.IpBanId) .OnDelete(DeleteBehavior.Cascade); builder.HasOne(a => a.User) .WithMany() .HasForeignKey(a => a.UserId) .OnDelete(DeleteBehavior.SetNull); builder.HasOne(a => a.Moderator) .WithMany() .HasForeignKey(a => a.ModeratorId) .OnDelete(DeleteBehavior.SetNull); } } }