var logger = require('./logger'); var eventStore = require('./eventStore'); var eventType = require('./eventType'); var featureDb = require('./featureDb'); var ValidationError = require('./error/ValidationError'); var validateRequest = require('./error/validateRequest'); module.exports = function (app) { app.get('/archive/features', function (req, res) { featureDb.getArchivedFeatures().then(function (archivedFeatures) { res.json({ 'features': archivedFeatures }); }); }); app.post('/archive/revive', function (req, res) { req.checkBody('name', 'Name is required').notEmpty(); validateRequest(req) .then(function() { return eventStore.create({ type: eventType.featureRevived, createdBy: req.connection.remoteAddress, data: req.body }); }).then(function() { res.status(200).end(); }).catch(ValidationError, function() { res.status(400).json(req.validationErrors()); }) .catch(function(err) { logger.error("Could not revive feature toggle", err); res.status(500).end(); }); }); };