mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Register and construct IUserDataManager and IUserDataRepository correctly
This commit is contained in:
parent
5827f0f5a9
commit
615717e562
@ -247,12 +247,6 @@ namespace Emby.Server.Implementations
|
|||||||
|
|
||||||
public LocalizationManager LocalizationManager { get; set; }
|
public LocalizationManager LocalizationManager { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the user data repository.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The user data repository.</value>
|
|
||||||
private IUserDataManager UserDataManager { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the installation manager.
|
/// Gets the installation manager.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -641,8 +635,8 @@ namespace Emby.Server.Implementations
|
|||||||
|
|
||||||
serviceCollection.AddSingleton<IBlurayExaminer>(new BdInfoExaminer(FileSystemManager));
|
serviceCollection.AddSingleton<IBlurayExaminer>(new BdInfoExaminer(FileSystemManager));
|
||||||
|
|
||||||
UserDataManager = new UserDataManager(LoggerFactory, ServerConfigurationManager, Resolve<IUserManager>);
|
serviceCollection.AddSingleton<IUserDataRepository, SqliteUserDataRepository>();
|
||||||
serviceCollection.AddSingleton(UserDataManager);
|
serviceCollection.AddSingleton<IUserDataManager, UserDataManager>();
|
||||||
|
|
||||||
serviceCollection.AddSingleton<IDisplayPreferencesRepository, SqliteDisplayPreferencesRepository>();
|
serviceCollection.AddSingleton<IDisplayPreferencesRepository, SqliteDisplayPreferencesRepository>();
|
||||||
|
|
||||||
@ -752,15 +746,12 @@ namespace Emby.Server.Implementations
|
|||||||
((SqliteUserRepository)Resolve<IUserRepository>()).Initialize();
|
((SqliteUserRepository)Resolve<IUserRepository>()).Initialize();
|
||||||
((ActivityRepository)Resolve<IActivityRepository>()).Initialize();
|
((ActivityRepository)Resolve<IActivityRepository>()).Initialize();
|
||||||
|
|
||||||
var userDataRepo = new SqliteUserDataRepository(LoggerFactory.CreateLogger<SqliteUserDataRepository>(), ApplicationPaths);
|
|
||||||
|
|
||||||
SetStaticProperties();
|
SetStaticProperties();
|
||||||
|
|
||||||
var userManager = (UserManager)Resolve<IUserManager>();
|
var userManager = (UserManager)Resolve<IUserManager>();
|
||||||
userManager.Initialize();
|
userManager.Initialize();
|
||||||
|
|
||||||
((UserDataManager)UserDataManager).Repository = userDataRepo;
|
var userDataRepo = (SqliteUserDataRepository)Resolve<IUserDataRepository>();
|
||||||
|
|
||||||
((SqliteItemRepository)Resolve<IItemRepository>()).Initialize(userDataRepo, userManager);
|
((SqliteItemRepository)Resolve<IItemRepository>()).Initialize(userDataRepo, userManager);
|
||||||
|
|
||||||
FindParts();
|
FindParts();
|
||||||
@ -846,7 +837,7 @@ namespace Emby.Server.Implementations
|
|||||||
BaseItem.ItemRepository = Resolve<IItemRepository>();
|
BaseItem.ItemRepository = Resolve<IItemRepository>();
|
||||||
User.UserManager = Resolve<IUserManager>();
|
User.UserManager = Resolve<IUserManager>();
|
||||||
BaseItem.FileSystem = FileSystemManager;
|
BaseItem.FileSystem = FileSystemManager;
|
||||||
BaseItem.UserDataManager = UserDataManager;
|
BaseItem.UserDataManager = Resolve<IUserDataManager>();
|
||||||
BaseItem.ChannelManager = Resolve<IChannelManager>();
|
BaseItem.ChannelManager = Resolve<IChannelManager>();
|
||||||
Video.LiveTvManager = Resolve<ILiveTvManager>();
|
Video.LiveTvManager = Resolve<ILiveTvManager>();
|
||||||
Folder.UserViewManager = Resolve<IUserViewManager>();
|
Folder.UserViewManager = Resolve<IUserViewManager>();
|
||||||
|
@ -28,25 +28,24 @@ namespace Emby.Server.Implementations.Library
|
|||||||
|
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly IServerConfigurationManager _config;
|
private readonly IServerConfigurationManager _config;
|
||||||
|
private readonly IUserManager _userManager;
|
||||||
|
private readonly IUserDataRepository _repository;
|
||||||
|
|
||||||
private Func<IUserManager> _userManager;
|
public UserDataManager(
|
||||||
|
ILogger<UserDataManager> logger,
|
||||||
public UserDataManager(ILoggerFactory loggerFactory, IServerConfigurationManager config, Func<IUserManager> userManager)
|
IServerConfigurationManager config,
|
||||||
|
IUserManager userManager,
|
||||||
|
IUserDataRepository repository)
|
||||||
{
|
{
|
||||||
|
_logger = logger;
|
||||||
_config = config;
|
_config = config;
|
||||||
_logger = loggerFactory.CreateLogger(GetType().Name);
|
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
|
_repository = repository;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the repository.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The repository.</value>
|
|
||||||
public IUserDataRepository Repository { get; set; }
|
|
||||||
|
|
||||||
public void SaveUserData(Guid userId, BaseItem item, UserItemData userData, UserDataSaveReason reason, CancellationToken cancellationToken)
|
public void SaveUserData(Guid userId, BaseItem item, UserItemData userData, UserDataSaveReason reason, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var user = _userManager().GetUserById(userId);
|
var user = _userManager.GetUserById(userId);
|
||||||
|
|
||||||
SaveUserData(user, item, userData, reason, cancellationToken);
|
SaveUserData(user, item, userData, reason, cancellationToken);
|
||||||
}
|
}
|
||||||
@ -71,7 +70,7 @@ namespace Emby.Server.Implementations.Library
|
|||||||
|
|
||||||
foreach (var key in keys)
|
foreach (var key in keys)
|
||||||
{
|
{
|
||||||
Repository.SaveUserData(userId, key, userData, cancellationToken);
|
_repository.SaveUserData(userId, key, userData, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
var cacheKey = GetCacheKey(userId, item.Id);
|
var cacheKey = GetCacheKey(userId, item.Id);
|
||||||
@ -96,9 +95,9 @@ namespace Emby.Server.Implementations.Library
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public void SaveAllUserData(Guid userId, UserItemData[] userData, CancellationToken cancellationToken)
|
public void SaveAllUserData(Guid userId, UserItemData[] userData, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var user = _userManager().GetUserById(userId);
|
var user = _userManager.GetUserById(userId);
|
||||||
|
|
||||||
Repository.SaveAllUserData(user.InternalId, userData, cancellationToken);
|
_repository.SaveAllUserData(user.InternalId, userData, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -108,14 +107,14 @@ namespace Emby.Server.Implementations.Library
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public List<UserItemData> GetAllUserData(Guid userId)
|
public List<UserItemData> GetAllUserData(Guid userId)
|
||||||
{
|
{
|
||||||
var user = _userManager().GetUserById(userId);
|
var user = _userManager.GetUserById(userId);
|
||||||
|
|
||||||
return Repository.GetAllUserData(user.InternalId);
|
return _repository.GetAllUserData(user.InternalId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserItemData GetUserData(Guid userId, Guid itemId, List<string> keys)
|
public UserItemData GetUserData(Guid userId, Guid itemId, List<string> keys)
|
||||||
{
|
{
|
||||||
var user = _userManager().GetUserById(userId);
|
var user = _userManager.GetUserById(userId);
|
||||||
|
|
||||||
return GetUserData(user, itemId, keys);
|
return GetUserData(user, itemId, keys);
|
||||||
}
|
}
|
||||||
@ -131,7 +130,7 @@ namespace Emby.Server.Implementations.Library
|
|||||||
|
|
||||||
private UserItemData GetUserDataInternal(long internalUserId, List<string> keys)
|
private UserItemData GetUserDataInternal(long internalUserId, List<string> keys)
|
||||||
{
|
{
|
||||||
var userData = Repository.GetUserData(internalUserId, keys);
|
var userData = _repository.GetUserData(internalUserId, keys);
|
||||||
|
|
||||||
if (userData != null)
|
if (userData != null)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user