main.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. const express = require('express');
  2. const pjson = require('../package.json');
  3. const error = require('../lib/error');
  4. let router = express.Router({
  5. caseSensitive: true,
  6. strict: true,
  7. mergeParams: true
  8. });
  9. /**
  10. * Health Check
  11. * GET /api
  12. */
  13. router.get('/', (req, res/*, next*/) => {
  14. let version = pjson.version.split('-').shift().split('.');
  15. res.status(200).send({
  16. status: 'OK',
  17. version: {
  18. major: parseInt(version.shift(), 10),
  19. minor: parseInt(version.shift(), 10),
  20. revision: parseInt(version.shift(), 10)
  21. }
  22. });
  23. });
  24. router.use('/schema', require('./schema'));
  25. router.use('/tokens', require('./tokens'));
  26. router.use('/users', require('./users'));
  27. router.use('/audit-log', require('./audit-log'));
  28. router.use('/reports', require('./reports'));
  29. router.use('/settings', require('./settings'));
  30. router.use('/nginx/proxy-hosts', require('./nginx/proxy_hosts'));
  31. router.use('/nginx/redirection-hosts', require('./nginx/redirection_hosts'));
  32. router.use('/nginx/dead-hosts', require('./nginx/dead_hosts'));
  33. router.use('/nginx/streams', require('./nginx/streams'));
  34. router.use('/nginx/access-lists', require('./nginx/access_lists'));
  35. router.use('/nginx/certificates', require('./nginx/certificates'));
  36. /**
  37. * API 404 for all other routes
  38. *
  39. * ALL /api/*
  40. */
  41. router.all(/(.+)/, function (req, _, next) {
  42. req.params.page = req.params['0'];
  43. next(new error.ItemNotFoundError(req.params.page));
  44. });
  45. module.exports = router;