errhandler-rca 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/errorHandler.js +24 -24
  2. package/package.json +1 -1
package/errorHandler.js CHANGED
@@ -1,38 +1,38 @@
1
- const { CommandSucceededEvent } = require("mongodb");
2
-
3
1
  const errorHandler = (err, req, res, next) => {
4
- console.error(err.stack);
2
+ // Default values
3
+ let statusCode = err.statusCode || 500;
4
+ let message = err.message || 'Server Error';
5
+
6
+ // Log error only in development
7
+ if (process.env.NODE_ENV !== 'production') {
8
+ console.error(err);
9
+ }
5
10
 
6
- //Mongoose Validational error
11
+ // Mongoose Validation Error
7
12
  if (err.name === 'ValidationError') {
8
- const message = Object.values(err.errors).map(e => e.message);
9
- return res.status(400).json({
10
- success: false,
11
- error: message.join(', ')
12
- })
13
+ statusCode = 400;
14
+ message = Object.values(err.errors)
15
+ .map(error => error.message)
16
+ .join(', ');
13
17
  }
14
18
 
15
- //Mongoose Bad objectId
19
+ // Mongoose CastError (Invalid ObjectId)
16
20
  if (err.name === 'CastError') {
17
- return res.status(404).json({
18
- success: false,
19
- error: 'Resource Not Found'
20
- })
21
+ statusCode = 404;
22
+ message = 'Resource not found';
21
23
  }
22
24
 
23
- //Mongoose Duplicate key(Handling Duplicated Keys)
25
+ // MongoDB Duplicate Key Error
24
26
  if (err.code === 11000) {
25
- return res.status(400).json({
26
- success: false,
27
- error: 'Duplicated Field Value Entered'
28
- })
27
+ statusCode = 400;
28
+ const field = Object.keys(err.keyValue)[0];
29
+ message = `${field} already exists`;
29
30
  }
30
31
 
31
- //Handling a default erro
32
- res.status(err.statusCode || 500).json({
32
+ res.status(statusCode).json({
33
33
  success: false,
34
- error: err.message || 'Server Error'
35
- })
34
+ error: message
35
+ });
36
36
  };
37
37
 
38
- module.exports = errorHandler
38
+ module.exports = errorHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "errhandler-rca",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "this package will help people handle errors when using Nodejs to use in thier backend systems",
5
5
  "main": "errorHandler.js",
6
6
  "scripts": {