Always set update action when item does not exist (#14304)

This commit is contained in:
JPVenson 2025-06-16 00:19:57 +03:00 committed by GitHub
parent aa05185917
commit 4cd0a2ed8d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 171 additions and 55 deletions

View File

@ -14,6 +14,7 @@ using System.Reflection;
using System.Text;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using Jellyfin.Data.Enums;
using Jellyfin.Database.Implementations;
using Jellyfin.Database.Implementations.Entities;
@ -2353,4 +2354,14 @@ public sealed class BaseItemRepository
return baseQuery;
}
/// <inheritdoc/>
public async Task<bool> ItemExistsAsync(Guid id)
{
var dbContext = await _dbProvider.CreateDbContextAsync().ConfigureAwait(false);
await using (dbContext.ConfigureAwait(false))
{
return await dbContext.BaseItems.AnyAsync(f => f.Id == id).ConfigureAwait(false);
}
}
}

View File

@ -5,6 +5,7 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Jellyfin.Data.Enums;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Dto;
@ -102,4 +103,11 @@ public interface IItemRepository
IReadOnlyList<string> GetGenreNames();
IReadOnlyList<string> GetAllArtistNames();
/// <summary>
/// Checks if an item has been persisted to the database.
/// </summary>
/// <param name="id">The id to check.</param>
/// <returns>True if the item exists, otherwise false.</returns>
Task<bool> ItemExistsAsync(Guid id);
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -24,14 +25,16 @@ public class AudioBookMetadataService : MetadataService<AudioBook, SongInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public AudioBookMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<AudioBookMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -24,14 +25,16 @@ public class BookMetadataService : MetadataService<Book, BookInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public BookMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<BookMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -5,6 +5,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -27,14 +28,16 @@ public class BoxSetMetadataService : MetadataService<BoxSet, BoxSetInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public BoxSetMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<BoxSetMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Channels;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class ChannelMetadataService : MetadataService<Channel, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public ChannelMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<ChannelMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class CollectionFolderMetadataService : MetadataService<CollectionFolder,
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public CollectionFolderMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<CollectionFolderMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class FolderMetadataService : MetadataService<Folder, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public FolderMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<FolderMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class UserViewMetadataService : MetadataService<UserView, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public UserViewMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<UserViewMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class GenreMetadataService : MetadataService<Genre, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public GenreMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<GenreMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class LiveTvMetadataService : MetadataService<LiveTvChannel, ItemLookupIn
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public LiveTvMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<LiveTvMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -377,6 +377,10 @@ namespace MediaBrowser.Providers.Manager
{
// Nothing to do, already gone
}
catch (DirectoryNotFoundException)
{
// Nothing to do, already gone
}
catch (UnauthorizedAccessException ex)
{
_logger.LogWarning(ex, "Unable to delete {Image}", image.Path);

View File

@ -14,6 +14,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
@ -33,7 +34,8 @@ namespace MediaBrowser.Providers.Manager
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
{
ServerConfigurationManager = serverConfigurationManager;
Logger = logger;
@ -41,6 +43,7 @@ namespace MediaBrowser.Providers.Manager
FileSystem = fileSystem;
LibraryManager = libraryManager;
ExternalDataManager = externalDataManager;
ItemRepository = itemRepository;
ImageProvider = new ItemImageProvider(Logger, ProviderManager, FileSystem);
}
@ -58,6 +61,8 @@ namespace MediaBrowser.Providers.Manager
protected IExternalDataManager ExternalDataManager { get; }
protected IItemRepository ItemRepository { get; }
protected virtual bool EnableUpdatingPremiereDateFromChildren => false;
protected virtual bool EnableUpdatingGenresFromChildren => false;
@ -85,6 +90,7 @@ namespace MediaBrowser.Providers.Manager
{
var itemOfType = (TItemType)item;
var updateType = ItemUpdateType.None;
var libraryOptions = LibraryManager.GetLibraryOptions(item);
var isFirstRefresh = item.DateLastRefreshed.Date == DateTime.MinValue.Date;
var hasRefreshedMetadata = true;
@ -141,7 +147,8 @@ namespace MediaBrowser.Providers.Manager
Item = itemOfType
};
var beforeSaveResult = BeforeSave(itemOfType, isFirstRefresh || refreshOptions.ReplaceAllMetadata || refreshOptions.MetadataRefreshMode == MetadataRefreshMode.FullRefresh || requiresRefresh || refreshOptions.ForceSave, updateType);
var beforeSaveResult = await BeforeSave(itemOfType, isFirstRefresh || refreshOptions.ReplaceAllMetadata || refreshOptions.MetadataRefreshMode == MetadataRefreshMode.FullRefresh || requiresRefresh || refreshOptions.ForceSave, updateType)
.ConfigureAwait(false);
updateType |= beforeSaveResult;
updateType = await SaveInternal(item, refreshOptions, updateType, isFirstRefresh, requiresRefresh, metadataResult, cancellationToken).ConfigureAwait(false);
@ -284,12 +291,20 @@ namespace MediaBrowser.Providers.Manager
/// <param name="isFullRefresh">if set to <c>true</c> [is full refresh].</param>
/// <param name="currentUpdateType">Type of the current update.</param>
/// <returns>ItemUpdateType.</returns>
private ItemUpdateType BeforeSave(TItemType item, bool isFullRefresh, ItemUpdateType currentUpdateType)
private async Task<ItemUpdateType> BeforeSave(TItemType item, bool isFullRefresh, ItemUpdateType currentUpdateType)
{
var updateType = BeforeSaveInternal(item, isFullRefresh, currentUpdateType);
updateType |= item.OnMetadataChanged();
if (updateType == ItemUpdateType.None)
{
if (!await ItemRepository.ItemExistsAsync(item.Id).ConfigureAwait(false))
{
return ItemUpdateType.MetadataImport;
}
}
return updateType;
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -24,14 +25,16 @@ public class MovieMetadataService : MetadataService<Movie, MovieInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public MovieMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<MovieMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -3,6 +3,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -25,14 +26,16 @@ public class TrailerMetadataService : MetadataService<Trailer, TrailerInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public TrailerMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<TrailerMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -9,6 +9,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -31,14 +32,16 @@ public class AlbumMetadataService : MetadataService<MusicAlbum, AlbumInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public AlbumMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<AlbumMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -4,6 +4,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -25,14 +26,16 @@ public class ArtistMetadataService : MetadataService<MusicArtist, ArtistInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public ArtistMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<ArtistMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -26,14 +27,16 @@ public class AudioMetadataService : MetadataService<Audio, SongInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public AudioMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<AudioMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -26,14 +27,16 @@ public class MusicVideoMetadataService : MetadataService<MusicVideo, MusicVideoI
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public MusicVideoMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<MusicVideoMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class MusicGenreMetadataService : MetadataService<MusicGenre, ItemLookupI
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public MusicGenreMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<MusicGenreMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class PersonMetadataService : MetadataService<Person, PersonLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public PersonMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<PersonMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class PhotoAlbumMetadataService : MetadataService<PhotoAlbum, ItemLookupI
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public PhotoAlbumMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<PhotoAlbumMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class PhotoMetadataService : MetadataService<Photo, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public PhotoMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<PhotoMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Playlists;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
@ -27,14 +28,16 @@ public class PlaylistMetadataService : MetadataService<Playlist, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public PlaylistMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<PlaylistMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class StudioMetadataService : MetadataService<Studio, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public StudioMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<StudioMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}

View File

@ -3,6 +3,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -25,14 +26,16 @@ public class EpisodeMetadataService : MetadataService<Episode, EpisodeInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public EpisodeMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<EpisodeMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -6,6 +6,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
@ -28,14 +29,16 @@ public class SeasonMetadataService : MetadataService<Season, SeasonInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public SeasonMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<SeasonMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -10,6 +10,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Globalization;
@ -36,6 +37,7 @@ public class SeriesMetadataService : MetadataService<Series, SeriesInfo>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="localizationManager">Instance of the <see cref="ILocalizationManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public SeriesMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<SeriesMetadataService> logger,
@ -43,8 +45,9 @@ public class SeriesMetadataService : MetadataService<Series, SeriesInfo>
IFileSystem fileSystem,
ILibraryManager libraryManager,
ILocalizationManager localizationManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
_localizationManager = localizationManager;
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class VideoMetadataService : MetadataService<Video, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public VideoMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<VideoMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class YearMetadataService : MetadataService<Year, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public YearMetadataService(
IServerConfigurationManager serverConfigurationManager,
ILogger<YearMetadataService> logger,
IProviderManager providerManager,
IFileSystem fileSystem,
ILibraryManager libraryManager,
IExternalDataManager externalDataManager)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
IExternalDataManager externalDataManager,
IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{
}
}