|
|
@ -2,13 +2,12 @@ |
|
|
using System.Collections.Generic; |
|
|
using System.Collections.Generic; |
|
|
using System.Threading.Tasks; |
|
|
using System.Threading.Tasks; |
|
|
using Volo.Abp.Application.Dtos; |
|
|
using Volo.Abp.Application.Dtos; |
|
|
using Volo.Abp.Application.Services; |
|
|
|
|
|
|
|
|
|
|
|
namespace Volo.Abp.Identity |
|
|
namespace Volo.Abp.Identity |
|
|
{ |
|
|
{ |
|
|
//TODO: Consider a way of passing cancellation token to all async application service methods!
|
|
|
//TODO: Consider a way of passing cancellation token to all async application service methods!
|
|
|
|
|
|
|
|
|
public class IdentityUserAppService : ApplicationService, IIdentityUserAppService |
|
|
public class IdentityUserAppService : IdentityAppServiceBase, IIdentityUserAppService |
|
|
{ |
|
|
{ |
|
|
private readonly IdentityUserManager _userManager; |
|
|
private readonly IdentityUserManager _userManager; |
|
|
private readonly IIdentityUserRepository _userRepository; |
|
|
private readonly IIdentityUserRepository _userRepository; |
|
|
@ -41,8 +40,9 @@ namespace Volo.Abp.Identity |
|
|
{ |
|
|
{ |
|
|
var user = new IdentityUser(GuidGenerator.Create(), input.UserName); |
|
|
var user = new IdentityUser(GuidGenerator.Create(), input.UserName); |
|
|
|
|
|
|
|
|
|
|
|
CheckIdentityErrors(await _userManager.CreateAsync(user, input.Password)); |
|
|
await UpdateUserByInput(user, input); |
|
|
await UpdateUserByInput(user, input); |
|
|
await _userManager.CreateAsync(user, input.Password); |
|
|
|
|
|
await CurrentUnitOfWork.SaveChangesAsync(); |
|
|
await CurrentUnitOfWork.SaveChangesAsync(); |
|
|
|
|
|
|
|
|
return ObjectMapper.Map<IdentityUser, IdentityUserDto>(user); |
|
|
return ObjectMapper.Map<IdentityUser, IdentityUserDto>(user); |
|
|
@ -52,9 +52,9 @@ namespace Volo.Abp.Identity |
|
|
{ |
|
|
{ |
|
|
var user = await _userManager.GetByIdAsync(id); |
|
|
var user = await _userManager.GetByIdAsync(id); |
|
|
|
|
|
|
|
|
await _userManager.SetUserNameAsync(user, input.UserName); |
|
|
CheckIdentityErrors(await _userManager.SetUserNameAsync(user, input.UserName)); |
|
|
await UpdateUserByInput(user, input); |
|
|
await UpdateUserByInput(user, input); |
|
|
await _userManager.UpdateAsync(user); |
|
|
CheckIdentityErrors(await _userManager.UpdateAsync(user)); |
|
|
await CurrentUnitOfWork.SaveChangesAsync(); |
|
|
await CurrentUnitOfWork.SaveChangesAsync(); |
|
|
|
|
|
|
|
|
return ObjectMapper.Map<IdentityUser, IdentityUserDto>(user); |
|
|
return ObjectMapper.Map<IdentityUser, IdentityUserDto>(user); |
|
|
@ -63,7 +63,7 @@ namespace Volo.Abp.Identity |
|
|
public async Task DeleteAsync(Guid id) |
|
|
public async Task DeleteAsync(Guid id) |
|
|
{ |
|
|
{ |
|
|
var user = await _userManager.GetByIdAsync(id); |
|
|
var user = await _userManager.GetByIdAsync(id); |
|
|
await _userManager.DeleteAsync(user); |
|
|
CheckIdentityErrors(await _userManager.DeleteAsync(user)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public async Task<ListResultDto<IdentityRoleDto>> GetRolesAsync(Guid id) |
|
|
public async Task<ListResultDto<IdentityRoleDto>> GetRolesAsync(Guid id) |
|
|
@ -77,19 +77,19 @@ namespace Volo.Abp.Identity |
|
|
public async Task UpdateRolesAsync(Guid id, IdentityUserUpdateRolesDto input) |
|
|
public async Task UpdateRolesAsync(Guid id, IdentityUserUpdateRolesDto input) |
|
|
{ |
|
|
{ |
|
|
var user = await _userManager.GetByIdAsync(id); |
|
|
var user = await _userManager.GetByIdAsync(id); |
|
|
await _userManager.SetRolesAsync(user, input.RoleNames); |
|
|
CheckIdentityErrors(await _userManager.SetRolesAsync(user, input.RoleNames)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private async Task UpdateUserByInput(IdentityUser user, IdentityUserCreateOrUpdateDtoBase input) |
|
|
private async Task UpdateUserByInput(IdentityUser user, IdentityUserCreateOrUpdateDtoBase input) |
|
|
{ |
|
|
{ |
|
|
await _userManager.SetEmailAsync(user, input.Email); |
|
|
CheckIdentityErrors(await _userManager.SetEmailAsync(user, input.Email)); |
|
|
await _userManager.SetPhoneNumberAsync(user, input.PhoneNumber); |
|
|
CheckIdentityErrors(await _userManager.SetPhoneNumberAsync(user, input.PhoneNumber)); |
|
|
await _userManager.SetTwoFactorEnabledAsync(user, input.TwoFactorEnabled); |
|
|
CheckIdentityErrors(await _userManager.SetTwoFactorEnabledAsync(user, input.TwoFactorEnabled)); |
|
|
await _userManager.SetLockoutEnabledAsync(user, input.LockoutEnabled); |
|
|
CheckIdentityErrors(await _userManager.SetLockoutEnabledAsync(user, input.LockoutEnabled)); |
|
|
|
|
|
|
|
|
if (input.RoleNames != null) |
|
|
if (input.RoleNames != null) |
|
|
{ |
|
|
{ |
|
|
await _userManager.SetRolesAsync(user, input.RoleNames); |
|
|
CheckIdentityErrors(await _userManager.SetRolesAsync(user, input.RoleNames)); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|