reports.js 689 B

1234567891011121314151617181920212223242526272829303132
  1. import express from "express";
  2. import internalReport from "../internal/report.js";
  3. import jwtdecode from "../lib/express/jwt-decode.js";
  4. import { express as logger } from "../logger.js";
  5. const router = express.Router({
  6. caseSensitive: true,
  7. strict: true,
  8. mergeParams: true,
  9. });
  10. router
  11. .route("/hosts")
  12. .options((_, res) => {
  13. res.sendStatus(204);
  14. })
  15. .all(jwtdecode())
  16. /**
  17. * GET /reports/hosts
  18. */
  19. .get(async (req, res, next) => {
  20. try {
  21. const data = await internalReport.getHostsReport(res.locals.access);
  22. res.status(200).send(data);
  23. } catch (err) {
  24. logger.debug(`${req.method.toUpperCase()} ${req.path}: ${err}`);
  25. next(err);
  26. }
  27. });
  28. export default router;