* add letter bar with no links * use lucene for search, add paged search results * add search index version * index library_name; rebuild index when folder is missing * maintain index as local movies change * fix tests * maintain index as local shows change * maintain index as plex movies change * maintain index as plex shows change * code cleanup * add duplicate filter to search * add links to letter bar * code cleanup
24 lines
1.0 KiB
C#
24 lines
1.0 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using ErsatzTV.Core.Domain;
|
|
using ErsatzTV.Core.Metadata;
|
|
using LanguageExt;
|
|
|
|
namespace ErsatzTV.Core.Interfaces.Repositories
|
|
{
|
|
public interface IMovieRepository
|
|
{
|
|
Task<bool> AllMoviesExist(List<int> movieIds);
|
|
Task<Option<Movie>> GetMovie(int movieId);
|
|
Task<Either<BaseError, MediaItemScanResult<Movie>>> GetOrAdd(LibraryPath libraryPath, string path);
|
|
Task<Either<BaseError, MediaItemScanResult<PlexMovie>>> GetOrAdd(PlexLibrary library, PlexMovie item);
|
|
Task<int> GetMovieCount();
|
|
Task<List<MovieMetadata>> GetPagedMovies(int pageNumber, int pageSize);
|
|
Task<List<MovieMetadata>> GetMoviesForCards(List<int> ids);
|
|
Task<IEnumerable<string>> FindMoviePaths(LibraryPath libraryPath);
|
|
Task<List<int>> DeleteByPath(LibraryPath libraryPath, string path);
|
|
Task<bool> AddGenre(MovieMetadata metadata, Genre genre);
|
|
Task<List<int>> RemoveMissingPlexMovies(PlexLibrary library, List<string> movieKeys);
|
|
}
|
|
}
|