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 IMusicVideoRepository { Task>> GetOrAdd(LibraryPath libraryPath, string path); Task> FindMusicVideoPaths(LibraryPath libraryPath); Task> DeleteByPath(LibraryPath libraryPath, string path); Task AddGenre(MusicVideoMetadata metadata, Genre genre); Task AddTag(MusicVideoMetadata metadata, Tag tag); Task AddStudio(MusicVideoMetadata metadata, Studio studio); Task> GetMusicVideosForCards(List ids); Task> GetMusicVideo(int musicVideoId); } }