@@ -1,4 +1,5 @@
#pragma warning disable CA1307
#nullable enable
#pragma warning disable CA1307
using System ;
using System.Collections.Generic ;
@@ -37,11 +38,11 @@ namespace Jellyfin.Server.Implementations.Users
private readonly IImageProcessor _imageProcessor ;
private readonly ILogger < UserManager > _logger ;
private IAuthenticationProvider [ ] _authenticationProviders ;
private DefaultAuthenticationProvider _defaultAuthenticationProvider ;
private InvalidAuthProvider _invalidAuthProvider ;
private IPasswordResetProvider [ ] _passwordResetProviders ;
private DefaultPasswordResetProvider _defaultPasswordResetProvider ;
private IAuthenticationProvider [ ] _authenticationProviders = null ! ;
private DefaultAuthenticationProvider _defaultAuthenticationProvider = null ! ;
private InvalidAuthProvider _invalidAuthProvider = null ! ;
private IPasswordResetProvider [ ] _passwordResetProviders = null ! ;
private DefaultPasswordResetProvider _defaultPasswordResetProvider = null ! ;
/// <summary>
/// Initializes a new instance of the <see cref="UserManager"/> class.
@@ -69,19 +70,19 @@ namespace Jellyfin.Server.Implementations.Users
}
/// <inheritdoc/>
public event EventHandler < GenericEventArgs < User > > OnUserPasswordChanged ;
public event EventHandler < GenericEventArgs < User > > ? OnUserPasswordChanged ;
/// <inheritdoc/>
public event EventHandler < GenericEventArgs < User > > OnUserUpdated ;
public event EventHandler < GenericEventArgs < User > > ? OnUserUpdated ;
/// <inheritdoc/>
public event EventHandler < GenericEventArgs < User > > OnUserCreated ;
public event EventHandler < GenericEventArgs < User > > ? OnUserCreated ;
/// <inheritdoc/>
public event EventHandler < GenericEventArgs < User > > OnUserDeleted ;
public event EventHandler < GenericEventArgs < User > > ? OnUserDeleted ;
/// <inheritdoc/>
public event EventHandler < GenericEventArgs < User > > OnUserLockedOut ;
public event EventHandler < GenericEventArgs < User > > ? OnUserLockedOut ;
/// <inheritdoc/>
public IEnumerable < User > Users = > _dbProvider . CreateContext ( ) . Users ;
@@ -90,7 +91,7 @@ namespace Jellyfin.Server.Implementations.Users
public IEnumerable < Guid > UsersIds = > _dbProvider . CreateContext ( ) . Users . Select ( u = > u . Id ) ;
/// <inheritdoc/>
public User GetUserById ( Guid id )
public User ? GetUserById ( Guid id )
{
if ( id = = Guid . Empty )
{
@@ -101,7 +102,7 @@ namespace Jellyfin.Server.Implementations.Users
}
/// <inheritdoc/>
public User GetUserByName ( string name )
public User ? GetUserByName ( string name )
{
if ( string . IsNullOrWhiteSpace ( name ) )
{
@@ -260,7 +261,7 @@ namespace Jellyfin.Server.Implementations.Users
}
/// <inheritdoc/>
public void ChangeEasyPassword ( User user , string newPassword , string newPasswordSha1 )
public void ChangeEasyPassword ( User user , string newPassword , string? newPasswordSha1 )
{
GetAuthenticationProvider ( user ) . ChangeEasyPassword ( user , newPassword , newPasswordSha1 ) ;
UpdateUser ( user ) ;
@@ -269,7 +270,7 @@ namespace Jellyfin.Server.Implementations.Users
}
/// <inheritdoc/>
public UserDto GetUserDto ( User user , string remoteEndPoint = null )
public UserDto GetUserDto ( User user , string? remoteEndPoint = null )
{
var hasPassword = GetAuthenticationProvider ( user ) . HasPassword ( user ) ;
return new UserDto
@@ -344,7 +345,7 @@ namespace Jellyfin.Server.Implementations.Users
}
/// <inheritdoc/>
public async Task < User > AuthenticateUser (
public async Task < User ? > AuthenticateUser (
string username ,
string password ,
string passwordSha1 ,
@@ -359,7 +360,7 @@ namespace Jellyfin.Server.Implementations.Users
var user = Users . ToList ( ) . FirstOrDefault ( i = > string . Equals ( username , i . Username , StringComparison . OrdinalIgnoreCase ) ) ;
bool success ;
IAuthenticationProvider authenticationProvider ;
IAuthenticationProvider ? authenticationProvider ;
if ( user ! = null )
{
@@ -651,7 +652,7 @@ namespace Jellyfin.Server.Implementations.Users
return GetPasswordResetProviders ( user ) [ 0 ] ;
}
private IList < IAuthenticationProvider > GetAuthenticationProviders ( User user )
private IList < IAuthenticationProvider > GetAuthenticationProviders ( User ? user )
{
var authenticationProviderId = user ? . AuthenticationProviderId ;
@@ -701,14 +702,14 @@ namespace Jellyfin.Server.Implementations.Users
return providers ;
}
private async Task < ( IAuthenticationProvider authenticationProvider , string username , bool success ) > AuthenticateLocalUser (
private async Task < ( IAuthenticationProvider ? authenticationProvider , string username , bool success ) > AuthenticateLocalUser (
string username ,
string password ,
User user ,
User ? user ,
string remoteEndPoint )
{
bool success = false ;
IAuthenticationProvider authenticationProvider = null ;
IAuthenticationProvider ? authenticationProvider = null ;
foreach ( var provider in GetAuthenticationProviders ( user ) )
{
@@ -746,7 +747,7 @@ namespace Jellyfin.Server.Implementations.Users
IAuthenticationProvider provider ,
string username ,
string password ,
User resolvedUser )
User ? resolvedUser )
{
try
{