|
@@ -1,13 +1,17 @@
|
|
|
|
+using System.Collections.Generic;
|
|
|
|
+using System.Linq;
|
|
using Jellyfin.Api;
|
|
using Jellyfin.Api;
|
|
using Jellyfin.Api.Auth;
|
|
using Jellyfin.Api.Auth;
|
|
using Jellyfin.Api.Auth.FirstTimeSetupOrElevatedPolicy;
|
|
using Jellyfin.Api.Auth.FirstTimeSetupOrElevatedPolicy;
|
|
using Jellyfin.Api.Auth.RequiresElevationPolicy;
|
|
using Jellyfin.Api.Auth.RequiresElevationPolicy;
|
|
using Jellyfin.Api.Constants;
|
|
using Jellyfin.Api.Constants;
|
|
using Jellyfin.Api.Controllers;
|
|
using Jellyfin.Api.Controllers;
|
|
|
|
+using MediaBrowser.Model.Entities;
|
|
using Microsoft.AspNetCore.Authentication;
|
|
using Microsoft.AspNetCore.Authentication;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.OpenApi.Models;
|
|
using Microsoft.OpenApi.Models;
|
|
|
|
+using Swashbuckle.AspNetCore.SwaggerGen;
|
|
|
|
|
|
namespace Jellyfin.Server.Extensions
|
|
namespace Jellyfin.Server.Extensions
|
|
{
|
|
{
|
|
@@ -89,7 +93,25 @@ namespace Jellyfin.Server.Extensions
|
|
return serviceCollection.AddSwaggerGen(c =>
|
|
return serviceCollection.AddSwaggerGen(c =>
|
|
{
|
|
{
|
|
c.SwaggerDoc("v1", new OpenApiInfo { Title = "Jellyfin API", Version = "v1" });
|
|
c.SwaggerDoc("v1", new OpenApiInfo { Title = "Jellyfin API", Version = "v1" });
|
|
|
|
+ c.MapSwaggerGenTypes();
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private static void MapSwaggerGenTypes(this SwaggerGenOptions options)
|
|
|
|
+ {
|
|
|
|
+ // BaseItemDto.ImageTags
|
|
|
|
+ options.MapType<Dictionary<ImageType, string>>(() =>
|
|
|
|
+ new OpenApiSchema
|
|
|
|
+ {
|
|
|
|
+ Type = "object",
|
|
|
|
+ Properties = typeof(ImageType).GetEnumNames().ToDictionary(
|
|
|
|
+ name => name,
|
|
|
|
+ name => new OpenApiSchema
|
|
|
|
+ {
|
|
|
|
+ Type = "string",
|
|
|
|
+ Format = "string"
|
|
|
|
+ })
|
|
|
|
+ });
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|