diff --git a/unleash-server/lib/strategyApi.js b/unleash-server/lib/strategyApi.js new file mode 100644 index 0000000000..4f5e365f9f --- /dev/null +++ b/unleash-server/lib/strategyApi.js @@ -0,0 +1,37 @@ +var strategies = [ + {name: "default"}, + { + name: "activeForUsers", + configurationTemplate: { + userNames: "String" + } + } +]; + +function byName(name) { + return strategies.filter(function(s) { + return s.name === name; + })[0]; +} + +module.exports = function (app) { + + app.get('/strategies', function (req, res) { + res.json({features: strategies}); + }); + + app.get('/strategies/:name', function (req, res) { + var strategy = byName(req.params.name); + if (strategy) { + res.json(strategy); + } else { + res.json(404, {error: 'Could not find strategy'}); + } + }); + + app.post('/strategies', function (req, res) { + res.json(500, {error: 'Not implemented yet'}); + }); + +}; + diff --git a/unleash-server/server.js b/unleash-server/server.js index 3c27567ecf..3e00034bdb 100644 --- a/unleash-server/server.js +++ b/unleash-server/server.js @@ -5,6 +5,7 @@ var express = require('express'), routes = require('./lib/routes'), eventApi = require('./lib/eventApi'), featureApi = require('./lib/featureApi'), + strategyApi = require('./lib/strategyApi'), validator = require('express-validator'), app = express(), router = express.Router(), @@ -35,6 +36,7 @@ app.use(bodyParser.json({strict: false})); eventApi(router); featureApi(router); +strategyApi(router); routes(router); app.use(baseUriPath, router);