mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'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;
 |