iliax 2 years ago
parent
commit
32403b5e37

+ 8 - 8
kafka-ui-api/src/main/java/com/provectus/kafka/ui/controller/MessagesController.java

@@ -83,17 +83,17 @@ public class MessagesController extends AbstractController implements MessagesAp
                                                                            String keySerde,
                                                                            String keySerde,
                                                                            String valueSerde,
                                                                            String valueSerde,
                                                                            ServerWebExchange exchange) {
                                                                            ServerWebExchange exchange) {
-    var context = AccessContext.builder()
+    var contextBuilder = AccessContext.builder()
         .cluster(clusterName)
         .cluster(clusterName)
         .topic(topicName)
         .topic(topicName)
         .topicActions(MESSAGES_READ)
         .topicActions(MESSAGES_READ)
-        .auditActions(
-            auditService.isAuditTopic(getCluster(clusterName), topicName)
-                ? new AuditAction[] {AuditAction.VIEW}
-                : new AuditAction[] {}
-        )
-        .auditOperation("getTopicMessages")
-        .build();
+        .auditOperation("getTopicMessages");
+
+    if (auditService.isAuditTopic(getCluster(clusterName), topicName)) {
+      contextBuilder.auditActions(AuditAction.VIEW);
+    }
+
+    var context = contextBuilder.build();
 
 
     seekType = seekType != null ? seekType : SeekTypeDTO.BEGINNING;
     seekType = seekType != null ? seekType : SeekTypeDTO.BEGINNING;
     seekDirection = seekDirection != null ? seekDirection : SeekDirectionDTO.FORWARD;
     seekDirection = seekDirection != null ? seekDirection : SeekDirectionDTO.FORWARD;

+ 1 - 0
kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/AccessContext.java

@@ -153,6 +153,7 @@ public class AccessContext {
     }
     }
 
 
     public AccessContextBuilder auditActions(AuditAction... actions) {
     public AccessContextBuilder auditActions(AuditAction... actions) {
+      Assert.isTrue(actions.length > 0, "actions not present");
       this.auditActions = List.of(actions);
       this.auditActions = List.of(actions);
       return this;
       return this;
     }
     }