Revert "fix search index threading (#141)"

This reverts commit 3fb6da0754.
This commit is contained in:
Jason Dove
2021-04-05 07:44:42 -05:00
parent 3fb6da0754
commit 16072fed1c
29 changed files with 122 additions and 280 deletions
@@ -1,10 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Channels;
using System.Threading.Tasks;
using ErsatzTV.Application.Search.Commands;
using ErsatzTV.Core;
using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Interfaces.Locking;
@@ -29,7 +26,6 @@ namespace ErsatzTV.Application.Plex.Commands
private readonly IPlexMovieLibraryScanner _plexMovieLibraryScanner;
private readonly IPlexSecretStore _plexSecretStore;
private readonly IPlexTelevisionLibraryScanner _plexTelevisionLibraryScanner;
private readonly ChannelWriter<ISearchBackgroundServiceRequest> _searchChannel;
public SynchronizePlexLibraryByIdHandler(
IMediaSourceRepository mediaSourceRepository,
@@ -38,8 +34,7 @@ namespace ErsatzTV.Application.Plex.Commands
IPlexTelevisionLibraryScanner plexTelevisionLibraryScanner,
ILibraryRepository libraryRepository,
IEntityLocker entityLocker,
ILogger<SynchronizePlexLibraryByIdHandler> logger,
ChannelWriter<ISearchBackgroundServiceRequest> searchChannel)
ILogger<SynchronizePlexLibraryByIdHandler> logger)
{
_mediaSourceRepository = mediaSourceRepository;
_plexSecretStore = plexSecretStore;
@@ -48,7 +43,6 @@ namespace ErsatzTV.Application.Plex.Commands
_libraryRepository = libraryRepository;
_entityLocker = entityLocker;
_logger = logger;
_searchChannel = searchChannel;
}
public Task<Either<BaseError, string>> Handle(
@@ -76,17 +70,13 @@ namespace ErsatzTV.Application.Plex.Commands
await _plexMovieLibraryScanner.ScanLibrary(
parameters.ConnectionParameters.ActiveConnection,
parameters.ConnectionParameters.PlexServerAuthToken,
parameters.Library,
AddToSearchIndex,
RemoveFromSearchIndex);
parameters.Library);
break;
case LibraryMediaKind.Shows:
await _plexTelevisionLibraryScanner.ScanLibrary(
parameters.ConnectionParameters.ActiveConnection,
parameters.ConnectionParameters.PlexServerAuthToken,
parameters.Library,
AddToSearchIndex,
RemoveFromSearchIndex);
parameters.Library);
break;
}
@@ -104,12 +94,6 @@ namespace ErsatzTV.Application.Plex.Commands
return Unit.Default;
}
private ValueTask AddToSearchIndex(List<MediaItem> mediaItems) =>
_searchChannel.WriteAsync(new AddItemsToSearchIndex(mediaItems));
private ValueTask RemoveFromSearchIndex(List<int> mediaItemIds) =>
_searchChannel.WriteAsync(new RemoveItemsFromSearchIndex(mediaItemIds));
private async Task<Validation<BaseError, RequestParameters>> Validate(ISynchronizePlexLibraryById request) =>
(await ValidateConnection(request), await PlexLibraryMustExist(request))
.Apply(