namespace LiteCharms.Features.MidrandBooks.Customers.Entities; public sealed class CustomerConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable("Customers"); builder.HasKey(c => c.Id); builder.Property(c => c.CreatedAt).IsRequired().ValueGeneratedOnAdd().HasDefaultValueSql("now()"); builder.Property(c => c.UpdatedAt).HasDefaultValueSql("now()"); builder.Property(c => c.Company).IsRequired(false); builder.Property(c => c.VatNumber).IsRequired(false); builder.Property(c => c.Email).IsRequired(); builder.Property(c => c.Phone).IsRequired(false); builder.Property(c => c.Website).IsRequired(false); builder.Property(c => c.Enabled).HasDefaultValue(true); builder.OwnsMany(f => f.SocialMedia, b => { b.ToJson(); }); } }