using Kyoo.Models; using System.Collections.Generic; using System.Threading.Tasks; namespace Kyoo.Controllers { 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); ProviderID GetProvider(string name); // Get all IEnumerable GetLibraries(); IEnumerable GetCollections(); IEnumerable GetShows(); IEnumerable GetEpisodes(); IEnumerable GetTracks(); IEnumerable GetStudios(); IEnumerable GetPeoples(); IEnumerable GetGenres(); // Search IEnumerable SearchCollections(string searchQuery); IEnumerable SearchShows(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 Register(object obj); Task Edit(object obj, bool resetOld); Task SaveChanges(); // Validate values IEnumerable Validate(IEnumerable id); // Remove values void RemoveShow(Show show); void RemoveSeason(Season season); void RemoveEpisode(Episode episode); } }