### Apache Airflow version

2.2.0b2 (beta snapshot)

### Operating System

Debian buster

### Versions of Apache Airflow Providers

_No response_

### Deployment

Astronomer

### Deployment details

Astro dev start

### What happened

Unable to change username while updating user information through API though it's possible from UI.

### What you expected to happen

Either username should not be editable from UI or It should be editable from API.

### How to reproduce

1. Use a patch request with the below URL.
`{{url}}/users/{{username}}`
2. In payload use a different username
```
 {
        "username": "{{username1}}",
        "password": "password1",
        "email": "{{email}}@example.com",
        "first_name": "{{$randomFirstName}}",
        "last_name": "{{$randomLastName}}",
        "roles":[{ "name": "Op"}]
}
```


### Anything else

_No response_

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

tests/api_connexion/endpoints/test_user_endpoint.py
response = self.client.get("/api/v1/users/invalid-user", environ_overrides={'REMOTE_USER': "test"})
        assert response.status_code == 404
        assert {
            'detail': "The User with username `invalid-user` was not found",
            'status': 404,
            'title': 'User not found',
            'type': EXCEPTIONS_LINK_MAP[404],
        } == response.json
    def test_should_raises_401_unauthenticated(self):
        response = self.client.get("/api/v1/users/TEST_USER1")
        assert_401(response)
    def test_should_raise_403_forbidden(self):
        response = self.client.get(
            "/api/v1/users/TEST_USER1", environ_overrides={'REMOTE_USER': "test_no_permissions"}
        )
        assert response.status_code == 403
class TestGetUsers(TestUserEndpoint):
    def test_should_response_200(self):
        response = self.client.get("/api/v1/users", environ_overrides={'REMOTE_USER': "test"})
        assert response.status_code == 200
        assert response.json["total_entries"] == 2
        usernames = [user["username"] for user in response.json["users"] if user]
        assert usernames == ['test', 'test_no_permissions']
    def test_should_raises_401_unauthenticated(self):
        response = self.client.get("/api/v1/users")
        assert_401(response)
    def test_should_raise_403_forbidden(self):
        response = self.client.get("/api/v1/users", environ_overrides={'REMOTE_USER': "test_no_permissions"})
        assert response.status_code == 403
class TestGetUsersPagination(TestUserEndpoint):