mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-10 15:20:48 -05:00
implement new eventing system
This commit is contained in:
@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Authentication;
|
||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SharedLibraryCore;
|
||||
using SharedLibraryCore.Events.Management;
|
||||
using SharedLibraryCore.Helpers;
|
||||
using SharedLibraryCore.Services;
|
||||
using WebfrontCore.Controllers.API.Dtos;
|
||||
@ -136,6 +137,16 @@ namespace WebfrontCore.Controllers.API
|
||||
? HttpContext.Request.Headers["X-Forwarded-For"].ToString()
|
||||
: HttpContext.Connection.RemoteIpAddress.ToString()
|
||||
});
|
||||
|
||||
Manager.QueueEvent(new LoginEvent
|
||||
{
|
||||
Source = this,
|
||||
LoginSource = LoginEvent.LoginSourceType.Webfront,
|
||||
EntityId = Client.ClientId.ToString(),
|
||||
Identifier = HttpContext.Request.Headers.ContainsKey("X-Forwarded-For")
|
||||
? HttpContext.Request.Headers["X-Forwarded-For"].ToString()
|
||||
: HttpContext.Connection.RemoteIpAddress?.ToString()
|
||||
});
|
||||
|
||||
return Ok();
|
||||
}
|
||||
@ -165,6 +176,16 @@ namespace WebfrontCore.Controllers.API
|
||||
? HttpContext.Request.Headers["X-Forwarded-For"].ToString()
|
||||
: HttpContext.Connection.RemoteIpAddress.ToString()
|
||||
});
|
||||
|
||||
Manager.QueueEvent(new LogoutEvent
|
||||
{
|
||||
Source = this,
|
||||
LoginSource = LoginEvent.LoginSourceType.Webfront,
|
||||
EntityId = Client.ClientId.ToString(),
|
||||
Identifier = HttpContext.Request.Headers.ContainsKey("X-Forwarded-For")
|
||||
? HttpContext.Request.Headers["X-Forwarded-For"].ToString()
|
||||
: HttpContext.Connection.RemoteIpAddress?.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
|
||||
|
@ -91,7 +91,7 @@ namespace WebfrontCore.Controllers.API
|
||||
var start = DateTime.Now;
|
||||
Client.CurrentServer = foundServer;
|
||||
|
||||
var commandEvent = new GameEvent()
|
||||
var commandEvent = new GameEvent
|
||||
{
|
||||
Type = GameEvent.EventType.Command,
|
||||
Owner = foundServer,
|
||||
|
@ -47,4 +47,4 @@ namespace WebfrontCore.Controllers
|
||||
return View(info);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ using System;
|
||||
using System.Linq;
|
||||
using System.Security.Claims;
|
||||
using System.Threading.Tasks;
|
||||
using SharedLibraryCore.Events.Management;
|
||||
using SharedLibraryCore.Helpers;
|
||||
|
||||
namespace WebfrontCore.Controllers
|
||||
@ -72,6 +73,16 @@ namespace WebfrontCore.Controllers
|
||||
? HttpContext.Request.Headers["X-Forwarded-For"].ToString()
|
||||
: HttpContext.Connection.RemoteIpAddress?.ToString()
|
||||
});
|
||||
|
||||
Manager.QueueEvent(new LoginEvent
|
||||
{
|
||||
Source = this,
|
||||
LoginSource = LoginEvent.LoginSourceType.Webfront,
|
||||
EntityId = privilegedClient.ClientId.ToString(),
|
||||
Identifier = HttpContext.Request.Headers.ContainsKey("X-Forwarded-For")
|
||||
? HttpContext.Request.Headers["X-Forwarded-For"].ToString()
|
||||
: HttpContext.Connection.RemoteIpAddress?.ToString()
|
||||
});
|
||||
|
||||
return Ok(Localization["WEBFRONT_ACTION_LOGIN_SUCCESS"].FormatExt(privilegedClient.CleanedName));
|
||||
}
|
||||
@ -99,6 +110,16 @@ namespace WebfrontCore.Controllers
|
||||
? HttpContext.Request.Headers["X-Forwarded-For"].ToString()
|
||||
: HttpContext.Connection.RemoteIpAddress?.ToString()
|
||||
});
|
||||
|
||||
Manager.QueueEvent(new LogoutEvent
|
||||
{
|
||||
Source = this,
|
||||
LoginSource = LoginEvent.LoginSourceType.Webfront,
|
||||
EntityId = Client.ClientId.ToString(),
|
||||
Identifier = HttpContext.Request.Headers.ContainsKey("X-Forwarded-For")
|
||||
? HttpContext.Request.Headers["X-Forwarded-For"].ToString()
|
||||
: HttpContext.Connection.RemoteIpAddress?.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
|
||||
|
@ -7,7 +7,6 @@ using SharedLibraryCore.Interfaces;
|
||||
using SharedLibraryCore.QueryHelper;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
@ -1,7 +1,6 @@
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using IW4MAdmin.Plugins.Stats.Helpers;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SharedLibraryCore;
|
||||
using SharedLibraryCore.Configuration;
|
||||
@ -41,12 +40,12 @@ namespace WebfrontCore.Controllers
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
var server = Manager.GetServers().FirstOrDefault(server => server.ToString() == serverId);
|
||||
var server = Manager.GetServers().FirstOrDefault(server => server.Id == serverId) as IGameServer;
|
||||
long? matchedServerId = null;
|
||||
|
||||
if (server != null)
|
||||
{
|
||||
matchedServerId = StatManager.GetIdForServer(server);
|
||||
matchedServerId = server.LegacyDatabaseId;
|
||||
}
|
||||
|
||||
hitInfo.TotalRankedClients = await _serverDataViewer.RankedClientsCountAsync(matchedServerId, token);
|
||||
|
Reference in New Issue
Block a user