#nullable disable #pragma warning disable CS1591 using System; using System.Collections.Generic; using System.Threading; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Querying; namespace MediaBrowser.Controller.Persistence { /// /// Provides an interface to implement an Item repository. /// public interface IItemRepository : IRepository { /// /// Saves an item. /// /// The item. /// The cancellation token. void SaveItem(BaseItem item, CancellationToken cancellationToken); /// /// Deletes the item. /// /// The identifier. void DeleteItem(Guid id); /// /// Saves the items. /// /// The items. /// The cancellation token. void SaveItems(IEnumerable items, CancellationToken cancellationToken); void SaveImages(BaseItem item); /// /// Retrieves the item. /// /// The id. /// BaseItem. BaseItem RetrieveItem(Guid id); /// /// Gets chapters for an item. /// /// The item. /// The list of chapter info. List GetChapters(BaseItem item); /// /// Gets a single chapter for an item. /// /// The item. /// The chapter index. /// The chapter info at the specified index. ChapterInfo GetChapter(BaseItem item, int index); /// /// Saves the chapters. /// /// The item id. /// The list of chapters to save. void SaveChapters(Guid id, IReadOnlyList chapters); /// /// Gets the media streams. /// /// The query. /// IEnumerable{MediaStream}. List GetMediaStreams(MediaStreamQuery query); /// /// Saves the media streams. /// /// The identifier. /// The streams. /// The cancellation token. void SaveMediaStreams(Guid id, IReadOnlyList streams, CancellationToken cancellationToken); /// /// Gets the media attachments. /// /// The query. /// IEnumerable{MediaAttachment}. List GetMediaAttachments(MediaAttachmentQuery query); /// /// Saves the media attachments. /// /// The identifier. /// The attachments. /// The cancellation token. void SaveMediaAttachments(Guid id, IReadOnlyList attachments, CancellationToken cancellationToken); /// /// Gets the item ids. /// /// The query. /// IEnumerable<Guid>. QueryResult GetItemIds(InternalItemsQuery query); /// /// Gets the items. /// /// The query. /// QueryResult<BaseItem>. QueryResult GetItems(InternalItemsQuery query); /// /// Gets the item ids list. /// /// The query. /// List<Guid>. List GetItemIdsList(InternalItemsQuery query); /// /// Gets the people. /// /// The query. /// List<PersonInfo>. List GetPeople(InternalPeopleQuery query); /// /// Updates the people. /// /// The item identifier. /// The people. void UpdatePeople(Guid itemId, List people); /// /// Gets the people names. /// /// The query. /// List<System.String>. List GetPeopleNames(InternalPeopleQuery query); /// /// Gets the item ids with path. /// /// The query. /// QueryResult<Tuple<Guid, System.String>>. List> GetItemIdsWithPath(InternalItemsQuery query); /// /// Gets the item list. /// /// The query. /// List<BaseItem>. List GetItemList(InternalItemsQuery query); /// /// Updates the inherited values. /// void UpdateInheritedValues(); int GetCount(InternalItemsQuery query); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetGenres(InternalItemsQuery query); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetMusicGenres(InternalItemsQuery query); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetStudios(InternalItemsQuery query); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetArtists(InternalItemsQuery query); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetAlbumArtists(InternalItemsQuery query); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetAllArtists(InternalItemsQuery query); List GetMusicGenreNames(); List GetStudioNames(); List GetGenreNames(); List GetAllArtistNames(); } }