|
@@ -93,7 +93,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
public async Task<ActionResult> PostUserImage(
|
|
|
[FromRoute, Required] Guid userId,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] int? index = null)
|
|
|
+ [FromRoute] int? index = null)
|
|
|
{
|
|
|
if (!RequestHelpers.AssertCanUpdateUser(_authContext, HttpContext.Request, userId, true))
|
|
|
{
|
|
@@ -140,7 +140,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
public ActionResult DeleteUserImage(
|
|
|
[FromRoute, Required] Guid userId,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] int? index = null)
|
|
|
+ [FromRoute] int? index = null)
|
|
|
{
|
|
|
if (!RequestHelpers.AssertCanUpdateUser(_authContext, HttpContext.Request, userId, true))
|
|
|
{
|
|
@@ -178,7 +178,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
public async Task<ActionResult> DeleteItemImage(
|
|
|
[FromRoute, Required] Guid itemId,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute] int? imageIndex = null)
|
|
|
{
|
|
|
var item = _libraryManager.GetItemById(itemId);
|
|
|
if (item == null)
|
|
@@ -208,7 +208,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
public async Task<ActionResult> SetItemImage(
|
|
|
[FromRoute, Required] Guid itemId,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute] int? imageIndex = null)
|
|
|
{
|
|
|
var item = _libraryManager.GetItemById(itemId);
|
|
|
if (item == null)
|
|
@@ -355,8 +355,8 @@ namespace Jellyfin.Api.Controllers
|
|
|
public async Task<ActionResult> GetItemImage(
|
|
|
[FromRoute, Required] Guid itemId,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] int? maxWidth,
|
|
|
- [FromRoute, Required] int? maxHeight,
|
|
|
+ [FromQuery] int? maxWidth,
|
|
|
+ [FromQuery] int? maxHeight,
|
|
|
[FromQuery] int? width,
|
|
|
[FromQuery] int? height,
|
|
|
[FromQuery] int? quality,
|
|
@@ -369,7 +369,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
[FromQuery] int? blur,
|
|
|
[FromQuery] string? backgroundColor,
|
|
|
[FromQuery] string? foregroundLayer,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute] int? imageIndex = null)
|
|
|
{
|
|
|
var item = _libraryManager.GetItemById(itemId);
|
|
|
if (item == null)
|
|
@@ -433,8 +433,8 @@ namespace Jellyfin.Api.Controllers
|
|
|
public async Task<ActionResult> GetItemImage2(
|
|
|
[FromRoute, Required] Guid itemId,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] int? maxWidth,
|
|
|
- [FromRoute, Required] int? maxHeight,
|
|
|
+ [FromRoute, Required] int maxWidth,
|
|
|
+ [FromRoute, Required] int maxHeight,
|
|
|
[FromQuery] int? width,
|
|
|
[FromQuery] int? height,
|
|
|
[FromQuery] int? quality,
|
|
@@ -442,12 +442,12 @@ namespace Jellyfin.Api.Controllers
|
|
|
[FromQuery] bool? cropWhitespace,
|
|
|
[FromRoute, Required] string format,
|
|
|
[FromQuery] bool? addPlayedIndicator,
|
|
|
- [FromRoute, Required] double? percentPlayed,
|
|
|
- [FromRoute, Required] int? unplayedCount,
|
|
|
+ [FromRoute, Required] double percentPlayed,
|
|
|
+ [FromRoute, Required] int unplayedCount,
|
|
|
[FromQuery] int? blur,
|
|
|
[FromQuery] string? backgroundColor,
|
|
|
[FromQuery] string? foregroundLayer,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute, Required] int imageIndex)
|
|
|
{
|
|
|
var item = _libraryManager.GetItemById(itemId);
|
|
|
if (item == null)
|
|
@@ -504,19 +504,19 @@ namespace Jellyfin.Api.Controllers
|
|
|
/// A <see cref="FileStreamResult"/> containing the file stream on success,
|
|
|
/// or a <see cref="NotFoundResult"/> if item not found.
|
|
|
/// </returns>
|
|
|
- [HttpGet("Artists/{name}/Images/{imageType}/{imageIndex?}")]
|
|
|
- [HttpHead("Artists/{name}/Images/{imageType}/{imageIndex?}", Name = "HeadArtistImage")]
|
|
|
+ [HttpGet("Artists/{name}/Images/{imageType}/{imageIndex}")]
|
|
|
+ [HttpHead("Artists/{name}/Images/{imageType}/{imageIndex}", Name = "HeadArtistImage")]
|
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
|
|
public async Task<ActionResult> GetArtistImage(
|
|
|
[FromRoute, Required] string name,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] string tag,
|
|
|
- [FromRoute, Required] string format,
|
|
|
- [FromRoute, Required] int? maxWidth,
|
|
|
- [FromRoute, Required] int? maxHeight,
|
|
|
- [FromRoute, Required] double? percentPlayed,
|
|
|
- [FromRoute, Required] int? unplayedCount,
|
|
|
+ [FromQuery] string tag,
|
|
|
+ [FromQuery] string format,
|
|
|
+ [FromQuery] int? maxWidth,
|
|
|
+ [FromQuery] int? maxHeight,
|
|
|
+ [FromQuery] double? percentPlayed,
|
|
|
+ [FromQuery] int? unplayedCount,
|
|
|
[FromQuery] int? width,
|
|
|
[FromQuery] int? height,
|
|
|
[FromQuery] int? quality,
|
|
@@ -525,7 +525,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
[FromQuery] int? blur,
|
|
|
[FromQuery] string? backgroundColor,
|
|
|
[FromQuery] string? foregroundLayer,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute, Required] int imageIndex)
|
|
|
{
|
|
|
var item = _libraryManager.GetArtist(name);
|
|
|
if (item == null)
|
|
@@ -582,19 +582,19 @@ namespace Jellyfin.Api.Controllers
|
|
|
/// A <see cref="FileStreamResult"/> containing the file stream on success,
|
|
|
/// or a <see cref="NotFoundResult"/> if item not found.
|
|
|
/// </returns>
|
|
|
- [HttpGet("Genres/{name}/Images/{imageType}/{imageIndex?}")]
|
|
|
+ [HttpGet("Genres/{name}/Images/{imageType}/{imageIndex}")]
|
|
|
[HttpHead("Genres/{name}/Images/{imageType}/{imageIndex?}", Name = "HeadGenreImage")]
|
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
|
|
public async Task<ActionResult> GetGenreImage(
|
|
|
[FromRoute, Required] string name,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] string tag,
|
|
|
- [FromRoute, Required] string format,
|
|
|
- [FromRoute, Required] int? maxWidth,
|
|
|
- [FromRoute, Required] int? maxHeight,
|
|
|
- [FromRoute, Required] double? percentPlayed,
|
|
|
- [FromRoute, Required] int? unplayedCount,
|
|
|
+ [FromQuery] string tag,
|
|
|
+ [FromQuery] string format,
|
|
|
+ [FromQuery] int? maxWidth,
|
|
|
+ [FromQuery] int? maxHeight,
|
|
|
+ [FromQuery] double? percentPlayed,
|
|
|
+ [FromQuery] int? unplayedCount,
|
|
|
[FromQuery] int? width,
|
|
|
[FromQuery] int? height,
|
|
|
[FromQuery] int? quality,
|
|
@@ -603,7 +603,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
[FromQuery] int? blur,
|
|
|
[FromQuery] string? backgroundColor,
|
|
|
[FromQuery] string? foregroundLayer,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute] int? imageIndex = null)
|
|
|
{
|
|
|
var item = _libraryManager.GetGenre(name);
|
|
|
if (item == null)
|
|
@@ -667,12 +667,12 @@ namespace Jellyfin.Api.Controllers
|
|
|
public async Task<ActionResult> GetMusicGenreImage(
|
|
|
[FromRoute, Required] string name,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] string tag,
|
|
|
- [FromRoute, Required] string format,
|
|
|
- [FromRoute, Required] int? maxWidth,
|
|
|
- [FromRoute, Required] int? maxHeight,
|
|
|
- [FromRoute, Required] double? percentPlayed,
|
|
|
- [FromRoute, Required] int? unplayedCount,
|
|
|
+ [FromQuery] string tag,
|
|
|
+ [FromQuery] string format,
|
|
|
+ [FromQuery] int? maxWidth,
|
|
|
+ [FromQuery] int? maxHeight,
|
|
|
+ [FromQuery] double? percentPlayed,
|
|
|
+ [FromQuery] int? unplayedCount,
|
|
|
[FromQuery] int? width,
|
|
|
[FromQuery] int? height,
|
|
|
[FromQuery] int? quality,
|
|
@@ -681,7 +681,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
[FromQuery] int? blur,
|
|
|
[FromQuery] string? backgroundColor,
|
|
|
[FromQuery] string? foregroundLayer,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute] int? imageIndex = null)
|
|
|
{
|
|
|
var item = _libraryManager.GetMusicGenre(name);
|
|
|
if (item == null)
|
|
@@ -745,12 +745,12 @@ namespace Jellyfin.Api.Controllers
|
|
|
public async Task<ActionResult> GetPersonImage(
|
|
|
[FromRoute, Required] string name,
|
|
|
[FromRoute, Required] ImageType imageType,
|
|
|
- [FromRoute, Required] string tag,
|
|
|
- [FromRoute, Required] string format,
|
|
|
- [FromRoute, Required] int? maxWidth,
|
|
|
- [FromRoute, Required] int? maxHeight,
|
|
|
- [FromRoute, Required] double? percentPlayed,
|
|
|
- [FromRoute, Required] int? unplayedCount,
|
|
|
+ [FromQuery] string tag,
|
|
|
+ [FromQuery] string format,
|
|
|
+ [FromQuery] int? maxWidth,
|
|
|
+ [FromQuery] int? maxHeight,
|
|
|
+ [FromQuery] double? percentPlayed,
|
|
|
+ [FromQuery] int? unplayedCount,
|
|
|
[FromQuery] int? width,
|
|
|
[FromQuery] int? height,
|
|
|
[FromQuery] int? quality,
|
|
@@ -759,7 +759,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
[FromQuery] int? blur,
|
|
|
[FromQuery] string? backgroundColor,
|
|
|
[FromQuery] string? foregroundLayer,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute] int? imageIndex = null)
|
|
|
{
|
|
|
var item = _libraryManager.GetPerson(name);
|
|
|
if (item == null)
|
|
@@ -837,7 +837,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
[FromQuery] int? blur,
|
|
|
[FromQuery] string? backgroundColor,
|
|
|
[FromQuery] string? foregroundLayer,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute] int? imageIndex = null)
|
|
|
{
|
|
|
var item = _libraryManager.GetStudio(name);
|
|
|
if (item == null)
|
|
@@ -915,7 +915,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
[FromQuery] int? blur,
|
|
|
[FromQuery] string? backgroundColor,
|
|
|
[FromQuery] string? foregroundLayer,
|
|
|
- [FromRoute, Required] int? imageIndex = null)
|
|
|
+ [FromRoute] int? imageIndex = null)
|
|
|
{
|
|
|
var user = _userManager.GetUserById(userId);
|
|
|
if (user == null)
|