From 6a172bf508a64b76afd655db208e931d34ecd604 Mon Sep 17 00:00:00 2001 From: hhvrc Date: Mon, 3 Feb 2025 16:16:35 +0100 Subject: [PATCH] Remove redundant interfaces and classes --- API/Utils/IWebsocketController.cs | 10 ------ Common/Models/WebSocket/IBaseResponse.cs | 7 ---- ...BaseResponse.cs => LiveControlResponse.cs} | 2 +- .../Controllers/LiveControlController.cs | 34 +++++++++---------- .../Websocket/WebsocketManager.cs | 2 +- 5 files changed, 19 insertions(+), 36 deletions(-) delete mode 100644 API/Utils/IWebsocketController.cs delete mode 100644 Common/Models/WebSocket/IBaseResponse.cs rename Common/Models/WebSocket/{BaseResponse.cs => LiveControlResponse.cs} (74%) diff --git a/API/Utils/IWebsocketController.cs b/API/Utils/IWebsocketController.cs deleted file mode 100644 index c626e191..00000000 --- a/API/Utils/IWebsocketController.cs +++ /dev/null @@ -1,10 +0,0 @@ -using OpenShock.Common.Models.WebSocket; - -namespace OpenShock.API.Utils; - -public interface IWebsocketController where T : Enum -{ - public Guid Id { get; } - public ValueTask QueueMessage(IBaseResponse data); - -} \ No newline at end of file diff --git a/Common/Models/WebSocket/IBaseResponse.cs b/Common/Models/WebSocket/IBaseResponse.cs deleted file mode 100644 index 73fb1710..00000000 --- a/Common/Models/WebSocket/IBaseResponse.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace OpenShock.Common.Models.WebSocket; - -public interface IBaseResponse where T : Enum -{ - public T ResponseType { get; set; } - public object? Data { get; set; } -} \ No newline at end of file diff --git a/Common/Models/WebSocket/BaseResponse.cs b/Common/Models/WebSocket/LiveControlResponse.cs similarity index 74% rename from Common/Models/WebSocket/BaseResponse.cs rename to Common/Models/WebSocket/LiveControlResponse.cs index 7bbf3702..89a7fdc6 100644 --- a/Common/Models/WebSocket/BaseResponse.cs +++ b/Common/Models/WebSocket/LiveControlResponse.cs @@ -2,7 +2,7 @@ namespace OpenShock.Common.Models.WebSocket; -public sealed class BaseResponse : IBaseResponse where T : Enum +public sealed class LiveControlResponse where T : Enum { public required T ResponseType { get; set; } public object? Data { get; set; } diff --git a/LiveControlGateway/Controllers/LiveControlController.cs b/LiveControlGateway/Controllers/LiveControlController.cs index c0a9882c..8d1bdaee 100644 --- a/LiveControlGateway/Controllers/LiveControlController.cs +++ b/LiveControlGateway/Controllers/LiveControlController.cs @@ -34,7 +34,7 @@ namespace OpenShock.LiveControlGateway.Controllers; [Route("/{version:apiVersion}/ws/live/{hubId:guid}")] [TokenPermission(PermissionType.Shockers_Use)] [Authorize(AuthenticationSchemes = OpenShockAuthSchemas.UserSessionApiTokenCombo)] -public sealed class LiveControlController : WebsocketBaseController>, IActionFilter +public sealed class LiveControlController : WebsocketBaseController>, IActionFilter { private readonly OpenShockContext _db; private readonly HubLifetimeManager _hubLifetimeManager; @@ -206,7 +206,7 @@ public void OnActionExecuted(ActionExecutedContext context) /// protected override async Task SendInitialData() { - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.TPS, Data = new TpsData @@ -234,7 +234,7 @@ public async Task UpdateConnectedState(bool isConnected, bool force = false) _lastIsConnected = isConnected; try { - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = _lastIsConnected ? LiveResponseType.DeviceConnected @@ -317,7 +317,7 @@ private Task ProcessResult(BaseRequest request) LiveRequestType.Pong => IntakePong(request.Data), LiveRequestType.Frame => IntakeFrame(request.Data), LiveRequestType.BulkFrame => IntakeBulkFrame(request.Data), - _ => QueueMessage(new Common.Models.WebSocket.BaseResponse() + _ => QueueMessage(new LiveControlResponse() { ResponseType = LiveResponseType.RequestTypeNotFound }).AsTask() @@ -344,7 +344,7 @@ private async Task IntakePong(JsonDocument? requestData) if (Logger.IsEnabled(LogLevel.Trace)) Logger.LogTrace("Latency: {Latency}ms", _latencyMs); - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.LatencyAnnounce, Data = new LatencyAnnounceData @@ -370,7 +370,7 @@ private async Task IntakeBulkFrame(JsonDocument? requestData) if (frames is not { Length: > 0 }) { Logger.LogWarning("Error while deserializing bulk frame"); - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.InvalidData }); @@ -380,7 +380,7 @@ await QueueMessage(new Common.Models.WebSocket.BaseResponse catch (Exception e) { Logger.LogWarning(e, "Error while deserializing frame"); - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.InvalidData }); @@ -414,7 +414,7 @@ private async Task IntakeFrame(JsonDocument? requestData) if (frame == null) { Logger.LogWarning("Error while deserializing frame"); - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.InvalidData }); @@ -424,7 +424,7 @@ await QueueMessage(new Common.Models.WebSocket.BaseResponse catch (Exception e) { Logger.LogWarning(e, "Error while deserializing frame"); - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.InvalidData }); @@ -441,7 +441,7 @@ private async Task ProcessFrameInternal(ClientLiveFrame frame) var permCheck = CheckFramePermissions(frame.Shocker, frame.Type); if (permCheck.IsT1) { - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.ShockerNotFound }); @@ -450,7 +450,7 @@ await QueueMessage(new Common.Models.WebSocket.BaseResponse if (permCheck.IsT2) { - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.ShockerMissingLivePermission }); @@ -459,7 +459,7 @@ await QueueMessage(new Common.Models.WebSocket.BaseResponse if (permCheck.IsT3) { - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.ShockerMissingPermission }); @@ -468,7 +468,7 @@ await QueueMessage(new Common.Models.WebSocket.BaseResponse if (permCheck.IsT4) { - await QueueMessage(new Common.Models.WebSocket.BaseResponse() + await QueueMessage(new LiveControlResponse() { ResponseType = LiveResponseType.ShockerPaused }); @@ -489,7 +489,7 @@ await QueueMessage(new Common.Models.WebSocket.BaseResponse() if (result.IsT1) { - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.DeviceNotConnected }); @@ -498,7 +498,7 @@ await QueueMessage(new Common.Models.WebSocket.BaseResponse if (result.IsT2) { - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.ShockerNotFound }); @@ -507,7 +507,7 @@ await QueueMessage(new Common.Models.WebSocket.BaseResponse if (result.IsT3) { - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.ShockerExclusive, Data = result.AsT3.Until @@ -554,7 +554,7 @@ private async Task SendPing() Id); _pingTimestamp = Stopwatch.GetTimestamp(); - await QueueMessage(new Common.Models.WebSocket.BaseResponse + await QueueMessage(new LiveControlResponse { ResponseType = LiveResponseType.Ping, Data = new LcgLiveControlPing diff --git a/LiveControlGateway/Websocket/WebsocketManager.cs b/LiveControlGateway/Websocket/WebsocketManager.cs index 565dfbee..f2063b3d 100644 --- a/LiveControlGateway/Websocket/WebsocketManager.cs +++ b/LiveControlGateway/Websocket/WebsocketManager.cs @@ -14,5 +14,5 @@ public static class WebsocketManager /// /// Live control users /// - public static readonly SimpleWebsocketCollection> LiveControlUsers = new(); + public static readonly SimpleWebsocketCollection> LiveControlUsers = new(); } \ No newline at end of file