-
Notifications
You must be signed in to change notification settings - Fork 351
User properties are only required sometimes #6776
Description
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:
- Traffic Ops
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