using System.Collections.Generic; using Kyoo.Models; namespace Kyoo.Controllers { public interface IRepository { T Get(string slug); IEnumerable Search(string query); IEnumerable GetAll(); T Create(T obj); T CreateIfNotExists(T obj); void Edit(T edited, bool resetOld); void Delete(string slug); } public interface IShowRepository : IRepository {} public interface ISeasonRepository : IRepository { Season Get(string showSlug, int seasonNumber); } public interface IEpisodeRepository : IRepository { Episode Get(string showSlug, int seasonNumber, int episodeNumber); } public interface ILibraryRepository : IRepository {} public interface ICollectionRepository : IRepository {} public interface IGenreRepository : IRepository {} public interface IStudioRepository : IRepository {} public interface IPeopleRepository : IRepository {} }