diff options
Diffstat (limited to 'MediaBrowser.Controller/Persistence/IChapterRepository.cs')
| -rw-r--r-- | MediaBrowser.Controller/Persistence/IChapterRepository.cs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Persistence/IChapterRepository.cs b/MediaBrowser.Controller/Persistence/IChapterRepository.cs new file mode 100644 index 000000000..0844ddb36 --- /dev/null +++ b/MediaBrowser.Controller/Persistence/IChapterRepository.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using MediaBrowser.Model.Entities; + +namespace MediaBrowser.Controller.Persistence; + +/// <summary> +/// Interface IChapterRepository. +/// </summary> +public interface IChapterRepository +{ + /// <summary> + /// Deletes the chapters. + /// </summary> + /// <param name="itemId">The item.</param> + void DeleteChapters(Guid itemId); + + /// <summary> + /// Saves the chapters. + /// </summary> + /// <param name="itemId">The item.</param> + /// <param name="chapters">The set of chapters.</param> + void SaveChapters(Guid itemId, IReadOnlyList<ChapterInfo> chapters); + + /// <summary> + /// Gets all chapters associated with the baseItem. + /// </summary> + /// <param name="baseItemId">The BaseItems id.</param> + /// <returns>A readonly list of chapter instances.</returns> + IReadOnlyList<ChapterInfo> GetChapters(Guid baseItemId); + + /// <summary> + /// Gets a single chapter of a BaseItem on a specific index. + /// </summary> + /// <param name="baseItemId">The BaseItems id.</param> + /// <param name="index">The index of that chapter.</param> + /// <returns>A chapter instance.</returns> + ChapterInfo? GetChapter(Guid baseItemId, int index); +} |
