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