1.0.0 • Published 9 months ago
@smarterservices/sequelize-middleware v1.0.0
Sequelize Middleware
Introduction
This module is used to format the error and send user defined error in response.
Installation
Requirements
Install Process
- Clone project into your working directory.
- Open a
terminal
in your projectroot directory
. - Run
npm install
to install necessary dependencies.
Configuration
- In your project directory, under
config/errors
subdirectory, list errors indefined-erros.json
in following structure
{
"JOI": {
"ERROR_NAME": {
"code": "4000",
"message": "Joi related error message"
}
},
"ERROR_NAME": {
"code": "6000",
"message": "The error message to attach"
}
}
All joi related errors will be listed under JOI
object and other general errors will be listed as shown in the structure.
In your project directory, go to
config
subdirectory and modify the following things in configuration file (i.edefault.json
).- Set
url
to attach additional url in Response Set
printError
to true if you want to print error from moduleFor example, your configuration may look like as follows:
{ "errorResponse": { "url": "https://www.smarterservices.com/errors/", "printError": false } }
- Set
## Running Application/Code
* require module from anywhere
* use `formatError` to format the error
const errorResponse = require('error-response');
const options = { values: { approvalSid: 'AP...', installSid: 'AI...' } }; const error = errorResponse.formatError('APPROVAL_NOT_FOUND_UNDER_INSTALL', options);
To generate the above error, the error object should be as follows
```JSON
{
"APPROVAL_NOT_FOUND_UNDER_INSTALL": {
"code": "6001",
"message": "approval '%approvalSid%' not found under '%installSid%'",
"status": 404
}
}
- Here
approvalSid
will be replaced by the given inoptions
object. - Default
statusCode
is 400, passing status in error object will override the defaultstatusCode
. - It also expose
errorResponse.failAction
to wrapjoi
related error.
Running Locally
n/a
Running in Production
n/a
External Dependencies
n/a
Deployment
- n/a
Cronjobs
- n/a