using System.Collections.Generic; using System.Threading.Tasks; using ErsatzTV.Core.Domain; using LanguageExt; namespace ErsatzTV.Core.Interfaces.Repositories { public interface ILibraryRepository { Task Add(LibraryPath libraryPath); Task> Get(int libraryId); Task> GetLocal(int libraryId); Task> GetAll(); Task UpdateLastScan(Library library); Task UpdateLastScan(LibraryPath libraryPath); Task> GetLocalPaths(int libraryId); Task> GetPath(int libraryPathId); Task CountMediaItemsByPath(int libraryPathId); Task> GetMediaIdsByLocalPath(int libraryPathId); Task DeleteLocalPath(int libraryPathId); Task SetEtag(LibraryPath libraryPath, Option knownFolder, string path, string etag); } }