public async Task <Either <BaseError, List <EmbyMediaSource> > > Handle(
        SynchronizeEmbyMediaSources request,
        CancellationToken cancellationToken)
    {
        List <EmbyMediaSource> mediaSources = await _mediaSourceRepository.GetAllEmby();

        foreach (EmbyMediaSource mediaSource in mediaSources)
        {
            // await _channel.WriteAsync(new SynchronizeEmbyAdminUserId(mediaSource.Id), cancellationToken);
            await _channel.WriteAsync(new SynchronizeEmbyLibraries(mediaSource.Id), cancellationToken);
        }

        return(mediaSources);
    }
Exemple #2
0
    private async Task SynchronizeSources(
        SynchronizeEmbyMediaSources request,
        CancellationToken cancellationToken)
    {
        using IServiceScope scope = _serviceScopeFactory.CreateScope();
        IMediator mediator = scope.ServiceProvider.GetRequiredService <IMediator>();

        Either <BaseError, List <EmbyMediaSource> > result = await mediator.Send(request, cancellationToken);

        result.Match(
            sources =>
        {
            if (sources.Any())
            {
                _logger.LogInformation("Successfully synchronized emby media sources");
            }
        },
            error =>
        {
            _logger.LogWarning(
                "Unable to synchronize emby media sources: {Error}",
                error.Value);
        });
    }