2020-10-24 23:23:22 +02:00
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
2020-10-25 16:15:06 +01:00
|
|
|
|
using static Birdmap.Common.PasswordHelper;
|
2020-10-24 23:23:22 +02:00
|
|
|
|
|
|
|
|
|
namespace Birdmap.DAL.Entities.Configurations
|
|
|
|
|
{
|
|
|
|
|
public class UserConfiguration : IEntityTypeConfiguration<User>
|
|
|
|
|
{
|
|
|
|
|
public void Configure(EntityTypeBuilder<User> builder)
|
|
|
|
|
{
|
2020-10-25 16:15:06 +01:00
|
|
|
|
builder.HasIndex(u => u.Name)
|
|
|
|
|
.IsUnique();
|
|
|
|
|
|
2020-10-24 23:23:22 +02:00
|
|
|
|
builder.Property(u => u.Name)
|
|
|
|
|
.IsRequired();
|
|
|
|
|
|
|
|
|
|
builder.Property(u => u.PasswordHash)
|
|
|
|
|
.IsRequired();
|
|
|
|
|
|
|
|
|
|
builder.Property(u => u.PasswordSalt)
|
|
|
|
|
.IsRequired();
|
|
|
|
|
|
|
|
|
|
builder.Property(u => u.Role)
|
|
|
|
|
.IsRequired();
|
2020-10-25 16:15:06 +01:00
|
|
|
|
|
|
|
|
|
CreatePasswordHash("pass", out var hash, out var salt);
|
|
|
|
|
|
|
|
|
|
builder.HasData(
|
|
|
|
|
new User
|
|
|
|
|
{
|
|
|
|
|
Id = 1,
|
|
|
|
|
Name = "admin",
|
|
|
|
|
PasswordHash = hash,
|
|
|
|
|
PasswordSalt = salt,
|
|
|
|
|
Role = Roles.Admin,
|
|
|
|
|
},
|
|
|
|
|
new User
|
|
|
|
|
{
|
|
|
|
|
Id = 2,
|
|
|
|
|
Name = "user",
|
|
|
|
|
PasswordHash = hash,
|
|
|
|
|
PasswordSalt = salt,
|
|
|
|
|
Role = Roles.User,
|
|
|
|
|
});
|
2020-10-24 23:23:22 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|