2018-06-19 18:47:26 -04:00
|
|
|
const express = require('express');
|
2020-02-18 23:55:06 -05:00
|
|
|
const pjson = require('../../package.json');
|
2018-06-25 21:56:10 -04:00
|
|
|
const error = require('../../lib/error');
|
2018-06-19 18:47:26 -04:00
|
|
|
|
|
|
|
let router = express.Router({
|
2020-02-18 23:55:06 -05:00
|
|
|
caseSensitive: true,
|
|
|
|
strict: true,
|
|
|
|
mergeParams: true
|
2018-06-19 18:47:26 -04:00
|
|
|
});
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Health Check
|
|
|
|
* GET /api
|
|
|
|
*/
|
|
|
|
router.get('/', (req, res/*, next*/) => {
|
2020-02-18 23:55:06 -05:00
|
|
|
let version = pjson.version.split('-').shift().split('.');
|
2018-06-19 18:47:26 -04:00
|
|
|
|
2020-02-18 23:55:06 -05:00
|
|
|
res.status(200).send({
|
|
|
|
status: 'OK',
|
|
|
|
version: {
|
|
|
|
major: parseInt(version.shift(), 10),
|
|
|
|
minor: parseInt(version.shift(), 10),
|
|
|
|
revision: parseInt(version.shift(), 10)
|
|
|
|
}
|
|
|
|
});
|
2018-06-19 18:47:26 -04:00
|
|
|
});
|
|
|
|
|
2020-02-18 23:55:06 -05:00
|
|
|
router.use('/schema', require('./schema'));
|
2018-06-19 18:47:26 -04:00
|
|
|
router.use('/tokens', require('./tokens'));
|
|
|
|
router.use('/users', require('./users'));
|
2018-07-16 03:00:52 -04:00
|
|
|
router.use('/audit-log', require('./audit-log'));
|
2018-06-25 21:56:10 -04:00
|
|
|
router.use('/reports', require('./reports'));
|
2019-03-04 06:19:36 -05:00
|
|
|
router.use('/settings', require('./settings'));
|
2018-07-08 21:22:10 -04:00
|
|
|
router.use('/nginx/proxy-hosts', require('./nginx/proxy_hosts'));
|
|
|
|
router.use('/nginx/redirection-hosts', require('./nginx/redirection_hosts'));
|
|
|
|
router.use('/nginx/dead-hosts', require('./nginx/dead_hosts'));
|
|
|
|
router.use('/nginx/streams', require('./nginx/streams'));
|
2018-07-24 02:56:39 -04:00
|
|
|
router.use('/nginx/access-lists', require('./nginx/access_lists'));
|
2018-08-02 05:48:47 -04:00
|
|
|
router.use('/nginx/certificates', require('./nginx/certificates'));
|
2018-06-25 21:56:10 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* API 404 for all other routes
|
|
|
|
*
|
|
|
|
* ALL /api/*
|
|
|
|
*/
|
|
|
|
router.all(/(.+)/, function (req, res, next) {
|
2020-02-18 23:55:06 -05:00
|
|
|
req.params.page = req.params['0'];
|
|
|
|
next(new error.ItemNotFoundError(req.params.page));
|
2018-06-25 21:56:10 -04:00
|
|
|
});
|
2018-06-19 18:47:26 -04:00
|
|
|
|
|
|
|
module.exports = router;
|