using ErsatzTV.Core.Domain; using ErsatzTV.Core.Metadata; namespace ErsatzTV.Core.Interfaces.Repositories; public interface IMovieRepository { Task AllMoviesExist(List movieIds); Task> GetMovie(int movieId); Task>> GetOrAdd( LibraryPath libraryPath, LibraryFolder libraryFolder, string path); Task> GetMoviesForCards(List ids); Task> FindMoviePaths(LibraryPath libraryPath); Task> DeleteByPath(LibraryPath libraryPath, string path); Task AddGenre(MovieMetadata metadata, Genre genre); Task AddTag(MovieMetadata metadata, Tag tag); Task AddStudio(MovieMetadata metadata, Studio studio); Task AddActor(MovieMetadata metadata, Actor actor); Task UpdateSortTitle(MovieMetadata movieMetadata); Task AddDirector(MovieMetadata metadata, Director director); Task AddWriter(MovieMetadata metadata, Writer writer); }