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



##########
File path: airflow/api_connexion/schemas/user_schema.py
##########
@@ -33,11 +33,11 @@ class Meta:
         model = User
         dateformat = "iso"
 
-    first_name = auto_field()
-    last_name = auto_field()
-    username = auto_field()
+    first_name = auto_field(required=True)

Review comment:
       ```suggestion
       first_name = auto_field()
   ```

##########
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:
+            raise AlreadyExists(detail=f"The username `{new_username}` already 
exists")
+
+    # Check unique email
+    email = data.get('email')
+    if email:
+        usr = security_manager.find_user(email=email)
+        if usr and usr != user:
+            raise AlreadyExists(detail=f"The email `{email}` already exists")

Review comment:
       Unfortunately, min length means required in OPENAPI Doc




-- 
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: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to