the meats

This commit is contained in:
RaidMax
2018-03-06 01:22:19 -06:00
parent 6fa466fdf8
commit 1adf3ceb3c
56 changed files with 1107 additions and 719 deletions

View File

@ -0,0 +1,25 @@
using IW4MAdmin;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using SharedLibrary;
using SharedLibrary.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace WebfrontCore.Controllers
{
public class BaseController : Controller
{
protected ApplicationManager Manager;
protected bool Authorized { get; private set; }
public override void OnActionExecuting(ActionExecutingContext context)
{
Manager = IW4MAdmin.Program.ServerManager;
Authorized = Manager.AdministratorIPs.Contains(context.HttpContext.Connection.RemoteIpAddress.ToString().ConvertToIP());
base.OnActionExecuting(context);
}
}
}

View File

@ -9,11 +9,11 @@ using System.Threading.Tasks;
namespace WebfrontCore.Controllers
{
public class ClientController : Controller
public class ClientController : BaseController
{
public async Task<IActionResult> ProfileAsync(int id)
{
var client = await IW4MAdmin.ApplicationManager.GetInstance().GetClientService().Get(id);
var client = await Manager.GetClientService().Get(id);
var clientDto = new PlayerInfo()
{
Name = client.Name,
@ -38,11 +38,15 @@ namespace WebfrontCore.Controllers
.OrderBy(i => i)
.ToList(),
};
clientDto.Meta.AddRange(await MetaService.GetMeta(client.ClientId));
clientDto.Meta.AddRange(await IW4MAdmin.ApplicationManager.GetInstance().GetPenaltyService().ReadGetClientPenaltiesAsync(client.ClientId));
clientDto.Meta.AddRange(await IW4MAdmin.ApplicationManager.GetInstance().GetPenaltyService().ReadGetClientPenaltiesAsync(client.ClientId, false));
clientDto.Meta = clientDto.Meta.OrderByDescending(m => m.When).ToList();
var meta = await MetaService.GetMeta(client.ClientId);
clientDto.Meta.AddRange(Authorized ? meta : meta.Where(m => !m.Sensitive));
clientDto.Meta.AddRange(await Manager.GetPenaltyService()
.ReadGetClientPenaltiesAsync(client.ClientId));
clientDto.Meta.AddRange(await Manager.GetPenaltyService()
.ReadGetClientPenaltiesAsync(client.ClientId, false));
clientDto.Meta = clientDto.Meta
.OrderByDescending(m => m.When)
.ToList();
ViewBag.Title = clientDto.Name;
@ -51,7 +55,7 @@ namespace WebfrontCore.Controllers
public async Task<IActionResult> PrivilegedAsync()
{
var admins = (await IW4MAdmin.ApplicationManager.GetInstance().GetClientService().GetPrivilegedClients())
var admins = (await Manager.GetClientService().GetPrivilegedClients())
.Where(a => a.Active)
.OrderByDescending(a => a.Level);
var adminsDict = new Dictionary<SharedLibrary.Objects.Player.Permission, IList<ClientInfo>>();
@ -74,7 +78,7 @@ namespace WebfrontCore.Controllers
public async Task<IActionResult> FindAsync(string clientName)
{
var clients = (await IW4MAdmin.ApplicationManager.GetInstance().GetClientService().GetClientByName(clientName))
var clients = (await Manager.GetClientService().GetClientByName(clientName))
.OrderByDescending(c => c.LastConnection);
var clientsDto = clients.Select(c => new PlayerInfo()
{

View File

@ -9,11 +9,11 @@ using System.Threading.Tasks;
namespace WebfrontCore.Controllers
{
public class ConsoleController : Controller
public class ConsoleController : BaseController
{
public IActionResult Index()
{
var activeServers = IW4MAdmin.ApplicationManager.GetInstance().Servers.Select(s => new ServerInfo()
var activeServers = Manager.Servers.Select(s => new ServerInfo()
{
Name = s.Hostname,
ID = s.GetHashCode(),
@ -38,10 +38,10 @@ namespace WebfrontCore.Controllers
IPAddress = intIP
};
#else
var origin = (await IW4MAdmin.ApplicationManager.GetInstance().GetClientService().GetUnique(0)).AsPlayer();
var origin = (await Manager.GetClientService().GetUnique(0)).AsPlayer();
#endif
var server = IW4MAdmin.ApplicationManager.GetInstance().Servers.First(s => s.GetHashCode() == serverId);
var server = Manager.Servers.First(s => s.GetHashCode() == serverId);
origin.CurrentServer = server;
var remoteEvent = new Event(Event.GType.Say, command, origin, null, server);

View File

@ -8,7 +8,7 @@ using SharedLibrary.Dtos;
namespace WebfrontCore.Controllers
{
public class HomeController : Controller
public class HomeController : BaseController
{
public IActionResult Index()
{

View File

@ -9,9 +9,9 @@ using WebfrontCore.ViewComponents;
namespace WebfrontCore.Controllers
{
public class PenaltyController : Controller
public class PenaltyController : BaseController
{
public IActionResult List()
public IActionResult List()
{
ViewBag.Title = "Penalty List";
return View();

View File

@ -7,15 +7,14 @@ using System.Threading.Tasks;
namespace WebfrontCore.Controllers
{
public class ServerController : Controller
public class ServerController : BaseController
{
[HttpGet]
[ResponseCache(NoStore = true, Duration = 0)]
public IActionResult ClientActivity(int id)
{
var s = IW4MAdmin.Program.ServerManager.GetServers().FirstOrDefault(s2 => s2.GetHashCode() == id);
var s = Manager.GetServers().FirstOrDefault(s2 => s2.GetHashCode() == id);
if (s == null)
return View("Error", "Invalid server!");