Related to #6299 but somewhat of a bigger deal because using one endpoint can cause the other to give back a representation that can't be passed validly back to that same endpoint.
This Bug Report affects these Traffic Control components:
Current behavior:
The fields email and fullName are not allowed to be blank, missing, or null in PUT or POST requests to /users/{{ID}} and /users (respectively), but are allowed to be any of those things in PUT requests to /user/current. So you can put your user in a state where it can't be updated via PUT /users/{{ID}} without fixing pre-existing issues, which could cause problems in a situation where there isn't a human around to intervene.
Also, a PUT request to /user/current, because it incorrectly behaves more like a PATCH, doesn't require other fields - Role ID, username, and tenantID/tenantId whereas /users does. That's not as big a deal, though, because it leaves them unchanged when not specified.
Expected behavior:
Our users API should make sense
Steps to reproduce:
Edit yourself to have a null fullName, then try to update your addressLine1 using a PUT request to /users
Related to #6299 but somewhat of a bigger deal because using one endpoint can cause the other to give back a representation that can't be passed validly back to that same endpoint.
This Bug Report affects these Traffic Control components:
Current behavior:
The fields
emailandfullNameare not allowed to be blank, missing, ornullin PUT or POST requests to/users/{{ID}}and/users(respectively), but are allowed to be any of those things in PUT requests to/user/current. So you can put your user in a state where it can't be updated viaPUT /users/{{ID}}without fixing pre-existing issues, which could cause problems in a situation where there isn't a human around to intervene.Also, a PUT request to
/user/current, because it incorrectly behaves more like a PATCH, doesn't require other fields - Role ID, username, and tenantID/tenantId whereas/usersdoes. That's not as big a deal, though, because it leaves them unchanged when not specified.Expected behavior:
Our users API should make sense
Steps to reproduce:
Edit yourself to have a null fullName, then try to update your addressLine1 using a PUT request to
/users