Create settings for slack/email

This commit is contained in:
2017-03-04 18:35:27 +00:00
parent e3fd086792
commit 98ed3a970f
11 changed files with 168 additions and 23 deletions

View File

@@ -23,6 +23,7 @@ import routes from './routes';
import assets from './assets'; // eslint-disable-line import/no-unresolved
import { port, auth, starters, mains, rsvpEndDate } from './config';
import Person from './data/models/Person';
import Settings from './data/models/Settings';
import Rollbar from './core/rollbar';
import { sendSlackMsg, sendSlackMsgWithDebounce } from './core/slack';
import sequelize from './data/sequelize';
@@ -318,6 +319,29 @@ app.post('/admin/people/import', (req, res, next) => {
}
});
app.post('/admin/settings', (req, res, next) => {
try {
Settings.destroy({ where: {} }).then(() => {
const settings = {
slack: !!req.body.slack,
email: !!req.body.email,
};
Settings.create(settings).then(() => {
res.redirect(201, '/admin');
}).catch(err => {
Rollbar.handleError(err);
next(err);
});
}).catch(err => {
Rollbar.handleError(err);
next(err);
});
} catch (err) {
Rollbar.handleError(err);
next(err);
}
});
//
// Register server-side rendering middleware