mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-09 07:10:34 +02:00
Add ability to sort on Genre, MusicGenre, Artist
This commit is contained in:
parent
adfc03ac9d
commit
d27ca993a5
|
@ -5469,7 +5469,9 @@ AND Type = @InternalPersonType)");
|
||||||
|
|
||||||
commandText += whereText + " group by PresentationUniqueKey";
|
commandText += whereText + " group by PresentationUniqueKey";
|
||||||
|
|
||||||
if (query.SimilarTo != null || !string.IsNullOrEmpty(query.SearchTerm))
|
if (query.OrderBy.Count != 0
|
||||||
|
|| query.SimilarTo != null
|
||||||
|
|| !string.IsNullOrEmpty(query.SearchTerm))
|
||||||
{
|
{
|
||||||
commandText += GetOrderByText(query);
|
commandText += GetOrderByText(query);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,6 +77,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
/// <param name="nameStartsWithOrGreater">Optional filter by items whose name is sorted equally or greater than a given input string.</param>
|
/// <param name="nameStartsWithOrGreater">Optional filter by items whose name is sorted equally or greater than a given input string.</param>
|
||||||
/// <param name="nameStartsWith">Optional filter by items whose name is sorted equally than a given input string.</param>
|
/// <param name="nameStartsWith">Optional filter by items whose name is sorted equally than a given input string.</param>
|
||||||
/// <param name="nameLessThan">Optional filter by items whose name is equally or lesser than a given input string.</param>
|
/// <param name="nameLessThan">Optional filter by items whose name is equally or lesser than a given input string.</param>
|
||||||
|
/// <param name="sortBy">Optional. Specify one or more sort orders, comma delimited.</param>
|
||||||
|
/// <param name="sortOrder">Sort Order - Ascending,Descending.</param>
|
||||||
/// <param name="enableImages">Optional, include image information in output.</param>
|
/// <param name="enableImages">Optional, include image information in output.</param>
|
||||||
/// <param name="enableTotalRecordCount">Total record count.</param>
|
/// <param name="enableTotalRecordCount">Total record count.</param>
|
||||||
/// <response code="200">Artists returned.</response>
|
/// <response code="200">Artists returned.</response>
|
||||||
|
@ -112,6 +114,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? nameStartsWithOrGreater,
|
[FromQuery] string? nameStartsWithOrGreater,
|
||||||
[FromQuery] string? nameStartsWith,
|
[FromQuery] string? nameStartsWith,
|
||||||
[FromQuery] string? nameLessThan,
|
[FromQuery] string? nameLessThan,
|
||||||
|
[FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] string[] sortBy,
|
||||||
|
[FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] SortOrder[] sortOrder,
|
||||||
[FromQuery] bool? enableImages = true,
|
[FromQuery] bool? enableImages = true,
|
||||||
[FromQuery] bool enableTotalRecordCount = true)
|
[FromQuery] bool enableTotalRecordCount = true)
|
||||||
{
|
{
|
||||||
|
@ -150,7 +154,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
MinCommunityRating = minCommunityRating,
|
MinCommunityRating = minCommunityRating,
|
||||||
DtoOptions = dtoOptions,
|
DtoOptions = dtoOptions,
|
||||||
SearchTerm = searchTerm,
|
SearchTerm = searchTerm,
|
||||||
EnableTotalRecordCount = enableTotalRecordCount
|
EnableTotalRecordCount = enableTotalRecordCount,
|
||||||
|
OrderBy = RequestHelpers.GetOrderBy(sortBy, sortOrder)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (parentId.HasValue)
|
if (parentId.HasValue)
|
||||||
|
|
|
@ -63,12 +63,15 @@ namespace Jellyfin.Api.Controllers
|
||||||
/// <param name="nameStartsWithOrGreater">Optional filter by items whose name is sorted equally or greater than a given input string.</param>
|
/// <param name="nameStartsWithOrGreater">Optional filter by items whose name is sorted equally or greater than a given input string.</param>
|
||||||
/// <param name="nameStartsWith">Optional filter by items whose name is sorted equally than a given input string.</param>
|
/// <param name="nameStartsWith">Optional filter by items whose name is sorted equally than a given input string.</param>
|
||||||
/// <param name="nameLessThan">Optional filter by items whose name is equally or lesser than a given input string.</param>
|
/// <param name="nameLessThan">Optional filter by items whose name is equally or lesser than a given input string.</param>
|
||||||
|
/// <param name="sortBy">Optional. Specify one or more sort orders, comma delimited.</param>
|
||||||
|
/// <param name="sortOrder">Sort Order - Ascending,Descending.</param>
|
||||||
/// <param name="enableImages">Optional, include image information in output.</param>
|
/// <param name="enableImages">Optional, include image information in output.</param>
|
||||||
/// <param name="enableTotalRecordCount">Optional. Include total record count.</param>
|
/// <param name="enableTotalRecordCount">Optional. Include total record count.</param>
|
||||||
/// <response code="200">Genres returned.</response>
|
/// <response code="200">Genres returned.</response>
|
||||||
/// <returns>An <see cref="OkResult"/> containing the queryresult of genres.</returns>
|
/// <returns>An <see cref="OkResult"/> containing the queryresult of genres.</returns>
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[AllowAnonymous]
|
||||||
public ActionResult<QueryResult<BaseItemDto>> GetGenres(
|
public ActionResult<QueryResult<BaseItemDto>> GetGenres(
|
||||||
[FromQuery] int? startIndex,
|
[FromQuery] int? startIndex,
|
||||||
[FromQuery] int? limit,
|
[FromQuery] int? limit,
|
||||||
|
@ -84,6 +87,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? nameStartsWithOrGreater,
|
[FromQuery] string? nameStartsWithOrGreater,
|
||||||
[FromQuery] string? nameStartsWith,
|
[FromQuery] string? nameStartsWith,
|
||||||
[FromQuery] string? nameLessThan,
|
[FromQuery] string? nameLessThan,
|
||||||
|
[FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] string[] sortBy,
|
||||||
|
[FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] SortOrder[] sortOrder,
|
||||||
[FromQuery] bool? enableImages = true,
|
[FromQuery] bool? enableImages = true,
|
||||||
[FromQuery] bool enableTotalRecordCount = true)
|
[FromQuery] bool enableTotalRecordCount = true)
|
||||||
{
|
{
|
||||||
|
@ -107,7 +112,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
NameStartsWithOrGreater = nameStartsWithOrGreater,
|
NameStartsWithOrGreater = nameStartsWithOrGreater,
|
||||||
DtoOptions = dtoOptions,
|
DtoOptions = dtoOptions,
|
||||||
SearchTerm = searchTerm,
|
SearchTerm = searchTerm,
|
||||||
EnableTotalRecordCount = enableTotalRecordCount
|
EnableTotalRecordCount = enableTotalRecordCount,
|
||||||
|
OrderBy = RequestHelpers.GetOrderBy(sortBy, sortOrder)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (parentId.HasValue)
|
if (parentId.HasValue)
|
||||||
|
|
|
@ -63,6 +63,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
/// <param name="nameStartsWithOrGreater">Optional filter by items whose name is sorted equally or greater than a given input string.</param>
|
/// <param name="nameStartsWithOrGreater">Optional filter by items whose name is sorted equally or greater than a given input string.</param>
|
||||||
/// <param name="nameStartsWith">Optional filter by items whose name is sorted equally than a given input string.</param>
|
/// <param name="nameStartsWith">Optional filter by items whose name is sorted equally than a given input string.</param>
|
||||||
/// <param name="nameLessThan">Optional filter by items whose name is equally or lesser than a given input string.</param>
|
/// <param name="nameLessThan">Optional filter by items whose name is equally or lesser than a given input string.</param>
|
||||||
|
/// <param name="sortBy">Optional. Specify one or more sort orders, comma delimited.</param>
|
||||||
|
/// <param name="sortOrder">Sort Order - Ascending,Descending.</param>
|
||||||
/// <param name="enableImages">Optional, include image information in output.</param>
|
/// <param name="enableImages">Optional, include image information in output.</param>
|
||||||
/// <param name="enableTotalRecordCount">Optional. Include total record count.</param>
|
/// <param name="enableTotalRecordCount">Optional. Include total record count.</param>
|
||||||
/// <response code="200">Music genres returned.</response>
|
/// <response code="200">Music genres returned.</response>
|
||||||
|
@ -84,6 +86,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? nameStartsWithOrGreater,
|
[FromQuery] string? nameStartsWithOrGreater,
|
||||||
[FromQuery] string? nameStartsWith,
|
[FromQuery] string? nameStartsWith,
|
||||||
[FromQuery] string? nameLessThan,
|
[FromQuery] string? nameLessThan,
|
||||||
|
[FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] string[] sortBy,
|
||||||
|
[FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] SortOrder[] sortOrder,
|
||||||
[FromQuery] bool? enableImages = true,
|
[FromQuery] bool? enableImages = true,
|
||||||
[FromQuery] bool enableTotalRecordCount = true)
|
[FromQuery] bool enableTotalRecordCount = true)
|
||||||
{
|
{
|
||||||
|
@ -107,7 +111,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
NameStartsWithOrGreater = nameStartsWithOrGreater,
|
NameStartsWithOrGreater = nameStartsWithOrGreater,
|
||||||
DtoOptions = dtoOptions,
|
DtoOptions = dtoOptions,
|
||||||
SearchTerm = searchTerm,
|
SearchTerm = searchTerm,
|
||||||
EnableTotalRecordCount = enableTotalRecordCount
|
EnableTotalRecordCount = enableTotalRecordCount,
|
||||||
|
OrderBy = RequestHelpers.GetOrderBy(sortBy, sortOrder)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (parentId.HasValue)
|
if (parentId.HasValue)
|
||||||
|
|
Loading…
Reference in a new issue