using System.Collections.Generic; using System.Threading.Tasks; using API.DTOs; using API.Entities; using API.Helpers; namespace API.Interfaces { public interface ISeriesRepository { void Add(Series series); void Update(Series series); Task GetSeriesByNameAsync(string name); Series GetSeriesByName(string name); /// /// Adds user information like progress, ratings, etc /// /// /// /// Task> GetSeriesDtoForLibraryIdAsync(int libraryId, int userId, UserParams userParams); /// /// Does not add user information like progress, ratings, etc. /// /// /// Series name to search for /// Task> SearchSeries(int[] libraryIds, string searchQuery); Task> GetSeriesForLibraryIdAsync(int libraryId); Task> GetVolumesDtoAsync(int seriesId, int userId); Task> GetVolumes(int seriesId); Task GetSeriesDtoByIdAsync(int seriesId, int userId); Task GetVolumeAsync(int volumeId); Task GetVolumeDtoAsync(int volumeId, int userId); Task> GetVolumesForSeriesAsync(int[] seriesIds); Task DeleteSeriesAsync(int seriesId); Task GetVolumeByIdAsync(int volumeId); Task GetSeriesByIdAsync(int seriesId); Task GetChapterIdsForSeriesAsync(int[] seriesIds); } }