Make isAdmin async
This commit is contained in:
@@ -87,7 +87,7 @@ public class BotController : BaseController
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Admin users can access all bots
|
// Admin users can access all bots
|
||||||
if (_adminService.IsUserAdmin(user.Name))
|
if (await _adminService.IsUserAdminAsync(user.Name))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (identifier != default)
|
if (identifier != default)
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class SqlMonitoringController : BaseController
|
|||||||
if (user == null)
|
if (user == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return _adminService.IsUserAdmin(user.Name);
|
return await _adminService.IsUserAdminAsync(user.Name);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -220,7 +220,7 @@ public class TradingController : BaseController
|
|||||||
private async Task<bool> CanUserInitializeAddress(string userName, string publicAddress)
|
private async Task<bool> CanUserInitializeAddress(string userName, string publicAddress)
|
||||||
{
|
{
|
||||||
// Admin users can initialize any address
|
// Admin users can initialize any address
|
||||||
if (_adminService.IsUserAdmin(userName))
|
if (await _adminService.IsUserAdminAsync(userName))
|
||||||
{
|
{
|
||||||
_logger.LogInformation("Admin user {UserName} initializing address {Address}", userName, publicAddress);
|
_logger.LogInformation("Admin user {UserName} initializing address {Address}", userName, publicAddress);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -49,10 +49,10 @@ public class WhitelistController : BaseController
|
|||||||
{
|
{
|
||||||
var user = await GetUser();
|
var user = await GetUser();
|
||||||
|
|
||||||
if (!_adminService.IsUserAdmin(user.Name))
|
if (!await _adminService.IsUserAdminAsync(user.Name))
|
||||||
{
|
{
|
||||||
_logger.LogWarning("User {UserName} attempted to list whitelist accounts without admin privileges", user.Name);
|
_logger.LogWarning("User {UserName} attempted to list whitelist accounts without admin privileges", user.Name);
|
||||||
return Forbid("Only admin users can list whitelist accounts");
|
return StatusCode(403, new { error = "Only admin users can list whitelist accounts" });
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -89,10 +89,10 @@ public class WhitelistController : BaseController
|
|||||||
{
|
{
|
||||||
var user = await GetUser();
|
var user = await GetUser();
|
||||||
|
|
||||||
if (!_adminService.IsUserAdmin(user.Name))
|
if (!await _adminService.IsUserAdminAsync(user.Name))
|
||||||
{
|
{
|
||||||
_logger.LogWarning("User {UserName} attempted to set whitelisted status without admin privileges", user.Name);
|
_logger.LogWarning("User {UserName} attempted to set whitelisted status without admin privileges", user.Name);
|
||||||
return Forbid("Only admin users can set whitelisted status");
|
return StatusCode(403, new { error = "Only admin users can set whitelisted status" });
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ namespace Managing.Application.Shared;
|
|||||||
|
|
||||||
public interface IAdminConfigurationService
|
public interface IAdminConfigurationService
|
||||||
{
|
{
|
||||||
bool IsUserAdmin(string userName);
|
Task<bool> IsUserAdminAsync(string userName);
|
||||||
List<string> GetAdminUserNames();
|
List<string> GetAdminUserNames();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@ public class AdminConfigurationService : IAdminConfigurationService
|
|||||||
_serviceScopeFactory = serviceScopeFactory;
|
_serviceScopeFactory = serviceScopeFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsUserAdmin(string userName)
|
public async Task<bool> IsUserAdminAsync(string userName)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(userName))
|
if (string.IsNullOrEmpty(userName))
|
||||||
{
|
{
|
||||||
@@ -50,7 +50,7 @@ public class AdminConfigurationService : IAdminConfigurationService
|
|||||||
using var scope = _serviceScopeFactory.CreateScope();
|
using var scope = _serviceScopeFactory.CreateScope();
|
||||||
var userRepository = scope.ServiceProvider.GetRequiredService<IUserRepository>();
|
var userRepository = scope.ServiceProvider.GetRequiredService<IUserRepository>();
|
||||||
|
|
||||||
var user = userRepository.GetUserByNameAsync(userName).GetAwaiter().GetResult();
|
var user = await userRepository.GetUserByNameAsync(userName);
|
||||||
|
|
||||||
if (user != null && user.IsAdmin)
|
if (user != null && user.IsAdmin)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user