using ErsatzTV.Core.Domain; namespace ErsatzTV.Core.Interfaces.Repositories; public interface ILibraryRepository { Task Add(LibraryPath libraryPath); Task> GetLibrary(int libraryId); Task> GetLocal(int libraryId); Task> GetAll(); Task UpdateLastScan(Library library); Task UpdateLastScan(LibraryPath libraryPath); Task> GetLocalPaths(int libraryId); Task CountMediaItemsByPath(int libraryPathId); Task SetEtag(LibraryPath libraryPath, Option knownFolder, string path, string etag); Task CleanEtagsForLibraryPath(LibraryPath libraryPath); Task> GetParentFolderId(string folder); Task GetOrAddFolder(LibraryPath libraryPath, Option maybeParentFolder, string folder); Task UpdateLibraryFolderId(MediaFile mediaFile, int libraryFolderId); Task UpdatePath(LibraryPath libraryPath, string normalizedLibraryPath); }