aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Persistence/INextUpService.cs
blob: ade026d0da214d93453144b153be38f64c205932 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Collections.Generic;
using MediaBrowser.Controller.Entities;

namespace MediaBrowser.Controller.Persistence;

/// <summary>
/// Provides next-up episode query operations.
/// </summary>
public interface INextUpService
{
    /// <summary>
    /// Gets the list of series presentation keys for next up.
    /// </summary>
    /// <param name="filter">The query.</param>
    /// <param name="dateCutoff">The minimum date for a series to have been most recently watched.</param>
    /// <returns>The list of keys.</returns>
    IReadOnlyList<string> GetNextUpSeriesKeys(InternalItemsQuery filter, DateTime dateCutoff);

    /// <summary>
    /// Gets next up episodes for multiple series in a single batched query.
    /// </summary>
    /// <param name="filter">The query filter.</param>
    /// <param name="seriesKeys">The series presentation unique keys to query.</param>
    /// <param name="includeSpecials">Whether to include specials.</param>
    /// <param name="includeWatchedForRewatching">Whether to include watched episodes for rewatching mode.</param>
    /// <returns>A dictionary mapping series key to batch result.</returns>
    IReadOnlyDictionary<string, NextUpEpisodeBatchResult> GetNextUpEpisodesBatch(
        InternalItemsQuery filter,
        IReadOnlyList<string> seriesKeys,
        bool includeSpecials,
        bool includeWatchedForRewatching);
}