1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
unleash.unleash/packages/unleash-frontend/public/js/stores/FeatureToggleActions.js
2020-02-20 08:30:27 +01:00

75 lines
1.8 KiB
JavaScript

'use strict';
const Reflux = require('reflux');
const Server = require('./FeatureToggleServerFacade');
const 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((error, features) => {
if (error) {
this.failed(error);
} else {
this.completed(features);
}
});
});
FeatureToggleActions.initArchive.listen(function () {
Server.getArchivedFeatures((error, archivedToggles) => {
if (error) {
this.failed(error);
} else {
this.completed(archivedToggles);
}
});
});
FeatureToggleActions.create.listen(function (feature) {
Server.createFeature(feature, error => {
if (error) {
this.failed(error);
} else {
this.completed(feature);
}
});
});
FeatureToggleActions.update.listen(function (feature) {
Server.updateFeature(feature, error => {
if (error) {
this.failed(error);
} else {
this.completed(feature);
}
});
});
FeatureToggleActions.archive.listen(function (feature) {
Server.archiveFeature(feature, error => {
if (error) {
this.failed(error);
} else {
this.completed(feature);
}
});
});
FeatureToggleActions.revive.listen(function (feature) {
Server.reviveFeature(feature, error => {
if (error) {
this.failed(error);
} else {
this.completed(feature);
}
});
});
module.exports = FeatureToggleActions;