mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
Move mock feature data behind a naive db interface.
This commit is contained in:
parent
b77112d948
commit
f7fb65329c
@ -1,40 +1,36 @@
|
|||||||
var featuresMock = require('./featuresMock');
|
var db = require('./db');
|
||||||
|
|
||||||
function getFeature(name) {
|
|
||||||
var featureFound;
|
|
||||||
featuresMock.forEach(function (feature) {
|
|
||||||
if (feature.name === name) {
|
|
||||||
featureFound = feature;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return featureFound;
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = function (app) {
|
module.exports = function (app) {
|
||||||
|
|
||||||
app.get('/features', function (req, res) {
|
app.get('/features', function (req, res) {
|
||||||
res.json(featuresMock);
|
db.getFeatures().then(function (features) {
|
||||||
|
res.json(features);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/features/:id', function (req, res) {
|
app.get('/features/:id', function (req, res) {
|
||||||
var feature = getFeature(req.params.id);
|
db.getFeature.then(function (feature) {
|
||||||
|
if (feature) {
|
||||||
if (feature) {
|
res.json(feature);
|
||||||
res.json(feature);
|
} else {
|
||||||
} else {
|
res.json(404, {error: 'Could not find feature'});
|
||||||
res.json(404, {error: 'Could not find feature'});
|
}
|
||||||
}
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
app.post('/features', function (req, res) {
|
app.post('/features', function (req, res) {
|
||||||
var newFeature = req.body;
|
var newFeature = req.body;
|
||||||
|
|
||||||
if (!getFeature(newFeature.name)) {
|
db.getFeature(newFeature.name).then(function (feature) {
|
||||||
featuresMock.push(newFeature);
|
if (feature) {
|
||||||
res.status(201).end();
|
res.status(500).end();
|
||||||
} else {
|
} else {
|
||||||
res.status(500).end();
|
db.addFeature(newFeature).then(function () {
|
||||||
}
|
res.status(201).end();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
|
28
unleash-server/lib/db.js
Normal file
28
unleash-server/lib/db.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
var Promise = require('bluebird');
|
||||||
|
var featuresMock = require('./featuresMock');
|
||||||
|
|
||||||
|
function getFeature(name) {
|
||||||
|
var featureFound;
|
||||||
|
featuresMock.forEach(function (feature) {
|
||||||
|
if (feature.name === name) {
|
||||||
|
featureFound = feature;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return Promise.resolve(featureFound);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFeatures() {
|
||||||
|
return Promise.resolve(featuresMock);
|
||||||
|
}
|
||||||
|
|
||||||
|
function addFeature(feature) {
|
||||||
|
featuresMock.push(feature);
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
getFeature: getFeature,
|
||||||
|
getFeatures: getFeatures,
|
||||||
|
addFeature: addFeature
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user