This repository has been archived by the owner on Jun 30, 2021. It is now read-only.
Fix various /*.get
endpoints returning error 500 when not provided with id
#773
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.
Issue/Task Number: #755
Closes #755
Overview
This PR adds input handling for when
id
is not provided to various/*.get
endpoints.Changes
handle_error(conn, :missing_id)
orhandle_error(conn, :invalid_parameter, _)
to missing controller fallbacks.Implementation Details
Some older code seems to be missing a fallback for when
id
is not provided.Note that there are still some inconsistency in how error messages are returned. Some endpoints would return simply
"Invalid parameter provided."
, while some others would return"Invalid parameter provided. `id` is required."
But these inconsistencies are a cosmetic issue, since providers should not be parsing the plaintext description and there are a lot of places that can be improved. Will open a separate ticket for this.
Usage
Try, for example,
/account.get_wallets
without providing an id. It should return a proper error response. E.g.Impact
No changes to the API specs or DB schema.