using ErsatzTV.Core.Domain; using ErsatzTV.Core.Scheduling; namespace ErsatzTV.Core.Interfaces.Repositories; public interface IMediaCollectionRepository { Task>> GetPlaylistItemMap(int playlistId); Task>> GetPlaylistItemMap(string groupName, string name); Task>> GetPlaylistItemMap(Playlist playlist); Task> GetCollectionWithCollectionItemsUntracked(int id); Task> GetItems(int id); Task> GetCollectionItemsByName(string name); Task> GetMultiCollectionItems(int id); Task> GetMultiCollectionItemsByName(string name); Task> GetSmartCollectionItems(int id); Task> GetSmartCollectionItemsByName(string name); Task> GetSmartCollectionItems(string query); Task> GetShowItemsByShowGuids(List guids); Task> GetPlaylistItems(int id); Task> GetMovie(int id); Task> GetEpisode(int id); Task> GetMusicVideo(int id); Task> GetOtherVideo(int id); Task> GetSong(int id); Task> GetImage(int id); Task> GetMultiCollectionCollections(int id); Task> GetFakeMultiCollectionCollections(int? collectionId, int? smartCollectionId); Task> PlayoutIdsUsingCollection(int collectionId); Task> PlayoutIdsUsingMultiCollection(int multiCollectionId); Task> PlayoutIdsUsingSmartCollection(int smartCollectionId); Task IsCustomPlaybackOrder(int collectionId); Task> GetNameFromKey(CollectionKey emptyCollection); List GroupIntoFakeCollections(List items, string fakeKey = null); }