Skip to content

Commit 40aadc4

Browse files
committed
middleware: global error handler + validator
1 parent aa5cb22 commit 40aadc4

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

middleware/global_error_handler.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export const globalErrorHandler = (err, req, res, next) => {
2+
let error = err.message;
3+
let code = err.statuscode || 500;
4+
process.env.MODE == "dev"
5+
? res.status(code).json({ error, stack: err.stack })
6+
: res.status(code).json({ error });
7+
};

middleware/validation.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
export const validate = (schema) => {
2+
return (req, res, next) => {
3+
4+
let errors = []
5+
const { error } = schema.validate(
6+
{
7+
...req.body,
8+
...req.params,
9+
...req.query,
10+
},
11+
{ abortEarly: false }
12+
);
13+
14+
console.log(error);
15+
if (error) {
16+
error.details.forEach((ele) => {
17+
res.json({ message: ele.message, field: ele.path[0] })
18+
});
19+
console.log(errors);
20+
res.json(errors);
21+
} else {
22+
next()
23+
}
24+
};
25+
};

0 commit comments

Comments
 (0)