using System.Collections.Generic; using System.Threading.Tasks; using Kyoo.Models; namespace Kyoo.Controllers { // ReSharper disable once PossibleInterfaceMemberAmbiguity public interface ILibraryManager { // Get by slug Library GetLibrary(string librarySlug); Collection GetCollection(string slug); Show GetShow(string slug); Season GetSeason(string showSlug, long seasonNumber); Episode GetEpisode(string showSlug, long seasonNumber, long episodeNumber); Episode GetMovieEpisode(string movieSlug); Genre GetGenre(string slug); Studio GetStudio(string slug); People GetPeople(string slug); // Get all IEnumerable GetLibraries(); IEnumerable GetCollections(); IEnumerable GetShows(); IEnumerable GetSeasons(); IEnumerable GetEpisodes(); IEnumerable GetStudios(); IEnumerable GetPeoples(); IEnumerable GetGenres(); // Search IEnumerable SearchLibraries(string searchQuery); IEnumerable SearchCollections(string searchQuery); IEnumerable SearchShows(string searchQuery); IEnumerable SearchSeasons(string searchQuery); IEnumerable SearchEpisodes(string searchQuery); IEnumerable SearchGenres(string searchQuery); IEnumerable SearchStudios(string searchQuery); IEnumerable SearchPeople(string searchQuery); // Other get helpers Show GetShowByPath(string path); IEnumerable GetLibrariesPath(); IEnumerable GetEpisodes(string showSlug, long seasonNumber); //Register values void RegisterLibrary(Library library); void RegisterCollection(Collection collection); void RegisterShow(Show show); void RegisterSeason(Season season); void RegisterEpisode(Episode episode); void RegisterGenre(Genre genre); void RegisterStudio(Studio studio); void RegisterPeople(People people); // Edit values void EditLibrary(Library library, bool resetOld); void EditCollection(Collection collection, bool resetOld); void EditShow(Show show, bool resetOld); void EditSeason(Season season, bool resetOld); void EditEpisode(Episode episode, bool resetOld); void EditGenre(Genre genre, bool resetOld); void EditStudio(Studio studio, bool resetOld); void EditPeople(People people, bool resetOld); // Delete values void DelteLibrary(Library library); void DeleteCollection(Collection collection); void DeleteShow(Show show); void DeleteSeason(Season season); void DeleteEpisode(Episode episode); void DeleteGenre(Genre genre); void DeleteStudio(Studio studio); void DeletePeople(People people); } }