ephraimbuddy commented on a change in pull request #18757:
URL: https://github.com/apache/airflow/pull/18757#discussion_r722966808



##########
File path: airflow/api_connexion/endpoints/user_endpoint.py
##########
@@ -124,9 +124,21 @@ def patch_user(username, update_mask=None):
     if user is None:
         detail = f"The User with username `{username}` was not found"
         raise NotFound(title="User not found", detail=detail)
-
-    # Get fields to update. 'username' is always excluded (and it's an error to
-    # include it in update_maek).
+    # Check unique username
+    new_username = data.get('username')
+    if new_username:
+        usr = security_manager.find_user(username=new_username)
+        if usr and usr != user:

Review comment:
       This is for a case of changing usernames. The `user` is from endpoint 
URL and the `usr` is from the patch data.
   If the two are equal, it means that `username` is in data and also in `url` 
but not changing. However, if they are not equal, and the username from data 
exists in DB, then we should not add the username because it's in use




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to