From 9079b3e8da3905e4fa6dafa883f14762498199ef Mon Sep 17 00:00:00 2001 From: dkanada Date: Sun, 30 Jun 2019 01:58:01 -0700 Subject: [PATCH] add optional password field on user creation --- MediaBrowser.Api/UserService.cs | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index 497800d263..fa70a52aaf 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -214,6 +214,9 @@ namespace MediaBrowser.Api { [ApiMember(Name = "Name", IsRequired = true, DataType = "string", ParameterType = "body", Verb = "POST")] public string Name { get; set; } + + [ApiMember(Name = "Password", IsRequired = false, DataType = "string", ParameterType = "body", Verb = "POST")] + public string Password { get; set; } } [Route("/Users/ForgotPassword", "POST", Summary = "Initiates the forgot password process for a local user")] @@ -406,7 +409,6 @@ namespace MediaBrowser.Api PasswordSha1 = request.Password, RemoteEndPoint = Request.RemoteIp, Username = request.Username - }).ConfigureAwait(false); return ToOptimizedResult(result); @@ -501,27 +503,21 @@ namespace MediaBrowser.Api } } - /// - /// Posts the specified request. - /// - /// The request. - /// System.Object. public async Task Post(CreateUserByName request) { - var dtoUser = request; + var newUser = await _userManager.CreateUser(request.Name).ConfigureAwait(false); - var newUser = await _userManager.CreateUser(dtoUser.Name).ConfigureAwait(false); + // no need to authenticate password for new user + if (request.Password != null) + { + await _userManager.ChangePassword(newUser, request.Password).ConfigureAwait(false); + } var result = _userManager.GetUserDto(newUser, Request.RemoteIp); return ToOptimizedResult(result); } - /// - /// Posts the specified request. - /// - /// The request. - /// System.Object. public async Task Post(ForgotPassword request) { var isLocal = Request.IsLocal || _networkManager.IsInLocalNetwork(Request.RemoteIp);