/* Catch Errors Handler With async/await, you need some way to catch errors Instead of using try{} catch(e) {} in each controller, we wrap the function in catchErrors(), catch and errors they throw, and pass it along to our express middleware with next() */ exports.catchErrors = (fn) => { return function (req, res, next) { return fn(req, res, next).catch(next) } }