using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using Nuuru.Server.Models; namespace Nuuru.Server.Data.Configurations { public class AuditLogConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasKey(a => a.Id); builder.HasIndex(a => a.Timestamp).IsDescending(); builder.HasIndex(a => a.UserId); builder.HasIndex(a => a.Category); builder.HasIndex(a => a.Action); builder.HasIndex(a => a.IpAddress); builder.HasIndex(a => a.TargetType); builder.HasOne(a => a.User) .WithMany() .HasForeignKey(a => a.UserId) .OnDelete(DeleteBehavior.SetNull); } } }