pomodoro/server/config/error-handler.js
Linus Miller 47ce0a2a33 Huge commit
- Update all deps
 - Apply midwest changes
 - Convert all templates to JSX
 - Preact instead of Marko
 - Babel & Eslint
2016-11-10 14:34:44 +01:00

59 lines
1.0 KiB
JavaScript

'use strict';
const _ = require('lodash');
const errorTemplate = require('../../build/error.jsx');
const defaults = {
post: (req, res, next) => {
res.template = errorTemplate;
next();
},
mystify: {
properties: ['errors', 'message', 'name', 'status', 'statusText'],
},
log: {
// if database = true there has to be a mongoose model name ErrorModel
ignore: [],
},
};
const ErrorModel = require('midwest-service-errors/model');
function store(error) {
ErrorModel.create(error, (err) => {
// TODO handle errors in error handler better
if (err) {
console.error('ERROR WRITING TO DATABASE');
console.error(err);
console.error(err.errors);
console.error('ORIGINAL ERROR');
console.error(error);
}
});
}
module.exports = _.merge(defaults, {
development: {
log: {
store,
console: true,
},
},
testing: {
log: {
store: false,
console: false,
},
},
production: {
log: {
store,
console: false,
},
},
}[ENV]);