|
@@ -159,6 +159,9 @@ namespace MediaBrowser.ServerApplication
|
|
/// </summary>
|
|
/// </summary>
|
|
/// <value>The user data repository.</value>
|
|
/// <value>The user data repository.</value>
|
|
private IUserDataRepository UserDataRepository { get; set; }
|
|
private IUserDataRepository UserDataRepository { get; set; }
|
|
|
|
+ private IUserRepository UserRepository { get; set; }
|
|
|
|
+ private IDisplayPreferencesRepository DisplayPreferencesRepository { get; set; }
|
|
|
|
+ private IItemRepository ItemRepository { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
/// The full path to our startmenu shortcut
|
|
/// The full path to our startmenu shortcut
|
|
@@ -239,6 +242,15 @@ namespace MediaBrowser.ServerApplication
|
|
UserDataRepository = new SQLiteUserDataRepository(ApplicationPaths, JsonSerializer, LogManager);
|
|
UserDataRepository = new SQLiteUserDataRepository(ApplicationPaths, JsonSerializer, LogManager);
|
|
RegisterSingleInstance(UserDataRepository);
|
|
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);
|
|
UserManager = new UserManager(Logger, ServerConfigurationManager, UserDataRepository);
|
|
RegisterSingleInstance(UserManager);
|
|
RegisterSingleInstance(UserManager);
|
|
|
|
|
|
@@ -299,11 +311,9 @@ namespace MediaBrowser.ServerApplication
|
|
/// <returns>Task.</returns>
|
|
/// <returns>Task.</returns>
|
|
private async Task ConfigureDisplayPreferencesRepositories()
|
|
private async Task ConfigureDisplayPreferencesRepositories()
|
|
{
|
|
{
|
|
- var repository = new SQLiteDisplayPreferencesRepository(ApplicationPaths, JsonSerializer, LogManager);
|
|
|
|
-
|
|
|
|
- await repository.Initialize().ConfigureAwait(false);
|
|
|
|
|
|
+ await DisplayPreferencesRepository.Initialize().ConfigureAwait(false);
|
|
|
|
|
|
- ((DisplayPreferencesManager)DisplayPreferencesManager).Repository = repository;
|
|
|
|
|
|
+ ((DisplayPreferencesManager)DisplayPreferencesManager).Repository = DisplayPreferencesRepository;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -312,11 +322,9 @@ namespace MediaBrowser.ServerApplication
|
|
/// <returns>Task.</returns>
|
|
/// <returns>Task.</returns>
|
|
private async Task ConfigureItemRepositories()
|
|
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>
|
|
/// <summary>
|
|
@@ -328,13 +336,15 @@ namespace MediaBrowser.ServerApplication
|
|
return UserDataRepository.Initialize();
|
|
return UserDataRepository.Initialize();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// Configures the user repositories.
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <returns>Task.</returns>
|
|
private async Task ConfigureUserRepositories()
|
|
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>
|
|
/// <summary>
|
|
@@ -553,21 +563,5 @@ namespace MediaBrowser.ServerApplication
|
|
process.WaitForExit();
|
|
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();
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|