topics.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. 'use strict'
  2. const topics = require('../mocks/topics');
  3. const topicDetails = require('../mocks/topicDetails');
  4. const topicConfig = require('../mocks/topicConfig');
  5. module.exports = function (fastify, opts, next) {
  6. fastify
  7. .get('/clusters/:clusterId/topics', function (request, reply) {
  8. reply.send(topics[request.params.clusterId]);
  9. })
  10. .get('/clusters/:clusterId/topics/:topicId', function (request, reply) {
  11. reply.send(topicDetails);
  12. })
  13. .get('/clusters/:clusterId/topics/:topicId/config', function (request, reply) {
  14. reply.send(topicConfig);
  15. })
  16. .post('/clusters/:clusterId/topics', function (request, reply) {
  17. /* Payload
  18. {
  19. "name":"AlphaNumeric-String_with,and.",
  20. "partitions":"1",
  21. "replicationFactor":"1",
  22. "configs": {
  23. "retention.ms": "604800000",
  24. "retention.bytes": "-1",
  25. "max.message.bytes":"1000012",
  26. "min.insync.replicas":"1"
  27. }
  28. }
  29. */
  30. reply.code(201).send();
  31. });
  32. next();
  33. }