diff --git a/back/src/Kyoo.Core/Controllers/Repositories/LibraryRepository.cs b/back/src/Kyoo.Core/Controllers/Repositories/LibraryRepository.cs index c9987a3b..f74c32e9 100644 --- a/back/src/Kyoo.Core/Controllers/Repositories/LibraryRepository.cs +++ b/back/src/Kyoo.Core/Controllers/Repositories/LibraryRepository.cs @@ -93,9 +93,11 @@ namespace Kyoo.Core.Controllers if (resource.Providers != null) { resource.Providers = await resource.Providers - .SelectAsync(x => _providers.CreateIfNotExists(x)) + .SelectAsync(async x => + _database.LocalEntity(x.Slug) + ?? await _providers.CreateIfNotExists(x) + ) .ToListAsync(); - _database.AttachRange(resource.Providers); } } diff --git a/back/src/Kyoo.Core/Tasks/LibraryCreator.cs b/back/src/Kyoo.Core/Tasks/LibraryCreator.cs index 2dcd6250..8beb765b 100644 --- a/back/src/Kyoo.Core/Tasks/LibraryCreator.cs +++ b/back/src/Kyoo.Core/Tasks/LibraryCreator.cs @@ -26,7 +26,6 @@ using Kyoo.Abstractions.Controllers; using Kyoo.Abstractions.Models; using Kyoo.Abstractions.Models.Attributes; using Kyoo.Utils; -using Microsoft.Extensions.Logging; namespace Kyoo.Core.Tasks { @@ -42,29 +41,13 @@ namespace Kyoo.Core.Tasks /// private readonly ILibraryManager _libraryManager; - /// - /// A task manager used to create sub tasks for each episode to add to the database. - /// - private readonly ITaskManager _taskManager; - - /// - /// The logger used to inform the current status to the console. - /// - private readonly ILogger _logger; - /// /// Create a new . /// /// The library manager to retrieve existing episodes/library/tracks - /// The task manager used to start . - /// The logger used print messages. - public LibraryCreator(ILibraryManager libraryManager, - ITaskManager taskManager, - ILogger logger) + public LibraryCreator(ILibraryManager libraryManager) { _libraryManager = libraryManager; - _taskManager = taskManager; - _logger = logger; } ///