using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using Mws.Domain.Users; namespace Mws.Infrastructure.Persistence.Configuration; public class UserConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder e) { e.ToTable("users"); e.HasKey(u => u.Id); e.Property(u => u.Username).HasMaxLength(100).IsRequired(); e.HasIndex(u => u.Username).IsUnique(); e.Property(u => u.PasswordHash).HasMaxLength(200).IsRequired(); e.Property(u => u.DisplayName).HasMaxLength(150).IsRequired(); e.HasOne(u => u.Role) .WithMany() .HasForeignKey(u => u.RoleId) .OnDelete(DeleteBehavior.Restrict); } }