-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathmanager.router.js
More file actions
36 lines (31 loc) · 996 Bytes
/
manager.router.js
File metadata and controls
36 lines (31 loc) · 996 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
const express = require('express');
const router = express.Router();
const splitValidator = require('../utils/inputValidation/split');
const managerController = require('./manager.controller');
const { parseValidators } = require('../utils/utils');
/**
* featureFlagValidation performs input validation for manager call
* @param {object} req
* @param {object} res
* @param {function} next
*/
const featureFlagValidation = (req, res, next) => {
const featureFlagNameValidation = splitValidator(req.query['split-name']);
const error = parseValidators([featureFlagNameValidation]);
if (error.length) {
return res
.status(400)
.send({
error,
});
} else {
req.splitio = {
featureFlagName: featureFlagNameValidation.value,
};
}
next();
};
router.get('/split', featureFlagValidation, managerController.split);
router.get('/splits', managerController.splits);
router.get('/names', managerController.splitNames);
module.exports = router;