using System.Collections.Generic; using System.Threading.Tasks; using ErsatzTV.Core.Domain; using LanguageExt; namespace ErsatzTV.Core.Interfaces.Repositories { public interface IMediaCollectionRepository { Task Add(SimpleMediaCollection collection); Task> Get(int id); Task> GetSimpleMediaCollection(int id); Task> GetSimpleMediaCollectionWithItems(int id); Task> GetSimpleMediaCollectionWithItemsUntracked(int id); Task> GetSimpleMediaCollections(); Task> GetAll(); Task>> GetItems(int id); Task>> GetSimpleMediaCollectionItems(int id); Task Update(SimpleMediaCollection collection); Task Delete(int mediaCollectionId); } }