From b5bbb98175e0542d43c01f80c15e8dce04e58b53 Mon Sep 17 00:00:00 2001 From: Cody Robibero Date: Thu, 29 Jun 2023 05:44:36 -0600 Subject: Fix Websocket OpenApi (#9935) * Further split inbound and outbound messages * Fix datatype for inbound start messages * fixes from review --- .../Inbound/ActivityLogEntryStartMessage.cs | 10 +++++----- .../Inbound/ActivityLogEntryStopMessage.cs | 13 +------------ .../WebSocketMessages/Inbound/InboundKeepAliveMessage.cs | 14 ++++++++++++++ .../Inbound/ScheduledTasksInfoStartMessage.cs | 9 ++++----- .../Inbound/ScheduledTasksInfoStopMessage.cs | 13 +------------ .../Net/WebSocketMessages/Inbound/SessionsStartMessage.cs | 8 ++++---- .../Net/WebSocketMessages/Inbound/SessionsStopMessage.cs | 12 +----------- 7 files changed, 30 insertions(+), 49 deletions(-) create mode 100644 MediaBrowser.Controller/Net/WebSocketMessages/Inbound/InboundKeepAliveMessage.cs (limited to 'MediaBrowser.Controller/Net/WebSocketMessages/Inbound') diff --git a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ActivityLogEntryStartMessage.cs b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ActivityLogEntryStartMessage.cs index b9f71b922..b3a60199a 100644 --- a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ActivityLogEntryStartMessage.cs +++ b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ActivityLogEntryStartMessage.cs @@ -1,20 +1,20 @@ -using System.Collections.Generic; using System.ComponentModel; -using MediaBrowser.Model.Activity; using MediaBrowser.Model.Session; namespace MediaBrowser.Controller.Net.WebSocketMessages.Inbound; /// /// Activity log entry start message. +/// Data is the timing data encoded as "$initialDelay,$interval" in ms. /// -public class ActivityLogEntryStartMessage : WebSocketMessage>, IInboundWebSocketMessage +public class ActivityLogEntryStartMessage : InboundWebSocketMessage { /// /// Initializes a new instance of the class. + /// Data is the timing data encoded as "$initialDelay,$interval" in ms. /// - /// Collection of activity log entries. - public ActivityLogEntryStartMessage(IReadOnlyCollection data) + /// The timing data encoded as "$initialDelay,$interval". + public ActivityLogEntryStartMessage(string data) : base(data) { } diff --git a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ActivityLogEntryStopMessage.cs b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ActivityLogEntryStopMessage.cs index eac129b20..6f65cb2c7 100644 --- a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ActivityLogEntryStopMessage.cs +++ b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ActivityLogEntryStopMessage.cs @@ -1,6 +1,4 @@ -using System.Collections.Generic; using System.ComponentModel; -using MediaBrowser.Model.Activity; using MediaBrowser.Model.Session; namespace MediaBrowser.Controller.Net.WebSocketMessages.Inbound; @@ -8,17 +6,8 @@ namespace MediaBrowser.Controller.Net.WebSocketMessages.Inbound; /// /// Activity log entry stop message. /// -public class ActivityLogEntryStopMessage : WebSocketMessage>, IInboundWebSocketMessage +public class ActivityLogEntryStopMessage : InboundWebSocketMessage { - /// - /// Initializes a new instance of the class. - /// - /// Collection of activity log entries. - public ActivityLogEntryStopMessage(IReadOnlyCollection data) - : base(data) - { - } - /// [DefaultValue(SessionMessageType.ActivityLogEntryStop)] public override SessionMessageType MessageType => SessionMessageType.ActivityLogEntryStop; diff --git a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/InboundKeepAliveMessage.cs b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/InboundKeepAliveMessage.cs new file mode 100644 index 000000000..fec7cb4e4 --- /dev/null +++ b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/InboundKeepAliveMessage.cs @@ -0,0 +1,14 @@ +using System.ComponentModel; +using MediaBrowser.Model.Session; + +namespace MediaBrowser.Controller.Net.WebSocketMessages.Inbound; + +/// +/// Keep alive websocket messages. +/// +public class InboundKeepAliveMessage : InboundWebSocketMessage +{ + /// + [DefaultValue(SessionMessageType.KeepAlive)] + public override SessionMessageType MessageType => SessionMessageType.KeepAlive; +} diff --git a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ScheduledTasksInfoStartMessage.cs b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ScheduledTasksInfoStartMessage.cs index dd2a7145e..bf98470bf 100644 --- a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ScheduledTasksInfoStartMessage.cs +++ b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ScheduledTasksInfoStartMessage.cs @@ -1,20 +1,19 @@ -using System.Collections.Generic; using System.ComponentModel; using MediaBrowser.Model.Session; -using MediaBrowser.Model.Tasks; namespace MediaBrowser.Controller.Net.WebSocketMessages.Inbound; /// /// Scheduled tasks info start message. +/// Data is the timing data encoded as "$initialDelay,$interval" in ms. /// -public class ScheduledTasksInfoStartMessage : WebSocketMessage>, IInboundWebSocketMessage +public class ScheduledTasksInfoStartMessage : InboundWebSocketMessage { /// /// Initializes a new instance of the class. /// - /// Collection of task info. - public ScheduledTasksInfoStartMessage(IReadOnlyCollection data) + /// The timing data encoded as $initialDelay,$interval. + public ScheduledTasksInfoStartMessage(string data) : base(data) { } diff --git a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ScheduledTasksInfoStopMessage.cs b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ScheduledTasksInfoStopMessage.cs index 84e1f0166..f36739c70 100644 --- a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ScheduledTasksInfoStopMessage.cs +++ b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/ScheduledTasksInfoStopMessage.cs @@ -1,24 +1,13 @@ -using System.Collections.Generic; using System.ComponentModel; using MediaBrowser.Model.Session; -using MediaBrowser.Model.Tasks; namespace MediaBrowser.Controller.Net.WebSocketMessages.Inbound; /// /// Scheduled tasks info stop message. /// -public class ScheduledTasksInfoStopMessage : WebSocketMessage>, IInboundWebSocketMessage +public class ScheduledTasksInfoStopMessage : InboundWebSocketMessage { - /// - /// Initializes a new instance of the class. - /// - /// Collection of task info. - public ScheduledTasksInfoStopMessage(IReadOnlyCollection data) - : base(data) - { - } - /// [DefaultValue(SessionMessageType.ScheduledTasksInfoStop)] public override SessionMessageType MessageType => SessionMessageType.ScheduledTasksInfoStop; diff --git a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/SessionsStartMessage.cs b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/SessionsStartMessage.cs index e35a5dc3a..a40a0c79e 100644 --- a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/SessionsStartMessage.cs +++ b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/SessionsStartMessage.cs @@ -1,19 +1,19 @@ using System.ComponentModel; -using MediaBrowser.Controller.Session; using MediaBrowser.Model.Session; namespace MediaBrowser.Controller.Net.WebSocketMessages.Inbound; /// /// Sessions start message. +/// Data is the timing data encoded as "$initialDelay,$interval" in ms. /// -public class SessionsStartMessage : WebSocketMessage, IInboundWebSocketMessage +public class SessionsStartMessage : InboundWebSocketMessage { /// /// Initializes a new instance of the class. /// - /// Session info. - public SessionsStartMessage(SessionInfo data) + /// The timing data encoded as $initialDelay,$interval. + public SessionsStartMessage(string data) : base(data) { } diff --git a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/SessionsStopMessage.cs b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/SessionsStopMessage.cs index 7e3582d64..288d111c5 100644 --- a/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/SessionsStopMessage.cs +++ b/MediaBrowser.Controller/Net/WebSocketMessages/Inbound/SessionsStopMessage.cs @@ -1,5 +1,4 @@ using System.ComponentModel; -using MediaBrowser.Controller.Session; using MediaBrowser.Model.Session; namespace MediaBrowser.Controller.Net.WebSocketMessages.Inbound; @@ -7,17 +6,8 @@ namespace MediaBrowser.Controller.Net.WebSocketMessages.Inbound; /// /// Sessions stop message. /// -public class SessionsStopMessage : WebSocketMessage, IInboundWebSocketMessage +public class SessionsStopMessage : InboundWebSocketMessage { - /// - /// Initializes a new instance of the class. - /// - /// Session info. - public SessionsStopMessage(SessionInfo data) - : base(data) - { - } - /// [DefaultValue(SessionMessageType.SessionsStop)] public override SessionMessageType MessageType => SessionMessageType.SessionsStop; -- cgit v1.2.3