Resolves issue #609, Added validators and sanitizers for role creation and update #1033
+214
−16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes Issue #609
Summary
Added additional data validation and sanitization for role fields in POST and PUT requests
Important Changes
src/middleware/middleware.js
isFlatStringArray()
and sanitizertoUpperCaseArray()
src/controller/org.controller/index.js
Testing
Steps to manually test updated functionality, if possible:
POST /org/:shortname/user
- Confirm each of the follow values for theactive_roles
field fails with a 400 status, valid JSON response, and errorParameter must be a one-dimensional array of strings
[[ "ADMIN" ]]
{ "a": "ADMIN" }
[{ "a": "ADMIN" }]
PUT /org/:shortname/user
- Confirm the following query strings fail with the same error as above:active_roles.add[][a]=CNA
active_roles.add[][CNA]
POST /org
- Repeat the same process as the POST create user endpointPUT /org/:shortname
- Repeat the same process as the PUT update user endpointNotes