* clean up genre, tag, studio orphans * enforce foreign keys at connection level * wip * fix fragment scroll offset * fix see all link for music videos * add fake artist metadata * not null artist id * add artist scanning * remove improperly named music videos * code cleanup * add artists to search results and collections * clean up music video metadata / artist * add artist view * show music videos on artist page * add music video artwork placeholder
28 lines
1.1 KiB
C#
28 lines
1.1 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 IMusicVideoRepository
|
|
{
|
|
Task<Either<BaseError, MediaItemScanResult<MusicVideo>>> GetOrAdd(
|
|
Artist artist,
|
|
LibraryPath libraryPath,
|
|
string path);
|
|
|
|
Task<IEnumerable<string>> FindMusicVideoPaths(LibraryPath libraryPath);
|
|
Task<List<int>> DeleteByPath(LibraryPath libraryPath, string path);
|
|
Task<bool> AddGenre(MusicVideoMetadata metadata, Genre genre);
|
|
Task<bool> AddTag(MusicVideoMetadata metadata, Tag tag);
|
|
Task<bool> AddStudio(MusicVideoMetadata metadata, Studio studio);
|
|
Task<List<MusicVideoMetadata>> GetMusicVideosForCards(List<int> ids);
|
|
Task<Option<MusicVideo>> GetMusicVideo(int musicVideoId);
|
|
Task<IEnumerable<string>> FindOrphanPaths(LibraryPath libraryPath);
|
|
Task<int> GetMusicVideoCount(int artistId);
|
|
Task<List<MusicVideoMetadata>> GetPagedMusicVideos(int artistId, int pageNumber, int pageSize);
|
|
}
|
|
}
|