mirror of
https://github.com/zoriya/Kyoo.git
synced 2026-05-30 10:55:16 -04:00
Restarting the library manager to use repositories
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
using Kyoo.Models;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Kyoo.Models;
|
||||
|
||||
namespace Kyoo.Controllers
|
||||
{
|
||||
// ReSharper disable once PossibleInterfaceMemberAmbiguity
|
||||
public interface ILibraryManager
|
||||
{
|
||||
// Get by slug
|
||||
@@ -16,21 +17,22 @@ namespace Kyoo.Controllers
|
||||
Genre GetGenre(string slug);
|
||||
Studio GetStudio(string slug);
|
||||
People GetPeople(string slug);
|
||||
ProviderID GetProvider(string name);
|
||||
|
||||
// Get all
|
||||
IEnumerable<Library> GetLibraries();
|
||||
IEnumerable<Collection> GetCollections();
|
||||
IEnumerable<Show> GetShows();
|
||||
IEnumerable<Season> GetSeasons();
|
||||
IEnumerable<Episode> GetEpisodes();
|
||||
IEnumerable<Track> GetTracks();
|
||||
IEnumerable<Studio> GetStudios();
|
||||
IEnumerable<People> GetPeoples();
|
||||
IEnumerable<Genre> GetGenres();
|
||||
|
||||
// Search
|
||||
IEnumerable<Library> SearchLibraries(string searchQuery);
|
||||
IEnumerable<Collection> SearchCollections(string searchQuery);
|
||||
IEnumerable<Show> SearchShows(string searchQuery);
|
||||
IEnumerable<Season> SearchSeasons(string searchQuery);
|
||||
IEnumerable<Episode> SearchEpisodes(string searchQuery);
|
||||
IEnumerable<Genre> SearchGenres(string searchQuery);
|
||||
IEnumerable<Studio> SearchStudios(string searchQuery);
|
||||
@@ -42,17 +44,34 @@ namespace Kyoo.Controllers
|
||||
IEnumerable<Episode> GetEpisodes(string showSlug, long seasonNumber);
|
||||
|
||||
//Register values
|
||||
void Register(object obj);
|
||||
Task Edit(object obj, bool resetOld);
|
||||
void RegisterShowLinks(Library library, Collection collection, Show show);
|
||||
Task SaveChanges();
|
||||
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);
|
||||
|
||||
// Validate values
|
||||
IEnumerable<MetadataID> Validate(IEnumerable<MetadataID> id);
|
||||
// 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);
|
||||
|
||||
|
||||
// Remove values
|
||||
void RemoveShow(Show show);
|
||||
void RemoveSeason(Season season);
|
||||
void RemoveEpisode(Episode episode);
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
using System.Collections.Generic;
|
||||
using Kyoo.Models;
|
||||
|
||||
namespace Kyoo.Controllers
|
||||
{
|
||||
public interface IRepository<T>
|
||||
{
|
||||
T Get(string slug);
|
||||
IEnumerable<T> Search(string query);
|
||||
IEnumerable<T> GetAll();
|
||||
T Create(T obj);
|
||||
T CreateIfNotExists(T obj);
|
||||
void Edit(T edited, bool resetOld);
|
||||
void Delete(string slug);
|
||||
}
|
||||
|
||||
public interface IShowRepository : IRepository<Show> {}
|
||||
|
||||
public interface ISeasonRepository : IRepository<Season>
|
||||
{
|
||||
Season Get(string showSlug, int seasonNumber);
|
||||
}
|
||||
|
||||
public interface IEpisodeRepository : IRepository<Episode>
|
||||
{
|
||||
Episode Get(string showSlug, int seasonNumber, int episodeNumber);
|
||||
}
|
||||
|
||||
public interface ILibraryRepository : IRepository<Library> {}
|
||||
public interface ICollectionRepository : IRepository<Collection> {}
|
||||
public interface IGenreRepository : IRepository<Genre> {}
|
||||
public interface IStudioRepository : IRepository<Studio> {}
|
||||
public interface IPeopleRepository : IRepository<People> {}
|
||||
}
|
||||
Reference in New Issue
Block a user