Example
const responseHelper = require('@mimik/response-helper');
Clean a mongoose object
Kind: inner method of responseHelper
Returns: object
- The clean Mongoose object or the object if null or not an array of Object or not an Object.
Category: sync
Param | Type | Description |
---|---|---|
mObj | object |
Mongoose object to clean. If null or not an Array of Object or not an Object return mObj. |
properties | array |
Properties to remove from the object. Top level only. If null or not an Array the defautl ['_id, '__v'] will be used. |
responseHelper~sendError(error, response, otherErrorStatusCode, swaggerOptions, logLevel, parameters) ⇒
The error has the following format:
{
"statusCode": "http code for the response",
"title": "http title associated with the http code",
"message": "error.message or `no error message` if the error does not exist",
"info": "information contains in the error if the error is not an Error",
"error": "extra information associated with the error if error is an Error"
}
The swagger options object has the following properties:
{
"swagger": {
"method": "method of the request",
"path": "path of the request",
"operationId": "operation defined for that route"
},
"correlationId": "correlationId including in the header of the request if present otherwise UUID"
}
The parameters object has the following optional properties:
{
"rfc": "to indicate the error need to be in rfc format and could be in the error itself, if present the value is 7807",
"headers": "object with propertied that need to be added to the header of the response"
}
If an error of statusCode abouve 500 is to be sent, and if logger is enable but not set, a error level log will be generated, otherwise a warning level log will be generated.
Kind: inner method of responseHelper
Returns: null
.
Category: sync
Requires: module:@mimik/sumologic-winston-logger
Param | Type | Description |
---|---|---|
error | object |
The error to include in the response. |
response | object |
The http response object. |
otherErrorStatusCode | number |
StatusCode overriding the statusCode of the error to associated with the response. |
swaggerOptions | object |
Object containing the swagger values to be used to setup the error. |
logLevel | string |
To indicate if the response will be logged on not (false or undefined or invalid will indicate that the log is done with error level). If set to true , will indicate that no log should be done. |
parameters | object |
Parameters to add or configure the response |
If the result contains a data fields the response is sent as is, otherwise the result is encapsulated under data
property.
The swagger options object has the following properties:
{
"swagger": {
"method": "method of the request",
"path": "path of the request",
"operationId": "operation defined for that route"
},
"correlationId": "correlationId including in the header of the request if present otherwise UUID"
}
The parameters object has the following optional properties:
{
"notTouch": "to indicate the error need to be in rfc format and could be in the error itself, if present the value is 7807",
"headers": "object with properties that need to be added to the header of the response",
"cleanUp": array of string describing the property to remov at the top level of the object in data",
}
Kind: inner method of responseHelper
Returns: null
.
Category: sync
Requires: module:@mimik/sumologic-winston-logger
, module:@mimik/lib-filters
Param | Type | Description |
---|---|---|
result | object |
Actual result to be send. |
statusCode | number |
Http statusCode to send as part of the response. |
response | object |
The http response object. |
swaggerOptions | object |
Object containing the values to be passed. |
logLevel | string |
To indicate if the response will be logged on not (false or undefined or invalid will indicate that the log is done with error level). If set to true , will indicate that no log should be done. |
parameters | object |
Paramters to add or configure the response |
Create a rich error.
Kind: inner method of responseHelper
Returns: object
- The rich error.
{
"name": "name of the error",
"info": "info of the error",
"cause": "encapsulated error",
"message": "message of the error"
}
Category: sync
Requires: module:@mimik/sumologic-winston-logger
Param | Type | Description |
---|---|---|
val | object |
If it is a string it represents the name of the error, if it is a number it represents the code of the error (e.g. 400, 500, ....). Invalid string or number will result to a 500 Internal Error title. |
message | string |
Message to associated with the error. |
info | object |
Info as a JSON object to associate to the error. |
err | object |
Error to encapsulate in the created error as a cause. |
logLevel | string |
Indicates if the error needs to be log at creation with a specific level. If logLevel is false a error log will be created with `error`` level. |
correlationId | string |
CorrelationId to be added to the log when log is enabled. |