0
0
mirror of https://github.com/alex289/CleanArchitecture.git synced 2025-06-30 18:42:56 +00:00
CleanArchitecture/CleanArchitecture.Infrastructure/Configurations/UserConfiguration.cs
2023-08-30 23:36:48 +02:00

43 lines
1.3 KiB
C#

using CleanArchitecture.Domain.Constants;
using CleanArchitecture.Domain.Entities;
using CleanArchitecture.Domain.Enums;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace CleanArchitecture.Infrastructure.Configurations;
public sealed class UserConfiguration : IEntityTypeConfiguration<User>
{
public void Configure(EntityTypeBuilder<User> builder)
{
builder
.Property(user => user.Email)
.IsRequired()
.HasMaxLength(MaxLengths.User.Email);
builder
.Property(user => user.FirstName)
.IsRequired()
.HasMaxLength(MaxLengths.User.FirstName);
builder
.Property(user => user.LastName)
.IsRequired()
.HasMaxLength(MaxLengths.User.LastName);
builder
.Property(user => user.Password)
.IsRequired()
.HasMaxLength(MaxLengths.User.Password);
builder.HasData(new User(
Ids.Seed.UserId,
Ids.Seed.TenantId,
"admin@email.com",
"Admin",
"User",
// !Password123#
"$2a$12$Blal/uiFIJdYsCLTMUik/egLbfg3XhbnxBC6Sb5IKz2ZYhiU/MzL2",
UserRole.Admin));
}
}