/// <summary>
 /// Initializes a new instance of the <see cref="MigrateDisplayPreferencesDb"/> class.
 /// </summary>
 /// <param name="logger">The logger.</param>
 /// <param name="paths">The server application paths.</param>
 /// <param name="provider">The database provider.</param>
 public MigrateDisplayPreferencesDb(ILogger <MigrateDisplayPreferencesDb> logger, IServerApplicationPaths paths, JellyfinDbProvider provider)
 {
     _logger      = logger;
     _paths       = paths;
     _provider    = provider;
     _jsonOptions = new JsonSerializerOptions();
     _jsonOptions.Converters.Add(new JsonStringEnumConverter());
 }
示例#2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="OptimizeDatabaseTask" /> class.
 /// </summary>
 public OptimizeDatabaseTask(
     ILogger <OptimizeDatabaseTask> logger,
     ILocalizationManager localization,
     JellyfinDbProvider provider)
 {
     _logger       = logger;
     _localization = localization;
     _provider     = provider;
 }
 public AuthorizationContext(
     JellyfinDbProvider jellyfinDb,
     IUserManager userManager,
     IServerApplicationHost serverApplicationHost)
 {
     _jellyfinDbProvider    = jellyfinDb;
     _userManager           = userManager;
     _serverApplicationHost = serverApplicationHost;
 }
示例#4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MigrateUserDb"/> class.
 /// </summary>
 /// <param name="logger">The logger.</param>
 /// <param name="paths">The server application paths.</param>
 /// <param name="provider">The database provider.</param>
 /// <param name="xmlSerializer">The xml serializer.</param>
 public MigrateUserDb(
     ILogger <MigrateUserDb> logger,
     IServerApplicationPaths paths,
     JellyfinDbProvider provider,
     MyXmlSerializer xmlSerializer)
 {
     _logger        = logger;
     _paths         = paths;
     _provider      = provider;
     _xmlSerializer = xmlSerializer;
 }
示例#5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MigrateAuthenticationDb"/> class.
 /// </summary>
 /// <param name="logger">The logger.</param>
 /// <param name="dbProvider">The database provider.</param>
 /// <param name="appPaths">The server application paths.</param>
 /// <param name="userManager">The user manager.</param>
 public MigrateAuthenticationDb(
     ILogger <MigrateAuthenticationDb> logger,
     JellyfinDbProvider dbProvider,
     IServerApplicationPaths appPaths,
     IUserManager userManager)
 {
     _logger      = logger;
     _dbProvider  = dbProvider;
     _appPaths    = appPaths;
     _userManager = userManager;
 }
示例#6
0
 public UserManager(
     JellyfinDbProvider dbProvider,
     ICryptoProvider cryptoProvider,
     INetworkManager networkManager,
     IApplicationHost appHost,
     IImageProcessor imageProcessor,
     ILogger <UserManager> logger)
 {
     _dbProvider     = dbProvider;
     _cryptoProvider = cryptoProvider;
     _networkManager = networkManager;
     _appHost        = appHost;
     _imageProcessor = imageProcessor;
     _logger         = logger;
 }
示例#7
0
        public UserManager(
            JellyfinDbProvider dbProvider,
            ICryptoProvider cryptoProvider,
            INetworkManager networkManager,
            IApplicationHost appHost,
            IImageProcessor imageProcessor,
            ILogger <UserManager> logger)
        {
            _dbProvider     = dbProvider;
            _cryptoProvider = cryptoProvider;
            _networkManager = networkManager;
            _appHost        = appHost;
            _imageProcessor = imageProcessor;
            _logger         = logger;

            _passwordResetProviders  = appHost.GetExports <IPasswordResetProvider>();
            _authenticationProviders = appHost.GetExports <IAuthenticationProvider>();

            _invalidAuthProvider           = _authenticationProviders.OfType <InvalidAuthProvider>().First();
            _defaultAuthenticationProvider = _authenticationProviders.OfType <DefaultAuthenticationProvider>().First();
            _defaultPasswordResetProvider  = _passwordResetProviders.OfType <DefaultPasswordResetProvider>().First();
        }
示例#8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="UserManager"/> class.
        /// </summary>
        /// <param name="dbProvider">The database provider.</param>
        /// <param name="eventManager">The event manager.</param>
        /// <param name="cryptoProvider">The cryptography provider.</param>
        /// <param name="networkManager">The network manager.</param>
        /// <param name="appHost">The application host.</param>
        /// <param name="imageProcessor">The image processor.</param>
        /// <param name="logger">The logger.</param>
        public UserManager(
            JellyfinDbProvider dbProvider,
            IEventManager eventManager,
            ICryptoProvider cryptoProvider,
            INetworkManager networkManager,
            IApplicationHost appHost,
            IImageProcessor imageProcessor,
            ILogger <UserManager> logger)
        {
            _dbProvider     = dbProvider;
            _eventManager   = eventManager;
            _cryptoProvider = cryptoProvider;
            _networkManager = networkManager;
            _appHost        = appHost;
            _imageProcessor = imageProcessor;
            _logger         = logger;

            _passwordResetProviders  = appHost.GetExports <IPasswordResetProvider>();
            _authenticationProviders = appHost.GetExports <IAuthenticationProvider>();

            _invalidAuthProvider           = _authenticationProviders.OfType <InvalidAuthProvider>().First();
            _defaultAuthenticationProvider = _authenticationProviders.OfType <DefaultAuthenticationProvider>().First();
            _defaultPasswordResetProvider  = _passwordResetProviders.OfType <DefaultPasswordResetProvider>().First();

            _users = new ConcurrentDictionary <Guid, User>();
            using var dbContext = _dbProvider.CreateContext();
            foreach (var user in dbContext.Users
                     .Include(user => user.Permissions)
                     .Include(user => user.Preferences)
                     .Include(user => user.AccessSchedules)
                     .Include(user => user.ProfileImage)
                     .AsEnumerable())
            {
                _users.Add(user.Id, user);
            }
        }
示例#9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ActivityManager"/> class.
 /// </summary>
 /// <param name="provider">The Jellyfin database provider.</param>
 public ActivityManager(JellyfinDbProvider provider)
 {
     _provider = provider;
 }
示例#10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MigrateActivityLogDb"/> class.
 /// </summary>
 /// <param name="logger">The logger.</param>
 /// <param name="paths">The server application paths.</param>
 /// <param name="provider">The database provider.</param>
 public MigrateActivityLogDb(ILogger <MigrateActivityLogDb> logger, IServerApplicationPaths paths, JellyfinDbProvider provider)
 {
     _logger   = logger;
     _provider = provider;
     _paths    = paths;
 }
示例#11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AuthenticationManager"/> class.
 /// </summary>
 /// <param name="dbProvider">The database provider.</param>
 public AuthenticationManager(JellyfinDbProvider dbProvider)
 {
     _dbProvider = dbProvider;
 }
示例#12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MigrateAuthenticationDb"/> class.
 /// </summary>
 /// <param name="logger">The logger.</param>
 /// <param name="dbProvider">The database provider.</param>
 /// <param name="appPaths">The server application paths.</param>
 public MigrateAuthenticationDb(ILogger <MigrateAuthenticationDb> logger, JellyfinDbProvider dbProvider, IServerApplicationPaths appPaths)
 {
     _logger     = logger;
     _dbProvider = dbProvider;
     _appPaths   = appPaths;
 }
示例#13
0
 public AuthorizationContext(JellyfinDbProvider jellyfinDb, IUserManager userManager)
 {
     _jellyfinDbProvider = jellyfinDb;
     _userManager        = userManager;
 }
示例#14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DisplayPreferencesManager"/> class.
 /// </summary>
 /// <param name="dbProvider">The Jellyfin db provider.</param>
 public DisplayPreferencesManager(JellyfinDbProvider dbProvider)
 {
     _dbProvider = dbProvider;
 }