Add PaginatedQuery abstract class, change startIndex to skip

This commit is contained in:
Patrick Barron 2021-05-20 20:48:41 -04:00
parent e1f7086077
commit ab63a7745c
4 changed files with 21 additions and 13 deletions

View File

@ -47,7 +47,7 @@ namespace Jellyfin.Api.Controllers
{ {
return await _activityManager.GetPagedResultAsync(new ActivityLogQuery return await _activityManager.GetPagedResultAsync(new ActivityLogQuery
{ {
StartIndex = startIndex, Skip = startIndex,
Limit = limit, Limit = limit,
MinDate = minDate, MinDate = minDate,
HasUserId = hasUserId HasUserId = hasUserId

View File

@ -5,18 +5,8 @@ namespace Jellyfin.Data.Queries
/// <summary> /// <summary>
/// A class representing a query to the activity logs. /// A class representing a query to the activity logs.
/// </summary> /// </summary>
public class ActivityLogQuery public class ActivityLogQuery : PaginatedQuery
{ {
/// <summary>
/// Gets or sets the index to start at.
/// </summary>
public int? StartIndex { get; set; }
/// <summary>
/// Gets or sets the maximum number of items to include.
/// </summary>
public int? Limit { get; set; }
/// <summary> /// <summary>
/// Gets or sets a value indicating whether to take entries with a user id. /// Gets or sets a value indicating whether to take entries with a user id.
/// </summary> /// </summary>

View File

@ -0,0 +1,18 @@
namespace Jellyfin.Data.Queries
{
/// <summary>
/// An abstract class for paginated queries.
/// </summary>
public abstract class PaginatedQuery
{
/// <summary>
/// Gets or sets the index to start at.
/// </summary>
public int? Skip { get; set; }
/// <summary>
/// Gets or sets the maximum number of items to include.
/// </summary>
public int? Limit { get; set; }
}
}

View File

@ -62,7 +62,7 @@ namespace Jellyfin.Server.Implementations.Activity
return new QueryResult<ActivityLogEntry> return new QueryResult<ActivityLogEntry>
{ {
Items = await entries Items = await entries
.Skip(query.StartIndex ?? 0) .Skip(query.Skip ?? 0)
.Take(query.Limit ?? 100) .Take(query.Limit ?? 100)
.AsAsyncEnumerable() .AsAsyncEnumerable()
.Select(ConvertToOldModel) .Select(ConvertToOldModel)