using System.Collections.Generic; using System.Threading.Tasks; using ErsatzTV.Core.AggregateModels; using ErsatzTV.Core.Domain; using LanguageExt; namespace ErsatzTV.Core.Interfaces.Repositories { public interface IMediaItemRepository { public Task Add(MediaItem mediaItem); public Task> Get(int id); public Task> GetAll(); public Task> Search(string searchString); public Task> GetPageByType(MediaType mediaType, int pageNumber, int pageSize); public Task GetCountByType(MediaType mediaType); public Task> GetAllByMediaSourceId(int mediaSourceId); public Task Update(MediaItem mediaItem); public Task Delete(int mediaItemId); } }