瀏覽代碼

add optional password field on user creation

dkanada 6 年之前
父節點
當前提交
9079b3e8da
共有 1 個文件被更改,包括 9 次插入13 次删除
  1. 9 13
      MediaBrowser.Api/UserService.cs

+ 9 - 13
MediaBrowser.Api/UserService.cs

@@ -214,6 +214,9 @@ namespace MediaBrowser.Api
     {
     {
         [ApiMember(Name = "Name", IsRequired = true, DataType = "string", ParameterType = "body", Verb = "POST")]
         [ApiMember(Name = "Name", IsRequired = true, DataType = "string", ParameterType = "body", Verb = "POST")]
         public string Name { get; set; }
         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")]
     [Route("/Users/ForgotPassword", "POST", Summary = "Initiates the forgot password process for a local user")]
@@ -406,7 +409,6 @@ namespace MediaBrowser.Api
                 PasswordSha1 = request.Password,
                 PasswordSha1 = request.Password,
                 RemoteEndPoint = Request.RemoteIp,
                 RemoteEndPoint = Request.RemoteIp,
                 Username = request.Username
                 Username = request.Username
-
             }).ConfigureAwait(false);
             }).ConfigureAwait(false);
 
 
             return ToOptimizedResult(result);
             return ToOptimizedResult(result);
@@ -501,27 +503,21 @@ namespace MediaBrowser.Api
             }
             }
         }
         }
 
 
-        /// <summary>
-        /// Posts the specified request.
-        /// </summary>
-        /// <param name="request">The request.</param>
-        /// <returns>System.Object.</returns>
         public async Task<object> Post(CreateUserByName request)
         public async Task<object> 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);
             var result = _userManager.GetUserDto(newUser, Request.RemoteIp);
 
 
             return ToOptimizedResult(result);
             return ToOptimizedResult(result);
         }
         }
 
 
-        /// <summary>
-        /// Posts the specified request.
-        /// </summary>
-        /// <param name="request">The request.</param>
-        /// <returns>System.Object.</returns>
         public async Task<object> Post(ForgotPassword request)
         public async Task<object> Post(ForgotPassword request)
         {
         {
             var isLocal = Request.IsLocal || _networkManager.IsInLocalNetwork(Request.RemoteIp);
             var isLocal = Request.IsLocal || _networkManager.IsInLocalNetwork(Request.RemoteIp);