using System; using System.Collections.Generic; using System.Net; using UnityEngine; namespace Webserver { public class WebConnection : ConsoleConnectionAbstract { private readonly DateTime login; // private readonly List outputLines = new List (); private DateTime lastAction; private readonly string conDescription; public string SessionID { get; } public IPAddress Endpoint { get; } public PlatformUserIdentifierAbs UserId { get; } public TimeSpan Age => DateTime.Now - lastAction; public WebConnection (string _sessionId, IPAddress _endpoint, PlatformUserIdentifierAbs _userId) { SessionID = _sessionId; Endpoint = _endpoint; UserId = _userId; login = DateTime.Now; lastAction = login; conDescription = "WebPanel from " + Endpoint; } public static bool CanViewAllPlayers (int _permissionLevel) { return WebPermissions.Instance.ModuleAllowedWithLevel ("webapi.viewallplayers", _permissionLevel); } public static bool CanViewAllClaims (int _permissionLevel) { return WebPermissions.Instance.ModuleAllowedWithLevel ("webapi.viewallclaims", _permissionLevel); } public void UpdateUsage () { lastAction = DateTime.Now; } public override string GetDescription () { return conDescription; } public override void SendLine (string _text) { // outputLines.Add (_text); } public override void SendLines (List _output) { // outputLines.AddRange (_output); } public override void SendLog (string _formattedMsg, string _plainMsg, string _trace, LogType _type, DateTime _timestamp, long _uptime) { // Do nothing, handled by LogBuffer } } }