aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server/Filters/AdditionalModelFilter.cs
diff options
context:
space:
mode:
authorClaus Vium <cvium@users.noreply.github.com>2021-04-07 14:36:49 +0200
committerJoshua M. Boniface <joshua@boniface.me>2021-04-11 14:13:44 -0400
commit95a4fc0f18d93a370347ae5aca05a177a173c32f (patch)
tree264617d749b8da4f5d2b3d55e3199cd699be1856 /Jellyfin.Server/Filters/AdditionalModelFilter.cs
parent62bf3db88573804332aa8df9b1a0ff08015fc48e (diff)
Merge pull request #5688 from crobibero/api-docs-sever-discovery
Add SessionDiscoveryInfo to generated api-docs (cherry picked from commit f718735b4ef639041ae5f0854341a4e0e471917e) Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
Diffstat (limited to 'Jellyfin.Server/Filters/AdditionalModelFilter.cs')
-rw-r--r--Jellyfin.Server/Filters/AdditionalModelFilter.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/Jellyfin.Server/Filters/AdditionalModelFilter.cs b/Jellyfin.Server/Filters/AdditionalModelFilter.cs
new file mode 100644
index 000000000..87a59e0b4
--- /dev/null
+++ b/Jellyfin.Server/Filters/AdditionalModelFilter.cs
@@ -0,0 +1,34 @@
+using MediaBrowser.Common.Plugins;
+using MediaBrowser.Controller.LiveTv;
+using MediaBrowser.Model.ApiClient;
+using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Session;
+using MediaBrowser.Model.SyncPlay;
+using Microsoft.OpenApi.Models;
+using Swashbuckle.AspNetCore.SwaggerGen;
+
+namespace Jellyfin.Server.Filters
+{
+ /// <summary>
+ /// Add models not directly used by the API, but used for discovery and websockets.
+ /// </summary>
+ public class AdditionalModelFilter : IDocumentFilter
+ {
+ /// <inheritdoc />
+ public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
+ {
+ context.SchemaGenerator.GenerateSchema(typeof(LibraryUpdateInfo), context.SchemaRepository);
+ context.SchemaGenerator.GenerateSchema(typeof(IPlugin), context.SchemaRepository);
+ context.SchemaGenerator.GenerateSchema(typeof(PlayRequest), context.SchemaRepository);
+ context.SchemaGenerator.GenerateSchema(typeof(PlaystateRequest), context.SchemaRepository);
+ context.SchemaGenerator.GenerateSchema(typeof(TimerEventInfo), context.SchemaRepository);
+ context.SchemaGenerator.GenerateSchema(typeof(SendCommand), context.SchemaRepository);
+ context.SchemaGenerator.GenerateSchema(typeof(GeneralCommandType), context.SchemaRepository);
+
+ context.SchemaGenerator.GenerateSchema(typeof(GroupUpdate<object>), context.SchemaRepository);
+
+ context.SchemaGenerator.GenerateSchema(typeof(SessionMessageType), context.SchemaRepository);
+ context.SchemaGenerator.GenerateSchema(typeof(ServerDiscoveryInfo), context.SchemaRepository);
+ }
+ }
+}