aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJxiced <mangonation420@gmail.com>2025-02-23 22:16:35 +0000
committerJxiced <mangonation420@gmail.com>2025-02-23 22:16:35 +0000
commite7bc86ebb8496615e0b3f73eb4f13ab4c0913dc8 (patch)
tree6075fb78cec1b92e47561d610f29c82d0dedf9d1
parent7aa96dfc202db23fba7b402bd17d4854f9249d27 (diff)
Move throw into interface to use in wizard, check for null and invalid username.
-rw-r--r--Jellyfin.Api/Controllers/StartupController.cs9
-rw-r--r--Jellyfin.Server.Implementations/Users/UserManager.cs7
-rw-r--r--MediaBrowser.Controller/Library/IUserManager.cs6
3 files changed, 13 insertions, 9 deletions
diff --git a/Jellyfin.Api/Controllers/StartupController.cs b/Jellyfin.Api/Controllers/StartupController.cs
index a6bc84311..b3b900ceb 100644
--- a/Jellyfin.Api/Controllers/StartupController.cs
+++ b/Jellyfin.Api/Controllers/StartupController.cs
@@ -1,3 +1,4 @@
+using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
@@ -130,16 +131,16 @@ public class StartupController : BaseJellyfinApiController
[ProducesResponseType(StatusCodes.Status204NoContent)]
public async Task<ActionResult> UpdateStartupUser([FromBody] StartupUserDto startupUserDto)
{
+ ArgumentNullException.ThrowIfNull(startupUserDto.Name);
+ _userManager.ThrowIfInvalidUsername(startupUserDto.Name);
+
var user = _userManager.Users.First();
if (string.IsNullOrWhiteSpace(startupUserDto.Password))
{
return BadRequest("Password must not be empty");
}
- if (startupUserDto.Name is not null)
- {
- user.Username = startupUserDto.Name;
- }
+ user.Username = startupUserDto.Name;
await _userManager.UpdateUserAsync(user).ConfigureAwait(false);
diff --git a/Jellyfin.Server.Implementations/Users/UserManager.cs b/Jellyfin.Server.Implementations/Users/UserManager.cs
index 91cf9c972..5a11fadc5 100644
--- a/Jellyfin.Server.Implementations/Users/UserManager.cs
+++ b/Jellyfin.Server.Implementations/Users/UserManager.cs
@@ -176,10 +176,6 @@ namespace Jellyfin.Server.Implementations.Users
/// <inheritdoc/>
public async Task UpdateUserAsync(User user)
{
- ArgumentNullException.ThrowIfNull(user);
-
- ThrowIfInvalidUsername(user.Username);
-
var dbContext = await _dbProvider.CreateDbContextAsync().ConfigureAwait(false);
await using (dbContext.ConfigureAwait(false))
{
@@ -737,7 +733,8 @@ namespace Jellyfin.Server.Implementations.Users
_users[user.Id] = user;
}
- internal static void ThrowIfInvalidUsername(string name)
+ /// <inheritdoc/>
+ public void ThrowIfInvalidUsername(string name)
{
if (!string.IsNullOrWhiteSpace(name) && ValidUsernameRegex().IsMatch(name))
{
diff --git a/MediaBrowser.Controller/Library/IUserManager.cs b/MediaBrowser.Controller/Library/IUserManager.cs
index 1c115be85..a4bd0f69e 100644
--- a/MediaBrowser.Controller/Library/IUserManager.cs
+++ b/MediaBrowser.Controller/Library/IUserManager.cs
@@ -34,6 +34,12 @@ namespace MediaBrowser.Controller.Library
IEnumerable<Guid> UsersIds { get; }
/// <summary>
+ /// Checks if the user's username is valid.
+ /// </summary>
+ /// <param name="name">The user's username.</param>
+ void ThrowIfInvalidUsername(string name);
+
+ /// <summary>
/// Initializes the user manager and ensures that a user exists.
/// </summary>
/// <returns>Awaitable task.</returns>