using ErsatzTV.Core.Domain; using ErsatzTV.Core.Scheduling; namespace ErsatzTV.Core.Interfaces.Repositories; public interface IMediaCollectionRepository { Task> GetCollectionWithCollectionItemsUntracked(int id); Task> GetItems(int id); Task> GetMultiCollectionItems(int id); Task> GetSmartCollectionItems(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); }