Browse Source

Make userrole as entity without id.

pull/206/head
Halil İbrahim Kalkan 8 years ago
parent
commit
38acfd95de
  1. 6
      src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs
  2. 6
      src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs
  3. 5
      src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs
  4. 2
      src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs
  5. 3
      src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs
  6. 4
      test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs

6
src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs

@ -81,13 +81,9 @@ namespace Volo.Abp.Identity
Claims.RemoveAll(c => c.ClaimType == claim.Type && c.ClaimValue == claim.Value); Claims.RemoveAll(c => c.ClaimType == claim.Type && c.ClaimValue == claim.Value);
} }
/// <summary>
/// Returns the name of the role.
/// </summary>
/// <returns>The name of the role.</returns>
public override string ToString() public override string ToString()
{ {
return Name; return $"{base.ToString()}, Name = {Name}";
} }
} }
} }

6
src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs

@ -10,8 +10,6 @@ using Volo.Abp.Guids;
namespace Volo.Abp.Identity namespace Volo.Abp.Identity
{ {
//Add Name and Surname properties?
public class IdentityUser : AggregateRoot<Guid>, IHasConcurrencyStamp public class IdentityUser : AggregateRoot<Guid>, IHasConcurrencyStamp
{ {
/// <summary> /// <summary>
@ -134,7 +132,7 @@ namespace Volo.Abp.Identity
Tokens = new Collection<IdentityUserToken>(); Tokens = new Collection<IdentityUserToken>();
} }
public void AddRole(IGuidGenerator guidGenerator, Guid roleId) public void AddRole(Guid roleId)
{ {
Check.NotNull(roleId, nameof(roleId)); Check.NotNull(roleId, nameof(roleId));
@ -143,7 +141,7 @@ namespace Volo.Abp.Identity
return; return;
} }
Roles.Add(new IdentityUserRole(guidGenerator.Create(), Id, roleId)); Roles.Add(new IdentityUserRole(Id, roleId));
} }
public void RemoveRole(Guid roleId) public void RemoveRole(Guid roleId)

5
src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs

@ -6,7 +6,7 @@ namespace Volo.Abp.Identity
/// <summary> /// <summary>
/// Represents the link between a user and a role. /// Represents the link between a user and a role.
/// </summary> /// </summary>
public class IdentityUserRole : Entity<Guid> public class IdentityUserRole : Entity
{ {
/// <summary> /// <summary>
/// Gets or sets the primary key of the user that is linked to a role. /// Gets or sets the primary key of the user that is linked to a role.
@ -23,9 +23,8 @@ namespace Volo.Abp.Identity
} }
protected internal IdentityUserRole(Guid id, Guid userId, Guid roleId) protected internal IdentityUserRole(Guid userId, Guid roleId)
{ {
Id = id;
UserId = userId; UserId = userId;
RoleId = roleId; RoleId = roleId;
} }

2
src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs

@ -335,7 +335,7 @@ namespace Volo.Abp.Identity
await _userRepository.EnsureCollectionLoadedAsync(user, u => u.Roles, cancellationToken); await _userRepository.EnsureCollectionLoadedAsync(user, u => u.Roles, cancellationToken);
user.AddRole(_guidGenerator, role.Id); user.AddRole(role.Id);
} }
/// <summary> /// <summary>

3
src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs

@ -76,10 +76,11 @@ namespace Volo.Abp.Identity.EntityFrameworkCore
{ {
b.ToTable(tablePrefix + "UserRoles", schema); b.ToTable(tablePrefix + "UserRoles", schema);
b.HasKey(ur => new {ur.UserId, ur.RoleId});
b.HasOne<IdentityRole>().WithMany().HasForeignKey(ur => ur.RoleId).IsRequired(); b.HasOne<IdentityRole>().WithMany().HasForeignKey(ur => ur.RoleId).IsRequired();
b.HasOne<IdentityUser>().WithMany(u => u.Roles).HasForeignKey(ur => ur.UserId).IsRequired(); b.HasOne<IdentityUser>().WithMany(u => u.Roles).HasForeignKey(ur => ur.UserId).IsRequired();
b.HasIndex(ur => new { ur.UserId, ur.RoleId });
b.HasIndex(ur => new { ur.RoleId, ur.UserId }); b.HasIndex(ur => new { ur.RoleId, ur.UserId });
}); });

4
test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs

@ -43,8 +43,8 @@ namespace Volo.Abp.Identity
private void AddUsers() private void AddUsers()
{ {
var john = new IdentityUser(_guidGenerator.Create(), "john.nash"); var john = new IdentityUser(_guidGenerator.Create(), "john.nash");
john.Roles.Add(new IdentityUserRole(_guidGenerator.Create(), john.Id, _moderator.Id)); john.AddRole(_moderator.Id);
john.Roles.Add(new IdentityUserRole(_guidGenerator.Create(), john.Id, _supporterRole.Id)); john.AddRole(_supporterRole.Id);
_userRepository.Insert(john); _userRepository.Insert(john);
} }
} }

Loading…
Cancel
Save