Style: C# 12 Primary constructor

This commit is contained in:
Kamigen
2024-03-30 20:59:17 -04:00
parent 786c65410d
commit 8f58311283
50 changed files with 267 additions and 449 deletions

View File

@@ -5,25 +5,15 @@ using Microsoft.AspNetCore.Identity;
namespace Hutopy.Infrastructure.Identity;
public class IdentityService : IIdentityService
public class IdentityService(
UserManager<ApplicationUser> userManager,
IUserClaimsPrincipalFactory<ApplicationUser> userClaimsPrincipalFactory,
IAuthorizationService authorizationService)
: IIdentityService
{
private readonly UserManager<ApplicationUser> _userManager;
private readonly IUserClaimsPrincipalFactory<ApplicationUser> _userClaimsPrincipalFactory;
private readonly IAuthorizationService _authorizationService;
public IdentityService(
UserManager<ApplicationUser> userManager,
IUserClaimsPrincipalFactory<ApplicationUser> userClaimsPrincipalFactory,
IAuthorizationService authorizationService)
{
_userManager = userManager;
_userClaimsPrincipalFactory = userClaimsPrincipalFactory;
_authorizationService = authorizationService;
}
public async Task<string?> GetUserNameAsync(string userId)
{
var user = await _userManager.FindByIdAsync(userId);
var user = await userManager.FindByIdAsync(userId);
return user?.UserName;
}
@@ -36,44 +26,44 @@ public class IdentityService : IIdentityService
Email = userName,
};
var result = await _userManager.CreateAsync(user, password);
var result = await userManager.CreateAsync(user, password);
return (result.ToApplicationResult(), user.Id);
}
public async Task<bool> IsInRoleAsync(string userId, string role)
{
var user = await _userManager.FindByIdAsync(userId);
var user = await userManager.FindByIdAsync(userId);
return user != null && await _userManager.IsInRoleAsync(user, role);
return user != null && await userManager.IsInRoleAsync(user, role);
}
public async Task<bool> AuthorizeAsync(string userId, string policyName)
{
var user = await _userManager.FindByIdAsync(userId);
var user = await userManager.FindByIdAsync(userId);
if (user == null)
{
return false;
}
var principal = await _userClaimsPrincipalFactory.CreateAsync(user);
var principal = await userClaimsPrincipalFactory.CreateAsync(user);
var result = await _authorizationService.AuthorizeAsync(principal, policyName);
var result = await authorizationService.AuthorizeAsync(principal, policyName);
return result.Succeeded;
}
public async Task<Result> DeleteUserAsync(string userId)
{
var user = await _userManager.FindByIdAsync(userId);
var user = await userManager.FindByIdAsync(userId);
return user != null ? await DeleteUserAsync(user) : Result.Success();
}
public async Task<Result> DeleteUserAsync(ApplicationUser user)
{
var result = await _userManager.DeleteAsync(user);
var result = await userManager.DeleteAsync(user);
return result.ToApplicationResult();
}