MetricsRestController.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.provectus.kafka.ui.rest;
  2. import com.provectus.kafka.ui.api.ApiClustersApi;
  3. import com.provectus.kafka.ui.cluster.service.ClusterService;
  4. import com.provectus.kafka.ui.model.*;
  5. import lombok.RequiredArgsConstructor;
  6. import org.springframework.http.ResponseEntity;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import org.springframework.web.server.ServerWebExchange;
  9. import reactor.core.publisher.Flux;
  10. import reactor.core.publisher.Mono;
  11. import javax.validation.Valid;
  12. import java.util.ArrayList;
  13. @RestController
  14. @RequiredArgsConstructor
  15. public class MetricsRestController implements ApiClustersApi {
  16. private final ClusterService clusterService;
  17. @Override
  18. public Mono<ResponseEntity<Flux<Cluster>>> getClusters(ServerWebExchange exchange) {
  19. return clusterService.getClusters();
  20. }
  21. @Override
  22. public Mono<ResponseEntity<BrokersMetrics>> getBrokersMetrics(String clusterId, ServerWebExchange exchange) {
  23. return clusterService.getBrokersMetrics(clusterId);
  24. }
  25. @Override
  26. public Mono<ResponseEntity<Flux<Topic>>> getTopics(String clusterId, ServerWebExchange exchange) {
  27. return clusterService.getTopics(clusterId);
  28. }
  29. @Override
  30. public Mono<ResponseEntity<TopicDetails>> getTopicDetails(String clusterId, String topicName, ServerWebExchange exchange) {
  31. return clusterService.getTopicDetails(clusterId, topicName);
  32. }
  33. @Override
  34. public Mono<ResponseEntity<Flux<TopicConfig>>> getTopicConfigs(String clusterId, String topicName, ServerWebExchange exchange) {
  35. return clusterService.getTopicConfigs(clusterId, topicName);
  36. }
  37. @Override
  38. public Mono<ResponseEntity<Topic>> createTopic(String clusterId, @Valid Mono<TopicFormData> topicFormData, ServerWebExchange exchange) {
  39. return clusterService.createTopic(clusterId, topicFormData);
  40. }
  41. @Override
  42. public Mono<ResponseEntity<Flux<Broker>>> getBrokers(String clusterId, ServerWebExchange exchange) {
  43. return Mono.just(ResponseEntity.ok(Flux.fromIterable(new ArrayList<>())));
  44. }
  45. }