Please check if your PR fulfills the following requirements:
[X] Make sure you are requesting to pull a topic/feature/bugfix branch (right side). Don't request your master!
[X] Make sure you are making a pull request against the develop branch (left side). Also you should start your branch off our develop.
[X] Check the commit's or even all commits' message styles matches our requested structure.
[X] Check your code additions will fail neither code linting checks nor unit test.
Pull request type
Please check the type of change your PR introduces:
[ ] Bugfix
[X] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):
What is the current behavior?
Most errors are swallowed and just say "check logs". Error status is returned via "statusCode" parameter that isn't used anywhere.
What is the new behavior?
Don't return with "statusCode" and "body" anymore. I thought this would change the status code of the lambda response, but that only works with API Gateway, which we don't use anymore. With boto3, Lambda will always return 200 unless there was a specific error with the Lambda service (e.g. hit concurrency limit).
Instead, return correct JSEND response. Status should be "fail" if there was a validation error, and "error" if there was an exception while processing.
Validate all layers exist in the query and propagate query parse errors with status "fail" and a useful message for debugging.
Propagate errors for parallelized lambdas by returning a "detail" field in the status DynamoDB table.
Pull request checklist
Please check if your PR fulfills the following requirements:
Pull request type
Please check the type of change your PR introduces:
What is the current behavior?
Most errors are swallowed and just say "check logs". Error status is returned via "statusCode" parameter that isn't used anywhere.
What is the new behavior?
Does this introduce a breaking change?