namespace LiteCharms.Features.MidrandBooks.Orders.Entities; public class RefundConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable("Refunds"); builder.HasKey(r => r.Id); builder.Property(r => r.OrderId).IsRequired(); builder.Property(o => o.CreatedAt).IsRequired().ValueGeneratedOnAdd().HasDefaultValueSql("now()"); builder.Property(o => o.UpdatedAt).HasDefaultValueSql("now()"); builder.Property(o => o.Status).IsRequired(); builder.Property(r => r.Amount).IsRequired().HasPrecision(18, 2); builder.Property(r => r.Reason).HasMaxLength(1000); builder.HasOne(r => r.Order) .WithMany(o => o.Refunds) .HasForeignKey(r => r.OrderId) .OnDelete(DeleteBehavior.Restrict); } }