Improve Prisma client error code to HTTP status code mapping
#384 aperta il 7 dic 2021
Metriche repository
- Star
- (4229 star)
- Metriche merge PR
- (Merge medio 2g 16h) (85 PR mergiate in 30 g)
Descrizione
When saving things to the database with Prisma, many things can potentially go wrong. We need to indicate them to clients in ways that are actionable when they can correct them (e.g., status code 422 on bad input), or otherwise when they cannot (e.g., status code 500 when things are really wrong on backend).
We currently have a basic helper in place [waspc/data/Generator/templates/server/src/utils.js] that can check if an Error is a Prisma client error, and convert it to an HttpError. It is used during the sign up flow [waspc/data/Generator/templates/server/src/routes/auth/signup.js]. However, the mapping is incomplete. We need to thoroughly review https://www.prisma.io/docs/reference/api-reference/error-reference and determine what HTTP status code/message we should send from the controller to the frontend in each case.
This may also require refactoring the existing helpers, and allowing more flexible uses.