added forbidden error and message logic

This commit is contained in:
Pau 2025-04-02 19:06:23 +02:00
parent 9f15b06632
commit a3ecace384
1 changed files with 18 additions and 7 deletions

View File

@ -1,26 +1,30 @@
const errorHandler = (err, environment) => {
const errorHandler = (err, environment, message) => {
// no stacktraces leaked to user
const responseJson = {}
console.error(err)
switch (err.code) {
case 'ER_DUP_ENTRY':
responseJson.message = 'Conflict'
responseJson.message = message || 'Conflict'
responseJson.code = 409
break
case 'BAD_REQUEST':
responseJson.message = 'Bad Request'
responseJson.message = message || 'Bad Request'
responseJson.code = 400
break
case 'FORBIDDEN':
responseJson.message = message || 'Forbidden'
responseJson.code = 403
break
case 'NOT_FOUND':
responseJson.message = 'Not Found'
responseJson.message = message || 'Not Found'
responseJson.code = 404
break
case 'UNPROCESSABLE_ENTITY':
responseJson.message = 'Unprocessable Entity'
responseJson.message = message || 'Unprocessable Entity'
responseJson.code = 422
break
default:
responseJson.message = 'Server Error'
responseJson.message = message || 'Server Error'
responseJson.code = 500
break
}
@ -33,6 +37,13 @@ const errorHandler = (err, environment) => {
return responseJson
}
const error403 = () => {
const err = new Error('Forbidden')
err.code = 'FORBIDDEN'
err.status = 403
return err
}
const error404 = () => {
const err = new Error('Not Found')
err.code = 'NOT_FOUND'
@ -47,4 +58,4 @@ const error422 = (message = 'Unprocessable Entity') => {
return err
}
export { error404, error422, errorHandler }
export { error403, error404, error422, errorHandler }