index.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const jsonServer = require('json-server');
  2. const clusters = require('./payload/clusters.json');
  3. const brokers = require('./payload/brokers.json');
  4. const brokerMetrics = require('./payload/brokerMetrics.json');
  5. const topics = require('./payload/topics.json');
  6. const topicDetails = require('./payload/topicDetails.json');
  7. const topicConfigs = require('./payload/topicConfigs.json');
  8. const db = {
  9. clusters,
  10. brokers,
  11. brokerMetrics: brokerMetrics.map(({clusterName, ...rest}) => ({...rest, id: clusterName})),
  12. topics: topics.map((topic) => ({...topic, id: topic.name})),
  13. topicDetails,
  14. topicConfigs,
  15. };
  16. const server = jsonServer.create();
  17. const router = jsonServer.router(db);
  18. const middlewares = jsonServer.defaults();
  19. const PORT = 3004;
  20. const DELAY = 0;
  21. server.use(middlewares);
  22. server.use((_req, _res, next) => {
  23. setTimeout(next, DELAY);
  24. });
  25. server.use(
  26. jsonServer.rewriter({
  27. '/api/*': '/$1',
  28. '/clusters/:clusterName/metrics/broker': '/brokerMetrics/:clusterName',
  29. '/clusters/:clusterName/topics/:id': '/topicDetails',
  30. '/clusters/:clusterName/topics/:id/config': '/topicConfigs',
  31. })
  32. );
  33. server.use(router);
  34. server.listen(PORT, () => {
  35. console.log('JSON Server is running');
  36. });