using Domain.Entities.Members; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Infrastructure.Persistence.Configurations.Members; public class RefreshTokenConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasOne(x => x.Member).WithMany().HasForeignKey(x => x.MemberID).OnDelete(DeleteBehavior.Cascade); builder.HasIndex(x => x.Token).IsUnique(); builder.HasIndex(x => x.MemberID); builder.ToTable(nameof(RefreshToken), x => x.HasComment("리프레시 토큰")); builder.HasKey(x => x.ID); builder.Property(x => x.Token).HasMaxLength(256).IsRequired(); builder.Property(x => x.ExpiresAt).IsRequired(); builder.Property(x => x.CreatedAt).IsRequired(); builder.Property(x => x.IsRevoked).HasDefaultValue(false); } }