diff --git a/services/identity/src/EShopOnAbp.IdentityService.Application/BackgroundJobs/User/KeycloakUserCreationJob.cs b/services/identity/src/EShopOnAbp.IdentityService.Application/BackgroundJobs/User/KeycloakUserCreationJob.cs index 0727351e..c7671a0a 100644 --- a/services/identity/src/EShopOnAbp.IdentityService.Application/BackgroundJobs/User/KeycloakUserCreationJob.cs +++ b/services/identity/src/EShopOnAbp.IdentityService.Application/BackgroundJobs/User/KeycloakUserCreationJob.cs @@ -7,6 +7,7 @@ using Microsoft.Extensions.Logging; using Volo.Abp.BackgroundJobs; using Volo.Abp.DependencyInjection; using Keycloak.Net.Models.Users; +using Volo.Abp.Identity; namespace EShopOnAbp.IdentityService.BackgroundJobs.User; @@ -31,6 +32,7 @@ public class KeycloakUserCreationJob : AsyncBackgroundJob() { new() { Type = "password", Value = args.Password } @@ -70,11 +72,26 @@ public class KeycloakUserCreationJob : AsyncBackgroundJob identityOptions, IBackgroundJobManager backgroundJobManager) : base(userManager, + IOptions identityOptions, + IBackgroundJobManager backgroundJobManager) : base(userManager, userRepository, roleRepository, identityOptions) { + _userManager = userManager; _backgroundJobManager = backgroundJobManager; - _userRepository = userRepository; } public override async Task CreateAsync(IdentityUserCreateDto input) { var createdUser = await base.CreateAsync(input); - await _backgroundJobManager.EnqueueAsync(new IdentityUserCreationArgs - { - Email = createdUser.Email, - UserName = createdUser.UserName, - Name = createdUser.Name, - Surname = createdUser.Surname, - Password = input.Password - }); + await _backgroundJobManager.EnqueueAsync(new IdentityUserCreationArgs(input)); return createdUser; } @@ -52,7 +46,9 @@ public class EShopIdentityUserAppService : IdentityUserAppService UserName = updatedUser.UserName, Name = updatedUser.Name, Surname = updatedUser.Surname, - EmailConfirmed = updatedUser.EmailConfirmed + EmailConfirmed = updatedUser.EmailConfirmed, + IsActive = input.IsActive, + RoleNames = input.RoleNames }); return updatedUser; @@ -60,12 +56,11 @@ public class EShopIdentityUserAppService : IdentityUserAppService public override async Task DeleteAsync(Guid id) { - var user = await _userRepository.FindAsync(id); + var user = await _userManager.FindByIdAsync(id.ToString()); await base.DeleteAsync(id); - - await _backgroundJobManager.EnqueueAsync(new IdentityUserDeletionArgs + if (user != null) { - UserName = user.UserName - }); + await _backgroundJobManager.EnqueueAsync(new IdentityUserDeletionArgs(user.UserName)); + } } } \ No newline at end of file