Parcourir la source

Add x-jellyfin-version to openapi spec

crobibero il y a 4 ans
Parent
commit
fed37630db
1 fichiers modifiés avec 16 ajouts et 1 suppressions
  1. 16 1
      Jellyfin.Server/Extensions/ApiServiceCollectionExtensions.cs

+ 16 - 1
Jellyfin.Server/Extensions/ApiServiceCollectionExtensions.cs

@@ -4,6 +4,7 @@ using System.IO;
 using System.Linq;
 using System.Net;
 using System.Reflection;
+using Emby.Server.Implementations;
 using Jellyfin.Api.Auth;
 using Jellyfin.Api.Auth.DefaultAuthorizationPolicy;
 using Jellyfin.Api.Auth.DownloadPolicy;
@@ -27,6 +28,8 @@ using Microsoft.AspNetCore.Builder;
 using Microsoft.AspNetCore.Cors.Infrastructure;
 using Microsoft.AspNetCore.HttpOverrides;
 using Microsoft.Extensions.DependencyInjection;
+using Microsoft.OpenApi.Any;
+using Microsoft.OpenApi.Interfaces;
 using Microsoft.OpenApi.Models;
 using Swashbuckle.AspNetCore.SwaggerGen;
 using AuthenticationSchemes = Jellyfin.Api.Constants.AuthenticationSchemes;
@@ -209,7 +212,19 @@ namespace Jellyfin.Server.Extensions
         {
             return serviceCollection.AddSwaggerGen(c =>
             {
-                c.SwaggerDoc("api-docs", new OpenApiInfo { Title = "Jellyfin API", Version = "v1" });
+                c.SwaggerDoc("api-docs", new OpenApiInfo
+                {
+                    Title = "Jellyfin API",
+                    Version = "v1",
+                    Extensions = new Dictionary<string, IOpenApiExtension>
+                    {
+                        {
+                            "x-jellyfin-version",
+                            new OpenApiString(typeof(ApplicationHost).Assembly.GetName().Version?.ToString())
+                        }
+                    }
+                });
+
                 c.AddSecurityDefinition(AuthenticationSchemes.CustomAuthentication, new OpenApiSecurityScheme
                 {
                     Type = SecuritySchemeType.ApiKey,