diff --git a/Kyoo.Common/Controllers/ILibraryManager.cs b/Kyoo.Common/Controllers/ILibraryManager.cs index 906c5e32..6a3234f4 100644 --- a/Kyoo.Common/Controllers/ILibraryManager.cs +++ b/Kyoo.Common/Controllers/ILibraryManager.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Threading.Tasks; using Kyoo.Models; namespace Kyoo.Controllers @@ -6,70 +7,71 @@ namespace Kyoo.Controllers public interface ILibraryManager { // Get by slug - Library GetLibrary(string slug); - 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); - Track GetTrack(string slug); - Genre GetGenre(string slug); - Studio GetStudio(string slug); - People GetPeople(string slug); + Task GetLibrary(string slug); + Task GetCollection(string slug); + Task GetShow(string slug); + Task GetSeason(string showSlug, long seasonNumber); + Task GetEpisode(string showSlug, long seasonNumber, long episodeNumber); + Task GetMovieEpisode(string movieSlug); + Task GetTrack(long episodeID, string language, bool isForced); + Task GetGenre(string slug); + Task GetStudio(string slug); + Task GetPeople(string slug); // Get all - IEnumerable GetLibraries(); - IEnumerable GetCollections(); - IEnumerable GetShows(); - IEnumerable GetSeasons(); - IEnumerable GetEpisodes(); - IEnumerable GetTracks(); - IEnumerable GetStudios(); - IEnumerable GetPeoples(); - IEnumerable GetGenres(); + Task> GetLibraries(); + Task> GetCollections(); + Task> GetShows(); + Task> GetSeasons(); + Task> GetEpisodes(); + Task> GetTracks(); + Task> GetStudios(); + Task> GetPeoples(); + Task> GetGenres(); + Task> GetProviders(); // 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); + Task> SearchLibraries(string searchQuery); + Task> SearchCollections(string searchQuery); + Task> SearchShows(string searchQuery); + Task> SearchSeasons(string searchQuery); + Task> SearchEpisodes(string searchQuery); + Task> SearchGenres(string searchQuery); + Task> SearchStudios(string searchQuery); + Task> SearchPeople(string searchQuery); //Register values - void RegisterLibrary(Library library); - void RegisterCollection(Collection collection); - void RegisterShow(Show show); - void RegisterSeason(Season season); - void RegisterEpisode(Episode episode); - void RegisterTrack(Track track); - void RegisterGenre(Genre genre); - void RegisterStudio(Studio studio); - void RegisterPeople(People people); + Task RegisterLibrary(Library library); + Task RegisterCollection(Collection collection); + Task RegisterShow(Show show); + Task RegisterSeason(Season season); + Task RegisterEpisode(Episode episode); + Task RegisterTrack(Track track); + Task RegisterGenre(Genre genre); + Task RegisterStudio(Studio studio); + Task 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 EditTrack(Track track, bool resetOld); - void EditGenre(Genre genre, bool resetOld); - void EditStudio(Studio studio, bool resetOld); - void EditPeople(People people, bool resetOld); + Task EditLibrary(Library library, bool resetOld); + Task EditCollection(Collection collection, bool resetOld); + Task EditShow(Show show, bool resetOld); + Task EditSeason(Season season, bool resetOld); + Task EditEpisode(Episode episode, bool resetOld); + Task EditTrack(Track track, bool resetOld); + Task EditGenre(Genre genre, bool resetOld); + Task EditStudio(Studio studio, bool resetOld); + Task 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 DeleteTrack(Track track); - void DeleteGenre(Genre genre); - void DeleteStudio(Studio studio); - void DeletePeople(People people); + Task DelteLibrary(Library library); + Task DeleteCollection(Collection collection); + Task DeleteShow(Show show); + Task DeleteSeason(Season season); + Task DeleteEpisode(Episode episode); + Task DeleteTrack(Track track); + Task DeleteGenre(Genre genre); + Task DeleteStudio(Studio studio); + Task DeletePeople(People people); } } diff --git a/Kyoo/Controllers/LibraryManager.cs b/Kyoo/Controllers/LibraryManager.cs index 3eecf500..f351fd72 100644 --- a/Kyoo/Controllers/LibraryManager.cs +++ b/Kyoo/Controllers/LibraryManager.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Threading.Tasks; using Kyoo.Models; namespace Kyoo.Controllers @@ -14,297 +15,295 @@ namespace Kyoo.Controllers private readonly IGenreRepository _genres; private readonly IStudioRepository _studios; private readonly IPeopleRepository _people; + private readonly IProviderRepository _providers; - public LibraryManager(ILibraryRepository libraries, - ICollectionRepository collections, - IShowRepository shows, - ISeasonRepository seasons, - IEpisodeRepository episodes, - ITrackRepository tracks, - IGenreRepository genres, - IStudioRepository studios, - IPeopleRepository people) + public LibraryManager(DatabaseContext database) { - _libraries = libraries; - _collections = collections; - _shows = shows; - _seasons = seasons; - _episodes = episodes; - _tracks = tracks; - _genres = genres; - _studios = studios; - _people = people; + _providers = new ProviderRepository(database); + _libraries = new LibraryRepository(database, _providers); + _collections = new CollectionRepository(database); + _genres = new GenreRepository(database); + _people = new PeopleRepository(database, _providers); + _studios = new StudioRepository(database); + _shows = new ShowRepository(database, _genres, _people, _studios, _providers); + _seasons = new SeasonRepository(database, _providers); + _episodes = new EpisodeRepository(database, _providers); + _tracks = new TrackRepository(database); } - public Library GetLibrary(string slug) + public Task GetLibrary(string slug) { return _libraries.Get(slug); } - public Collection GetCollection(string slug) + public Task GetCollection(string slug) { return _collections.Get(slug); } - public Show GetShow(string slug) + public Task GetShow(string slug) { return _shows.Get(slug); } - public Season GetSeason(string showSlug, long seasonNumber) + public Task GetSeason(string showSlug, long seasonNumber) { return _seasons.Get(showSlug, seasonNumber); } - public Episode GetEpisode(string showSlug, long seasonNumber, long episodeNumber) + public Task GetEpisode(string showSlug, long seasonNumber, long episodeNumber) { return _episodes.Get(showSlug, seasonNumber, episodeNumber); } - public Episode GetMovieEpisode(string movieSlug) + public Task GetMovieEpisode(string movieSlug) { return _episodes.Get(movieSlug); } - public Track GetTrack(string slug) + public Task GetTrack(long episodeID, string language, bool isForced) { - return _tracks.Get(slug); + return _tracks.Get(episodeID, language, isForced); } - public Genre GetGenre(string slug) + public Task GetGenre(string slug) { return _genres.Get(slug); } - public Studio GetStudio(string slug) + public Task GetStudio(string slug) { return _studios.Get(slug); } - public People GetPeople(string slug) + public Task GetPeople(string slug) { return _people.Get(slug); } - public IEnumerable GetLibraries() + public Task> GetLibraries() { return _libraries.GetAll(); } - public IEnumerable GetCollections() + public Task> GetCollections() { return _collections.GetAll(); } - public IEnumerable GetShows() + public Task> GetShows() { return _shows.GetAll(); } - public IEnumerable GetSeasons() + public Task> GetSeasons() { return _seasons.GetAll(); } - public IEnumerable GetEpisodes() + public Task> GetEpisodes() { return _episodes.GetAll(); } - public IEnumerable GetTracks() + public Task> GetTracks() { return _tracks.GetAll(); } - public IEnumerable GetStudios() + public Task> GetStudios() { return _studios.GetAll(); } - public IEnumerable GetPeoples() + public Task> GetPeoples() { return _people.GetAll(); } - public IEnumerable GetGenres() + public Task> GetGenres() { return _genres.GetAll(); } - public IEnumerable SearchLibraries(string searchQuery) + public Task> GetProviders() + { + return _providers.GetAll(); + } + + public Task> SearchLibraries(string searchQuery) { return _libraries.Search(searchQuery); } - public IEnumerable SearchCollections(string searchQuery) + public Task> SearchCollections(string searchQuery) { return _collections.Search(searchQuery); } - public IEnumerable SearchShows(string searchQuery) + public Task> SearchShows(string searchQuery) { return _shows.Search(searchQuery); } - public IEnumerable SearchSeasons(string searchQuery) + public Task> SearchSeasons(string searchQuery) { return _seasons.Search(searchQuery); } - public IEnumerable SearchEpisodes(string searchQuery) + public Task> SearchEpisodes(string searchQuery) { return _episodes.Search(searchQuery); } - public IEnumerable SearchGenres(string searchQuery) + public Task> SearchGenres(string searchQuery) { return _genres.Search(searchQuery); } - public IEnumerable SearchStudios(string searchQuery) + public Task> SearchStudios(string searchQuery) { return _studios.Search(searchQuery); } - public IEnumerable SearchPeople(string searchQuery) + public Task> SearchPeople(string searchQuery) { return _people.Search(searchQuery); } - public void RegisterLibrary(Library library) + public Task RegisterLibrary(Library library) { - _libraries.Create(library); + return _libraries.Create(library); } - public void RegisterCollection(Collection collection) + public Task RegisterCollection(Collection collection) { - _collections.Create(collection); + return _collections.Create(collection); } - public void RegisterShow(Show show) + public Task RegisterShow(Show show) { - _shows.Create(show); + return _shows.Create(show); } - public void RegisterSeason(Season season) + public Task RegisterSeason(Season season) { - _seasons.Create(season); + return _seasons.Create(season); } - public void RegisterEpisode(Episode episode) + public Task RegisterEpisode(Episode episode) { - _episodes.Create(episode); + return _episodes.Create(episode); } - public void RegisterTrack(Track track) + public Task RegisterTrack(Track track) { - _tracks.Create(track); + return _tracks.Create(track); } - public void RegisterGenre(Genre genre) + public Task RegisterGenre(Genre genre) { - _genres.Create(genre); - + return _genres.Create(genre); } - public void RegisterStudio(Studio studio) + public Task RegisterStudio(Studio studio) { - _studios.Create(studio); + return _studios.Create(studio); } - public void RegisterPeople(People people) + public Task RegisterPeople(People people) { - _people.Create(people); + return _people.Create(people); } - public void EditLibrary(Library library, bool resetOld) + public Task EditLibrary(Library library, bool resetOld) { - _libraries.Edit(library, resetOld); + return _libraries.Edit(library, resetOld); } - public void EditCollection(Collection collection, bool resetOld) + public Task EditCollection(Collection collection, bool resetOld) { - throw new System.NotImplementedException(); + return _collections.Edit(collection, resetOld); } - public void EditShow(Show show, bool resetOld) + public Task EditShow(Show show, bool resetOld) { - throw new System.NotImplementedException(); + return _shows.Edit(show, resetOld); } - public void EditSeason(Season season, bool resetOld) + public Task EditSeason(Season season, bool resetOld) { - throw new System.NotImplementedException(); + return _seasons.Edit(season, resetOld); } - public void EditEpisode(Episode episode, bool resetOld) + public Task EditEpisode(Episode episode, bool resetOld) { - throw new System.NotImplementedException(); + return _episodes.Edit(episode, resetOld); } - public void EditTrack(Track track, bool resetOld) + public Task EditTrack(Track track, bool resetOld) { - throw new System.NotImplementedException(); + return _tracks.Edit(track, resetOld); } - public void EditGenre(Genre genre, bool resetOld) + public Task EditGenre(Genre genre, bool resetOld) { - throw new System.NotImplementedException(); + return _genres.Edit(genre, resetOld); } - public void EditStudio(Studio studio, bool resetOld) + public Task EditStudio(Studio studio, bool resetOld) { - throw new System.NotImplementedException(); + return _studios.Edit(studio, resetOld); } - public void EditPeople(People people, bool resetOld) + public Task EditPeople(People people, bool resetOld) { - throw new System.NotImplementedException(); + return _people.Edit(people, resetOld); } - public void DelteLibrary(Library library) + public Task DelteLibrary(Library library) { - throw new System.NotImplementedException(); + return _libraries.Delete(library); } - public void DeleteCollection(Collection collection) + public Task DeleteCollection(Collection collection) { - throw new System.NotImplementedException(); + return _collections.Delete(collection); } - public void DeleteShow(Show show) + public Task DeleteShow(Show show) { - throw new System.NotImplementedException(); + return _shows.Delete(show); } - public void DeleteSeason(Season season) + public Task DeleteSeason(Season season) { - throw new System.NotImplementedException(); + return _seasons.Delete(season); } - public void DeleteEpisode(Episode episode) + public Task DeleteEpisode(Episode episode) { - throw new System.NotImplementedException(); + return _episodes.Delete(episode); } - public void DeleteTrack(Track track) + public Task DeleteTrack(Track track) { - throw new System.NotImplementedException(); + return _tracks.Delete(track); } - public void DeleteGenre(Genre genre) + public Task DeleteGenre(Genre genre) { - throw new System.NotImplementedException(); + return _genres.Delete(genre); } - public void DeleteStudio(Studio studio) + public Task DeleteStudio(Studio studio) { - throw new System.NotImplementedException(); + return _studios.Delete(studio); } - public void DeletePeople(People people) + public Task DeletePeople(People people) { - throw new System.NotImplementedException(); + return _people.Delete(people); } } }