var Reflux = require("reflux"); var Server = require('./FeatureToggleServerFacade'); var FeatureToggleActions = Reflux.createActions({ 'init': { asyncResult: true }, 'initArchive': { asyncResult: true }, 'create': { asyncResult: true }, 'update': { asyncResult: true }, 'archive': { asyncResult: true }, 'revive': { asyncResult: true } }); FeatureToggleActions.init.listen(function() { Server.getFeatures(function(error, features) { if (error) { this.failed(error); } else { this.completed(features); } }.bind(this)); }); FeatureToggleActions.initArchive.listen(function() { Server.getArchivedFeatures(function(error, archivedToggles) { if (error) { this.failed(error); } else { this.completed(archivedToggles); } }.bind(this)); }); FeatureToggleActions.create.listen(function(feature) { Server.createFeature(feature, function(error) { if (error) { this.failed(error); } else { this.completed(feature); } }.bind(this)); }); FeatureToggleActions.update.listen(function(feature) { Server.updateFeature(feature, function(error) { if (error) { this.failed(error); } else { this.completed(feature); } }.bind(this)); }); FeatureToggleActions.archive.listen(function(feature) { Server.archiveFeature(feature, function(error) { if (error) { this.failed(error); } else { this.completed(feature); } }.bind(this)); }); FeatureToggleActions.revive.listen(function(feature) { Server.reviveFeature(feature, function(error) { if (error) { this.failed(error); } else { this.completed(feature); } }.bind(this)); }); module.exports = FeatureToggleActions;