Browse Source

fix plex library synchronization

pull/34/head
Jason Dove 6 years ago
parent
commit
d10dd6d74e
  1. 4
      ErsatzTV.Application/Plex/Commands/SynchronizePlexLibrariesHandler.cs
  2. 4
      ErsatzTV.Infrastructure/Data/Repositories/MediaSourceRepository.cs
  3. 2
      ErsatzTV/Pages/PlexLibrariesEditor.razor
  4. 3
      ErsatzTV/Pages/PlexMediaSources.razor
  5. 3
      ErsatzTV/Shared/MainLayout.razor
  6. 2
      ErsatzTV/Startup.cs

4
ErsatzTV.Application/Plex/Commands/SynchronizePlexLibrariesHandler.cs

@ -78,8 +78,8 @@ namespace ErsatzTV.Application.Plex.Commands @@ -78,8 +78,8 @@ namespace ErsatzTV.Application.Plex.Commands
var existing = connectionParameters.PlexMediaSource.Libraries.OfType<PlexLibrary>().ToList();
var toAdd = libraries.Filter(library => existing.All(l => l.Key != library.Key)).ToList();
var toRemove = existing.Filter(library => libraries.All(l => l.Key != library.Key)).ToList();
existing.AddRange(toAdd);
toRemove.ForEach(c => existing.Remove(c));
connectionParameters.PlexMediaSource.Libraries.AddRange(toAdd);
toRemove.ForEach(c => connectionParameters.PlexMediaSource.Libraries.Remove(c));
return _mediaSourceRepository.Update(connectionParameters.PlexMediaSource);
},

4
ErsatzTV.Infrastructure/Data/Repositories/MediaSourceRepository.cs

@ -135,12 +135,12 @@ namespace ErsatzTV.Infrastructure.Data.Repositories @@ -135,12 +135,12 @@ namespace ErsatzTV.Infrastructure.Data.Repositories
public Task DisablePlexLibrarySync(IEnumerable<int> libraryIds) =>
_dbConnection.ExecuteAsync(
"UPDATE PlexMediaSourceLibraries SET ShouldSyncItems = 0 WHERE Id in @ids",
"UPDATE PlexLibrary SET ShouldSyncItems = 0 WHERE Id in @ids",
new { ids = libraryIds });
public Task EnablePlexLibrarySync(IEnumerable<int> libraryIds) =>
_dbConnection.ExecuteAsync(
"UPDATE PlexMediaSourceLibraries SET ShouldSyncItems = 1 WHERE Id in @ids",
"UPDATE PlexLibrary SET ShouldSyncItems = 1 WHERE Id in @ids",
new { ids = libraryIds });
}
}

2
ErsatzTV/Pages/PlexLibrariesEditor.razor

@ -92,7 +92,7 @@ @@ -92,7 +92,7 @@
Snackbar.Add($"Unexpected error saving plex libraries: {error.Value}", Severity.Error);
Logger.LogError("Unexpected error saving plex libraries: {Error}", error.Value);
},
() => NavigationManager.NavigateTo("/media/sources/1"));
() => NavigationManager.NavigateTo("/media/plex"));
}
}

3
ErsatzTV/Shared/PlexMediaSources.razor → ErsatzTV/Pages/PlexMediaSources.razor

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
@using ErsatzTV.Application.Plex
@page "/media/plex"
@using ErsatzTV.Application.Plex
@using ErsatzTV.Application.Plex.Commands
@using ErsatzTV.Application.Plex.Queries
@inject IDialogService Dialog

3
ErsatzTV/Shared/MainLayout.razor

@ -26,6 +26,9 @@ @@ -26,6 +26,9 @@
<MudNavLink Href="/" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Home">Home</MudNavLink>
<MudNavLink Href="/channels">Channels</MudNavLink>
<MudNavLink Href="/ffmpeg">FFmpeg</MudNavLink>
<MudNavGroup Title="Media Sources" Expanded="true">
<MudNavLink Href="/media/plex">Plex</MudNavLink>
</MudNavGroup>
<MudNavGroup Title="Media" Expanded="true">
<MudNavLink Href="/media/libraries">Libraries</MudNavLink>
<MudNavLink Href="/media/tv/shows">TV Shows</MudNavLink>

2
ErsatzTV/Startup.cs

@ -207,7 +207,7 @@ namespace ErsatzTV @@ -207,7 +207,7 @@ namespace ErsatzTV
services.AddScoped<ITelevisionFolderScanner, TelevisionFolderScanner>();
services.AddScoped<IPlexMovieLibraryScanner, PlexMovieLibraryScanner>();
// services.AddHostedService<PlexService>();
services.AddHostedService<PlexService>();
services.AddHostedService<FFmpegLocatorService>();
services.AddHostedService<WorkerService>();
services.AddHostedService<SchedulerService>();

Loading…
Cancel
Save