#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.Querying; namespace MediaBrowser.Controller.Persistence; /// /// Provides an interface to implement an Item repository. /// public interface IItemRepository { /// /// Deletes the item. /// /// The identifier. void DeleteItem(Guid id); /// /// Saves the items. /// /// The items. /// The cancellation token. void SaveItems(IReadOnlyList items, CancellationToken cancellationToken); void SaveImages(BaseItem item); /// /// Retrieves the item. /// /// The id. /// BaseItem. BaseItem RetrieveItem(Guid id); /// /// Gets the items. /// /// The query. /// QueryResult<BaseItem>. QueryResult GetItems(InternalItemsQuery filter); /// /// Gets the item ids list. /// /// The query. /// List<Guid>. IReadOnlyList GetItemIdsList(InternalItemsQuery filter); /// /// Gets the item list. /// /// The query. /// List<BaseItem>. IReadOnlyList GetItemList(InternalItemsQuery filter); /// /// Updates the inherited values. /// void UpdateInheritedValues(); int GetCount(InternalItemsQuery filter); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetGenres(InternalItemsQuery filter); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetMusicGenres(InternalItemsQuery filter); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetStudios(InternalItemsQuery filter); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetArtists(InternalItemsQuery filter); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetAlbumArtists(InternalItemsQuery filter); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetAllArtists(InternalItemsQuery filter); IReadOnlyList GetMusicGenreNames(); IReadOnlyList GetStudioNames(); IReadOnlyList GetGenreNames(); IReadOnlyList GetAllArtistNames(); }