1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-06-10 23:31:13 -05:00

Misc Qodana cleanups

This commit is contained in:
Amos
2024-07-02 23:05:47 +01:00
committed by Ayymoss
parent e94a0ae691
commit f2b273b878
13 changed files with 150 additions and 154 deletions

View File

@ -7,16 +7,10 @@ using ILogger = Microsoft.Extensions.Logging.ILogger;
namespace IW4MAdmin.Application.Misc
{
class MiddlewareActionHandler : IMiddlewareActionHandler
internal class MiddlewareActionHandler(ILogger<MiddlewareActionHandler> logger) : IMiddlewareActionHandler
{
private readonly IDictionary<string, IList<object>> _actions;
private readonly ILogger _logger;
public MiddlewareActionHandler(ILogger<MiddlewareActionHandler> logger)
{
_actions = new Dictionary<string, IList<object>>();
_logger = logger;
}
private readonly Dictionary<string, IList<object>> _actions = new();
private readonly ILogger _logger = logger;
/// <summary>
/// Executes the action with the given name
@ -27,23 +21,19 @@ namespace IW4MAdmin.Application.Misc
/// <returns></returns>
public async Task<T> Execute<T>(T value, string name = null)
{
string key = string.IsNullOrEmpty(name) ? typeof(T).ToString() : name;
var key = string.IsNullOrEmpty(name) ? typeof(T).ToString() : name;
if (_actions.ContainsKey(key))
if (!_actions.TryGetValue(key, out var action1)) return value;
foreach (var action in action1)
{
foreach (var action in _actions[key])
try
{
try
{
value = await ((IMiddlewareAction<T>)action).Invoke(value);
}
catch (Exception e)
{
_logger.LogWarning(e, "Failed to invoke middleware action {name}", name);
}
value = await ((IMiddlewareAction<T>)action).Invoke(value);
}
catch (Exception e)
{
_logger.LogWarning(e, "Failed to invoke middleware action {Name}", name);
}
return value;
}
return value;
@ -58,16 +48,15 @@ namespace IW4MAdmin.Application.Misc
/// <param name="name">Name of action</param>
public void Register<T>(T actionType, IMiddlewareAction<T> action, string name = null)
{
string key = string.IsNullOrEmpty(name) ? typeof(T).ToString() : name;
var key = string.IsNullOrEmpty(name) ? typeof(T).ToString() : name;
if (_actions.ContainsKey(key))
if (_actions.TryGetValue(key, out var action1))
{
_actions[key].Add(action);
action1.Add(action);
}
else
{
_actions.Add(key, new[] { action });
_actions.Add(key, [action]);
}
}
}