using Domain.Entities.EmailVerification; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Infrastructure.Persistence.Configurations.EmailVerification; public sealed class EmailVerifyNumberConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasIndex(x => x.Type); builder.HasIndex(x => x.Email); builder.HasIndex(x => x.Code); builder.HasIndex(x => x.IsVerified); builder.HasIndex(x => x.Expiration); builder.HasIndex(x => new { x.Type, x.Code }); builder.HasIndex(x => new { x.Type, x.Code, x.IsVerified }); builder.ToTable(nameof(EmailVerifyNumber), x => x.HasComment("À̸ÞÀÏ ÀÎÁõ ¹øÈ£µé")); builder.HasKey(x => x.ID); builder.Property(x => x.ID).ValueGeneratedOnAdd().HasComment("PK"); builder.Property(x => x.Type).HasConversion().IsRequired().HasComment("ÀÎÁõ À¯Çü (À̸ÞÀÏ ÀÎÁõ / ºñ¹Ð¹øÈ£ Àç¼³Á¤)"); builder.Property(x => x.Email).HasMaxLength(60).IsRequired().HasComment("À̸ÞÀÏ"); builder.Property(x => x.Code).HasMaxLength(10).IsRequired().HasComment("Code"); builder.Property(x => x.IsVerified).IsRequired().HasComment("ÀÎÁõ ¿©ºÎ"); builder.Property(x => x.Expiration).IsRequired().HasComment("¸¸·á ÀϽÃ"); builder.Property(x => x.CreatedAt).IsRequired().HasComment("µî·Ï ÀϽÃ"); } }