mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-31 14:33:54 -04:00
Fix startup wizard.
This commit is contained in:
parent
ce737c31ec
commit
d105bc728d
@ -95,6 +95,8 @@ namespace Jellyfin.Api.Controllers
|
|||||||
[HttpGet("User")]
|
[HttpGet("User")]
|
||||||
public StartupUserDto GetFirstUser()
|
public StartupUserDto GetFirstUser()
|
||||||
{
|
{
|
||||||
|
// TODO: Remove this method when startup wizard no longer requires an existing user.
|
||||||
|
_userManager.Initialize();
|
||||||
var user = _userManager.Users.First();
|
var user = _userManager.Users.First();
|
||||||
return new StartupUserDto
|
return new StartupUserDto
|
||||||
{
|
{
|
||||||
@ -115,7 +117,7 @@ namespace Jellyfin.Api.Controllers
|
|||||||
|
|
||||||
user.Username = startupUserDto.Name;
|
user.Username = startupUserDto.Name;
|
||||||
|
|
||||||
_userManager.UpdateUser(user);
|
await _userManager.UpdateUserAsync(user).ConfigureAwait(false);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(startupUserDto.Password))
|
if (!string.IsNullOrEmpty(startupUserDto.Password))
|
||||||
{
|
{
|
||||||
|
@ -520,6 +520,39 @@ namespace Jellyfin.Server.Implementations.Users
|
|||||||
_defaultPasswordResetProvider = _passwordResetProviders.OfType<DefaultPasswordResetProvider>().First();
|
_defaultPasswordResetProvider = _passwordResetProviders.OfType<DefaultPasswordResetProvider>().First();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public void Initialize()
|
||||||
|
{
|
||||||
|
// TODO: Refactor the startup wizard so that it doesn't require a user to already exist.
|
||||||
|
var dbContext = _dbProvider.CreateContext();
|
||||||
|
|
||||||
|
if (dbContext.Users.Any())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var defaultName = Environment.UserName;
|
||||||
|
if (string.IsNullOrWhiteSpace(defaultName))
|
||||||
|
{
|
||||||
|
defaultName = "MyJellyfinUser";
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.LogWarning("No users, creating one with username {UserName}", defaultName);
|
||||||
|
|
||||||
|
if (!IsValidUsername(defaultName))
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Provided username is not valid!", defaultName);
|
||||||
|
}
|
||||||
|
|
||||||
|
var newUser = CreateUser(defaultName);
|
||||||
|
newUser.SetPermission(PermissionKind.IsAdministrator, true);
|
||||||
|
newUser.SetPermission(PermissionKind.EnableContentDeletion, true);
|
||||||
|
newUser.SetPermission(PermissionKind.EnableRemoteControlOfOtherUsers, true);
|
||||||
|
|
||||||
|
dbContext.Users.Add(newUser);
|
||||||
|
dbContext.SaveChanges();
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public NameIdPair[] GetAuthenticationProviders()
|
public NameIdPair[] GetAuthenticationProviders()
|
||||||
{
|
{
|
||||||
|
@ -52,6 +52,11 @@ namespace MediaBrowser.Controller.Library
|
|||||||
/// <value>The users ids.</value>
|
/// <value>The users ids.</value>
|
||||||
IEnumerable<Guid> UsersIds { get; }
|
IEnumerable<Guid> UsersIds { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes the user manager and ensures that a user exists.
|
||||||
|
/// </summary>
|
||||||
|
void Initialize();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a user by Id.
|
/// Gets a user by Id.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user