diff --git a/Kyoo.Common/Controllers/ILibraryManager.cs b/Kyoo.Common/Controllers/ILibraryManager.cs
index ae3c321b..d15987de 100644
--- a/Kyoo.Common/Controllers/ILibraryManager.cs
+++ b/Kyoo.Common/Controllers/ILibraryManager.cs
@@ -12,7 +12,7 @@ namespace Kyoo.Controllers
///
/// An interface to interract with the database. Every repository is mapped through here.
///
- public interface ILibraryManager : IDisposable, IAsyncDisposable
+ public interface ILibraryManager
{
///
/// Get the repository corresponding to the T item.
diff --git a/Kyoo.Common/Controllers/IRepository.cs b/Kyoo.Common/Controllers/IRepository.cs
index 71a6db8b..2ed0b19a 100644
--- a/Kyoo.Common/Controllers/IRepository.cs
+++ b/Kyoo.Common/Controllers/IRepository.cs
@@ -109,7 +109,7 @@ namespace Kyoo.Controllers
///
/// A base class for repositories. Every service implementing this will be handled by the .
///
- public interface IBaseRepository : IDisposable, IAsyncDisposable
+ public interface IBaseRepository
{
///
/// The type for witch this repository is responsible or null if non applicable.
@@ -119,7 +119,6 @@ namespace Kyoo.Controllers
///
/// A common repository for every resources.
- /// It implement's and /.
///
/// The resource's type that this repository manage.
public interface IRepository : IBaseRepository where T : class, IResource
diff --git a/Kyoo.Common/Controllers/Implementations/LibraryManager.cs b/Kyoo.Common/Controllers/Implementations/LibraryManager.cs
index de35db92..2fb16735 100644
--- a/Kyoo.Common/Controllers/Implementations/LibraryManager.cs
+++ b/Kyoo.Common/Controllers/Implementations/LibraryManager.cs
@@ -59,20 +59,6 @@ namespace Kyoo.Controllers
GenreRepository = GetRepository() as IGenreRepository;
ProviderRepository = GetRepository() as IProviderRepository;
}
-
- ///
- public void Dispose()
- {
- foreach (IBaseRepository repo in _repositories)
- repo.Dispose();
- GC.SuppressFinalize(this);
- }
-
- ///
- public async ValueTask DisposeAsync()
- {
- await Task.WhenAll(_repositories.Select(x => x.DisposeAsync().AsTask()));
- }
///
public IRepository GetRepository()
diff --git a/Kyoo.CommonAPI/ResourceViewAttribute.cs b/Kyoo.CommonAPI/ResourceViewAttribute.cs
index fa177342..06198663 100644
--- a/Kyoo.CommonAPI/ResourceViewAttribute.cs
+++ b/Kyoo.CommonAPI/ResourceViewAttribute.cs
@@ -10,7 +10,6 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Options;
namespace Kyoo.CommonApi
{
@@ -77,7 +76,7 @@ namespace Kyoo.CommonApi
if (result.DeclaredType == null)
return;
- await using ILibraryManager library = context.HttpContext.RequestServices.GetService();
+ ILibraryManager library = context.HttpContext.RequestServices.GetService();
ICollection fields = (ICollection)context.HttpContext.Items["fields"];
Type pageType = Utility.GetGenericDefinition(result.DeclaredType, typeof(Page<>));
diff --git a/Kyoo/Controllers/Repositories/EpisodeRepository.cs b/Kyoo/Controllers/Repositories/EpisodeRepository.cs
index 032dff38..1af6c485 100644
--- a/Kyoo/Controllers/Repositories/EpisodeRepository.cs
+++ b/Kyoo/Controllers/Repositories/EpisodeRepository.cs
@@ -15,10 +15,6 @@ namespace Kyoo.Controllers
///
public class EpisodeRepository : LocalRepository, IEpisodeRepository
{
- ///
- /// Has this instance been disposed and should not handle requests?
- ///
- private bool _disposed;
///
/// The databse handle
///
@@ -58,30 +54,7 @@ namespace Kyoo.Controllers
_shows = shows;
_tracks = tracks;
}
-
-
- ///
- public override void Dispose()
- {
- if (_disposed)
- return;
- _disposed = true;
- _database.Dispose();
- _providers.Dispose();
- _shows.Dispose();
- GC.SuppressFinalize(this);
- }
-
- ///
- public override async ValueTask DisposeAsync()
- {
- if (_disposed)
- return;
- _disposed = true;
- await _database.DisposeAsync();
- await _providers.DisposeAsync();
- await _shows.DisposeAsync();
- }
+
///
public override async Task GetOrDefault(int id)
diff --git a/Kyoo/Controllers/Repositories/LibraryItemRepository.cs b/Kyoo/Controllers/Repositories/LibraryItemRepository.cs
index 44fd81d3..43afd407 100644
--- a/Kyoo/Controllers/Repositories/LibraryItemRepository.cs
+++ b/Kyoo/Controllers/Repositories/LibraryItemRepository.cs
@@ -15,10 +15,6 @@ namespace Kyoo.Controllers
///
public class LibraryItemRepository : LocalRepository, ILibraryItemRepository
{
- ///
- /// Has this instance been disposed and should not handle requests?
- ///
- private bool _disposed;
///
/// The database handle
///
@@ -61,35 +57,7 @@ namespace Kyoo.Controllers
_shows = new Lazy(services.GetRequiredService);
_collections = new Lazy(services.GetRequiredService);
}
-
- ///
- public override void Dispose()
- {
- if (_disposed)
- return;
- _disposed = true;
- _database.Dispose();
- _providers.Dispose();
- if (_shows.IsValueCreated)
- _shows.Value.Dispose();
- if (_collections.IsValueCreated)
- _collections.Value.Dispose();
- GC.SuppressFinalize(this);
- }
- ///
- public override async ValueTask DisposeAsync()
- {
- if (_disposed)
- return;
- _disposed = true;
- await _database.DisposeAsync();
- await _providers.DisposeAsync();
- if (_shows.IsValueCreated)
- await _shows.Value.DisposeAsync();
- if (_collections.IsValueCreated)
- await _collections.Value.DisposeAsync();
- }
///
public override async Task GetOrDefault(int id)
diff --git a/Kyoo/Controllers/Repositories/LibraryRepository.cs b/Kyoo/Controllers/Repositories/LibraryRepository.cs
index f61e4445..b4cab3b9 100644
--- a/Kyoo/Controllers/Repositories/LibraryRepository.cs
+++ b/Kyoo/Controllers/Repositories/LibraryRepository.cs
@@ -13,10 +13,6 @@ namespace Kyoo.Controllers
///
public class LibraryRepository : LocalRepository, ILibraryRepository
{
- ///
- /// Has this instance been disposed and should not handle requests?
- ///
- private bool _disposed;
///
/// The database handle
///
@@ -41,28 +37,8 @@ namespace Kyoo.Controllers
_database = database;
_providers = providers;
}
+
- ///
- public override void Dispose()
- {
- if (_disposed)
- return;
- _disposed = true;
- _database.Dispose();
- _providers.Dispose();
- GC.SuppressFinalize(this);
- }
-
- ///
- public override async ValueTask DisposeAsync()
- {
- if (_disposed)
- return;
- _disposed = true;
- await _database.DisposeAsync();
- await _providers.DisposeAsync();
- }
-
///
public override async Task> Search(string query)
{
diff --git a/Kyoo/Controllers/Repositories/PeopleRepository.cs b/Kyoo/Controllers/Repositories/PeopleRepository.cs
index 7d1c870e..526a3286 100644
--- a/Kyoo/Controllers/Repositories/PeopleRepository.cs
+++ b/Kyoo/Controllers/Repositories/PeopleRepository.cs
@@ -15,10 +15,6 @@ namespace Kyoo.Controllers
///
public class PeopleRepository : LocalRepository, IPeopleRepository
{
- ///
- /// Has this instance been disposed and should not handle requests?
- ///
- private bool _disposed;
///
/// The database handle
///
@@ -50,32 +46,7 @@ namespace Kyoo.Controllers
_providers = providers;
_shows = new Lazy(services.GetRequiredService);
}
-
-
- ///
- public override void Dispose()
- {
- if (_disposed)
- return;
- _disposed = true;
- _database.Dispose();
- _providers.Dispose();
- if (_shows.IsValueCreated)
- _shows.Value.Dispose();
- GC.SuppressFinalize(this);
- }
-
- ///
- public override async ValueTask DisposeAsync()
- {
- if (_disposed)
- return;
- _disposed = true;
- await _database.DisposeAsync();
- await _providers.DisposeAsync();
- if (_shows.IsValueCreated)
- await _shows.Value.DisposeAsync();
- }
+
///
public override async Task> Search(string query)
diff --git a/Kyoo/Controllers/Repositories/SeasonRepository.cs b/Kyoo/Controllers/Repositories/SeasonRepository.cs
index a2dce413..e35042ad 100644
--- a/Kyoo/Controllers/Repositories/SeasonRepository.cs
+++ b/Kyoo/Controllers/Repositories/SeasonRepository.cs
@@ -16,10 +16,6 @@ namespace Kyoo.Controllers
///
public class SeasonRepository : LocalRepository, ISeasonRepository
{
- ///
- /// Has this instance been disposed and should not handle requests?
- ///
- private bool _disposed;
///
/// The database handle
///
@@ -60,34 +56,7 @@ namespace Kyoo.Controllers
_shows = shows;
_episodes = new Lazy(services.GetRequiredService);
}
-
-
- ///
- public override void Dispose()
- {
- if (_disposed)
- return;
- _disposed = true;
- _database.Dispose();
- _providers.Dispose();
- _shows.Dispose();
- if (_episodes.IsValueCreated)
- _episodes.Value.Dispose();
- GC.SuppressFinalize(this);
- }
-
- ///
- public override async ValueTask DisposeAsync()
- {
- if (_disposed)
- return;
- _disposed = true;
- await _database.DisposeAsync();
- await _providers.DisposeAsync();
- await _shows.DisposeAsync();
- if (_episodes.IsValueCreated)
- await _episodes.Value.DisposeAsync();
- }
+
///
public override async Task Get(int id)
diff --git a/Kyoo/Controllers/Repositories/ShowRepository.cs b/Kyoo/Controllers/Repositories/ShowRepository.cs
index e94419c2..1129cd07 100644
--- a/Kyoo/Controllers/Repositories/ShowRepository.cs
+++ b/Kyoo/Controllers/Repositories/ShowRepository.cs
@@ -14,10 +14,6 @@ namespace Kyoo.Controllers
///
public class ShowRepository : LocalRepository, IShowRepository
{
- ///
- /// Has this instance been disposed and should not handle requests?
- ///
- private bool _disposed;
///
/// The databse handle
///
@@ -75,41 +71,7 @@ namespace Kyoo.Controllers
_seasons = new Lazy(services.GetRequiredService);
_episodes = new Lazy(services.GetRequiredService);
}
-
- ///
- public override void Dispose()
- {
- if (_disposed)
- return;
- _disposed = true;
- _database.Dispose();
- _studios.Dispose();
- _people.Dispose();
- _genres.Dispose();
- _providers.Dispose();
- if (_seasons.IsValueCreated)
- _seasons.Value.Dispose();
- if (_episodes.IsValueCreated)
- _episodes.Value.Dispose();
- GC.SuppressFinalize(this);
- }
-
- ///
- public override async ValueTask DisposeAsync()
- {
- if (_disposed)
- return;
- _disposed = true;
- await _database.DisposeAsync();
- await _studios.DisposeAsync();
- await _people.DisposeAsync();
- await _genres.DisposeAsync();
- await _providers.DisposeAsync();
- if (_seasons.IsValueCreated)
- await _seasons.Value.DisposeAsync();
- if (_episodes.IsValueCreated)
- await _episodes.Value.DisposeAsync();
- }
+
///
public override async Task> Search(string query)
diff --git a/Kyoo/Tasks/Crawler.cs b/Kyoo/Tasks/Crawler.cs
index 2634a3bb..47c931c9 100644
--- a/Kyoo/Tasks/Crawler.cs
+++ b/Kyoo/Tasks/Crawler.cs
@@ -32,7 +32,7 @@ namespace Kyoo.Controllers
public async Task> GetPossibleParameters()
{
using IServiceScope serviceScope = _serviceProvider.CreateScope();
- await using ILibraryManager libraryManager = serviceScope.ServiceProvider.GetService();
+ ILibraryManager libraryManager = serviceScope.ServiceProvider.GetService();
return (await libraryManager!.GetAll()).Select(x => x.Slug);
}
@@ -56,7 +56,7 @@ namespace Kyoo.Controllers
_parallelTasks = 30;
using IServiceScope serviceScope = _serviceProvider.CreateScope();
- await using ILibraryManager libraryManager = serviceScope.ServiceProvider.GetService();
+ ILibraryManager libraryManager = serviceScope.ServiceProvider.GetService();
foreach (Show show in await libraryManager!.GetAll())
if (!Directory.Exists(show.Path))
@@ -149,7 +149,7 @@ namespace Kyoo.Controllers
if (token.IsCancellationRequested || path.Split(Path.DirectorySeparatorChar).Contains("Subtitles"))
return;
using IServiceScope serviceScope = _serviceProvider.CreateScope();
- await using ILibraryManager libraryManager = serviceScope.ServiceProvider.GetService();
+ ILibraryManager libraryManager = serviceScope.ServiceProvider.GetService();
string patern = _config.GetValue("subtitleRegex");
Regex regex = new(patern, RegexOptions.IgnoreCase);
@@ -196,7 +196,7 @@ namespace Kyoo.Controllers
try
{
using IServiceScope serviceScope = _serviceProvider.CreateScope();
- await using ILibraryManager libraryManager = serviceScope.ServiceProvider.GetService();
+ ILibraryManager libraryManager = serviceScope.ServiceProvider.GetService();
string patern = _config.GetValue("regex");
Regex regex = new(patern, RegexOptions.IgnoreCase);
diff --git a/Kyoo/Tasks/ExtractMetadata.cs b/Kyoo/Tasks/ExtractMetadata.cs
index d9f47e43..d5513c97 100644
--- a/Kyoo/Tasks/ExtractMetadata.cs
+++ b/Kyoo/Tasks/ExtractMetadata.cs
@@ -64,8 +64,6 @@ namespace Kyoo.Tasks
await ExtractEpisode(episode, thumbs, subs);
break;
}
-
- await _library!.DisposeAsync();
}
private async Task ExtractShow(Show show, bool thumbs, bool subs, CancellationToken token)