2016-11-10 14:26:24 +01:00
|
|
|
import { throwIfNotSuccess, headers } from './helper';
|
|
|
|
|
2016-11-10 16:09:48 +01:00
|
|
|
const URI = '/api/features';
|
|
|
|
const URI_VALIDATE = '/api/features-validate';
|
2016-11-10 14:26:24 +01:00
|
|
|
|
|
|
|
function fetchAll () {
|
|
|
|
return fetch(URI)
|
|
|
|
.then(throwIfNotSuccess)
|
|
|
|
.then(response => response.json());
|
|
|
|
}
|
|
|
|
|
|
|
|
function create (featureToggle) {
|
|
|
|
return fetch(URI, {
|
|
|
|
method: 'POST',
|
|
|
|
headers,
|
|
|
|
body: JSON.stringify(featureToggle),
|
|
|
|
}).then(throwIfNotSuccess);
|
|
|
|
}
|
|
|
|
|
|
|
|
function validate (featureToggle) {
|
|
|
|
return fetch(URI_VALIDATE, {
|
|
|
|
method: 'POST',
|
|
|
|
headers,
|
|
|
|
body: JSON.stringify(featureToggle),
|
|
|
|
}).then(throwIfNotSuccess);
|
|
|
|
}
|
|
|
|
|
|
|
|
function update (featureToggle) {
|
|
|
|
return fetch(`${URI}/${featureToggle.name}`, {
|
|
|
|
method: 'PUT',
|
|
|
|
headers,
|
|
|
|
body: JSON.stringify(featureToggle),
|
|
|
|
}).then(throwIfNotSuccess);
|
|
|
|
}
|
|
|
|
|
|
|
|
function remove (featureToggleName) {
|
|
|
|
return fetch(`${URI}/${featureToggleName}`, {
|
|
|
|
method: 'DELETE',
|
|
|
|
}).then(throwIfNotSuccess);
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
fetchAll,
|
|
|
|
create,
|
|
|
|
validate,
|
|
|
|
update,
|
|
|
|
remove,
|
|
|
|
};
|