mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-21 17:44:43 +01:00
fixed db disposals
This commit is contained in:
@@ -159,6 +159,9 @@ namespace MediaBrowser.ServerApplication
|
||||
/// </summary>
|
||||
/// <value>The user data repository.</value>
|
||||
private IUserDataRepository UserDataRepository { get; set; }
|
||||
private IUserRepository UserRepository { get; set; }
|
||||
private IDisplayPreferencesRepository DisplayPreferencesRepository { get; set; }
|
||||
private IItemRepository ItemRepository { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The full path to our startmenu shortcut
|
||||
@@ -239,6 +242,15 @@ namespace MediaBrowser.ServerApplication
|
||||
UserDataRepository = new SQLiteUserDataRepository(ApplicationPaths, JsonSerializer, LogManager);
|
||||
RegisterSingleInstance(UserDataRepository);
|
||||
|
||||
UserRepository = new SQLiteUserRepository(ApplicationPaths, JsonSerializer, LogManager);
|
||||
RegisterSingleInstance(UserRepository);
|
||||
|
||||
DisplayPreferencesRepository = new SQLiteDisplayPreferencesRepository(ApplicationPaths, JsonSerializer, LogManager);
|
||||
RegisterSingleInstance(DisplayPreferencesRepository);
|
||||
|
||||
ItemRepository = new SQLiteItemRepository(ApplicationPaths, JsonSerializer, LogManager);
|
||||
RegisterSingleInstance(ItemRepository);
|
||||
|
||||
UserManager = new UserManager(Logger, ServerConfigurationManager, UserDataRepository);
|
||||
RegisterSingleInstance(UserManager);
|
||||
|
||||
@@ -299,11 +311,9 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <returns>Task.</returns>
|
||||
private async Task ConfigureDisplayPreferencesRepositories()
|
||||
{
|
||||
var repository = new SQLiteDisplayPreferencesRepository(ApplicationPaths, JsonSerializer, LogManager);
|
||||
await DisplayPreferencesRepository.Initialize().ConfigureAwait(false);
|
||||
|
||||
await repository.Initialize().ConfigureAwait(false);
|
||||
|
||||
((DisplayPreferencesManager)DisplayPreferencesManager).Repository = repository;
|
||||
((DisplayPreferencesManager)DisplayPreferencesManager).Repository = DisplayPreferencesRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -312,11 +322,9 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <returns>Task.</returns>
|
||||
private async Task ConfigureItemRepositories()
|
||||
{
|
||||
var repository = new SQLiteItemRepository(ApplicationPaths, JsonSerializer, LogManager);
|
||||
await ItemRepository.Initialize().ConfigureAwait(false);
|
||||
|
||||
await repository.Initialize().ConfigureAwait(false);
|
||||
|
||||
((LibraryManager)LibraryManager).ItemRepository = repository;
|
||||
((LibraryManager)LibraryManager).ItemRepository = ItemRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -328,13 +336,15 @@ namespace MediaBrowser.ServerApplication
|
||||
return UserDataRepository.Initialize();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Configures the user repositories.
|
||||
/// </summary>
|
||||
/// <returns>Task.</returns>
|
||||
private async Task ConfigureUserRepositories()
|
||||
{
|
||||
var repository = new SQLiteUserRepository(ApplicationPaths, JsonSerializer, LogManager);
|
||||
await UserRepository.Initialize().ConfigureAwait(false);
|
||||
|
||||
await repository.Initialize().ConfigureAwait(false);
|
||||
|
||||
((UserManager)UserManager).UserRepository = repository;
|
||||
((UserManager)UserManager).UserRepository = UserRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -553,21 +563,5 @@ namespace MediaBrowser.ServerApplication
|
||||
process.WaitForExit();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the repository.
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="repositories">The repositories.</param>
|
||||
/// <param name="name">The name.</param>
|
||||
/// <returns>``0.</returns>
|
||||
private T GetRepository<T>(IEnumerable<T> repositories, string name)
|
||||
where T : class, IRepository
|
||||
{
|
||||
var enumerable = repositories as T[] ?? repositories.ToArray();
|
||||
|
||||
return enumerable.FirstOrDefault(r => string.Equals(r.Name, name, StringComparison.OrdinalIgnoreCase)) ??
|
||||
enumerable.FirstOrDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Windows;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Plugins;
|
||||
using MediaBrowser.Model.Logging;
|
||||
@@ -7,6 +6,7 @@ using MediaBrowser.ServerApplication.Controls;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls.Primitives;
|
||||
|
||||
namespace MediaBrowser.ServerApplication.EntryPoints
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using MediaBrowser.Common.Events;
|
||||
using MediaBrowser.Common.Events;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Common.Plugins;
|
||||
using MediaBrowser.Common.ScheduledTasks;
|
||||
@@ -15,6 +13,8 @@ using MediaBrowser.Model.Logging;
|
||||
using MediaBrowser.Model.Tasks;
|
||||
using MediaBrowser.Model.Updates;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
|
||||
namespace MediaBrowser.ServerApplication.EntryPoints
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user