@ -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"
} )
} ) ;
}
}
}
}
}