Files
ersatztv/ErsatzTV.Core/Interfaces/Search/ISearchIndex.cs
T
Jason DoveandGitHub 0d301df5e8 remove external dependencies (bugsnag, trakt) (#2840)
* remove bugsnag

* remove trakt client id (that will expire)
2026-02-26 10:43:48 -06:00

56 lines
1.6 KiB
C#

using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Interfaces.Metadata;
using ErsatzTV.Core.Interfaces.Repositories;
using ErsatzTV.Core.Search;
namespace ErsatzTV.Core.Interfaces.Search;
public interface ISearchIndex : IDisposable
{
int Version { get; }
Task<bool> IndexExists();
Task<bool> Initialize(
ILocalFileSystem localFileSystem,
IConfigElementRepository configElementRepository,
CancellationToken cancellationToken);
Task<Unit> Rebuild(
ISearchRepository searchRepository,
IFallbackMetadataProvider fallbackMetadataProvider,
ILanguageCodeService languageCodeService,
CancellationToken cancellationToken);
Task<Unit> RebuildItems(
ISearchRepository searchRepository,
IFallbackMetadataProvider fallbackMetadataProvider,
ILanguageCodeService languageCodeService,
IEnumerable<int> itemIds,
CancellationToken cancellationToken);
Task<Unit> UpdateItems(
ISearchRepository searchRepository,
IFallbackMetadataProvider fallbackMetadataProvider,
ILanguageCodeService languageCodeService,
List<MediaItem> items);
Task<bool> RemoveItems(IEnumerable<int> ids);
Task<SearchResult> Search(
string query,
string smartCollectionName,
int skip,
int limit,
CancellationToken cancellationToken);
Task<SearchResult> Search(
string query,
string smartCollectionName,
int skip,
int limit,
List<string> defaultFields,
CancellationToken cancellationToken);
void Commit();
}