mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 03:03:40 +01:00
Add all websocket messages to generated openapi spec (#9682)
* Add all websocket messages to generated openapi spec * Use oneOf * JsonIgnore ServerId * Oops * Add discriminators * Add WebSocketMessage container for Inbound and Outbound messages
This commit is contained in:
@@ -1,42 +1,30 @@
|
||||
using System;
|
||||
|
||||
namespace MediaBrowser.Model.SyncPlay
|
||||
namespace MediaBrowser.Model.SyncPlay;
|
||||
|
||||
/// <summary>
|
||||
/// Group update without data.
|
||||
/// </summary>
|
||||
public abstract class GroupUpdate
|
||||
{
|
||||
/// <summary>
|
||||
/// Class GroupUpdate.
|
||||
/// Initializes a new instance of the <see cref="GroupUpdate"/> class.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the data of the message.</typeparam>
|
||||
public class GroupUpdate<T>
|
||||
/// <param name="groupId">The group identifier.</param>
|
||||
protected GroupUpdate(Guid groupId)
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="GroupUpdate{T}"/> class.
|
||||
/// </summary>
|
||||
/// <param name="groupId">The group identifier.</param>
|
||||
/// <param name="type">The update type.</param>
|
||||
/// <param name="data">The update data.</param>
|
||||
public GroupUpdate(Guid groupId, GroupUpdateType type, T data)
|
||||
{
|
||||
GroupId = groupId;
|
||||
Type = type;
|
||||
Data = data;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the group identifier.
|
||||
/// </summary>
|
||||
/// <value>The group identifier.</value>
|
||||
public Guid GroupId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the update type.
|
||||
/// </summary>
|
||||
/// <value>The update type.</value>
|
||||
public GroupUpdateType Type { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the update data.
|
||||
/// </summary>
|
||||
/// <value>The update data.</value>
|
||||
public T Data { get; }
|
||||
GroupId = groupId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the group identifier.
|
||||
/// </summary>
|
||||
/// <value>The group identifier.</value>
|
||||
public Guid GroupId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the update type.
|
||||
/// </summary>
|
||||
/// <value>The update type.</value>
|
||||
public GroupUpdateType Type { get; init; }
|
||||
}
|
||||
|
||||
31
MediaBrowser.Model/SyncPlay/GroupUpdateOfT.cs
Normal file
31
MediaBrowser.Model/SyncPlay/GroupUpdateOfT.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
#pragma warning disable SA1649
|
||||
|
||||
using System;
|
||||
|
||||
namespace MediaBrowser.Model.SyncPlay;
|
||||
|
||||
/// <summary>
|
||||
/// Class GroupUpdate.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the data of the message.</typeparam>
|
||||
public class GroupUpdate<T> : GroupUpdate
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="GroupUpdate{T}"/> class.
|
||||
/// </summary>
|
||||
/// <param name="groupId">The group identifier.</param>
|
||||
/// <param name="type">The update type.</param>
|
||||
/// <param name="data">The update data.</param>
|
||||
public GroupUpdate(Guid groupId, GroupUpdateType type, T data)
|
||||
: base(groupId)
|
||||
{
|
||||
Data = data;
|
||||
Type = type;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the update data.
|
||||
/// </summary>
|
||||
/// <value>The update data.</value>
|
||||
public T Data { get; }
|
||||
}
|
||||
@@ -19,7 +19,7 @@ namespace MediaBrowser.Model.SyncPlay
|
||||
/// <param name="isPlaying">The playing item status.</param>
|
||||
/// <param name="shuffleMode">The shuffle mode.</param>
|
||||
/// <param name="repeatMode">The repeat mode.</param>
|
||||
public PlayQueueUpdate(PlayQueueUpdateReason reason, DateTime lastUpdate, IReadOnlyList<QueueItem> playlist, int playingItemIndex, long startPositionTicks, bool isPlaying, GroupShuffleMode shuffleMode, GroupRepeatMode repeatMode)
|
||||
public PlayQueueUpdate(PlayQueueUpdateReason reason, DateTime lastUpdate, IReadOnlyList<SyncPlayQueueItem> playlist, int playingItemIndex, long startPositionTicks, bool isPlaying, GroupShuffleMode shuffleMode, GroupRepeatMode repeatMode)
|
||||
{
|
||||
Reason = reason;
|
||||
LastUpdate = lastUpdate;
|
||||
@@ -47,7 +47,7 @@ namespace MediaBrowser.Model.SyncPlay
|
||||
/// Gets the playlist.
|
||||
/// </summary>
|
||||
/// <value>The playlist.</value>
|
||||
public IReadOnlyList<QueueItem> Playlist { get; }
|
||||
public IReadOnlyList<SyncPlayQueueItem> Playlist { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the playing item index in the playlist.
|
||||
|
||||
@@ -5,13 +5,13 @@ namespace MediaBrowser.Model.SyncPlay
|
||||
/// <summary>
|
||||
/// Class QueueItem.
|
||||
/// </summary>
|
||||
public class QueueItem
|
||||
public class SyncPlayQueueItem
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="QueueItem"/> class.
|
||||
/// Initializes a new instance of the <see cref="SyncPlayQueueItem"/> class.
|
||||
/// </summary>
|
||||
/// <param name="itemId">The item identifier.</param>
|
||||
public QueueItem(Guid itemId)
|
||||
public SyncPlayQueueItem(Guid itemId)
|
||||
{
|
||||
ItemId = itemId;
|
||||
}
|
||||
Reference in New Issue
Block a user