'use strict'; const reqwest = require('reqwest'); const TYPE = 'json'; const CONTENT_TYPE = 'application/json'; const FeatureToggleServerFacade = { updateFeature (feature, cb) { reqwest({ url: `features/${feature.name}`, method: 'put', type: TYPE, contentType: CONTENT_TYPE, data: JSON.stringify(feature), error (error) { cb(error); }, success () { cb(); }, }); }, createFeature (feature, cb) { reqwest({ url: 'features', method: 'post', type: TYPE, contentType: CONTENT_TYPE, data: JSON.stringify(feature), error (error) { cb(error); }, success () { cb(); }, }); }, archiveFeature (feature, cb) { reqwest({ url: `features/${feature.name}`, method: 'delete', type: TYPE, error (error) { cb(error); }, success () { cb(); }, }); }, getFeatures (cb) { reqwest({ url: 'features', method: 'get', type: TYPE, error (error) { cb(error); }, success (data) { cb(null, data.features); }, }); }, getArchivedFeatures (cb) { reqwest({ url: 'archive/features', method: 'get', type: TYPE, error (error) { cb(error); }, success (data) { cb(null, data.features); }, }); }, reviveFeature (feature, cb) { reqwest({ url: 'archive/revive', method: 'post', type: TYPE, contentType: CONTENT_TYPE, data: JSON.stringify(feature), error (error) { cb(error); }, success () { cb(); }, }); }, }; module.exports = FeatureToggleServerFacade;