Skip to content

Commit 22a5053

Browse files
iliaxiliax
andauthored
BE: RBAC: Wizard: Fix enums mapping (#278)
Co-authored-by: iliax <ilya.kuramshin@almatech.dev>
1 parent a774ab9 commit 22a5053

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

api/src/main/java/io/kafbat/ui/controller/ApplicationConfigController.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import io.kafbat.ui.api.ApplicationConfigApi;
77
import io.kafbat.ui.config.ClustersProperties;
8+
import io.kafbat.ui.model.ActionDTO;
89
import io.kafbat.ui.model.ApplicationConfigDTO;
910
import io.kafbat.ui.model.ApplicationConfigPropertiesDTO;
1011
import io.kafbat.ui.model.ApplicationConfigValidationDTO;
@@ -18,6 +19,7 @@
1819
import io.kafbat.ui.util.ApplicationRestarter;
1920
import io.kafbat.ui.util.DynamicConfigOperations;
2021
import java.util.Map;
22+
import java.util.Optional;
2123
import javax.annotation.Nullable;
2224
import lombok.RequiredArgsConstructor;
2325
import lombok.extern.slf4j.Slf4j;
@@ -46,6 +48,12 @@ interface PropertiesMapper {
4648
DynamicConfigOperations.PropertiesStructure fromDto(ApplicationConfigPropertiesDTO dto);
4749

4850
ApplicationConfigPropertiesDTO toDto(DynamicConfigOperations.PropertiesStructure propertiesStructure);
51+
52+
default ActionDTO stringToActionDto(String str) {
53+
return Optional.ofNullable(str)
54+
.map(s -> Enum.valueOf(ActionDTO.class, s.toUpperCase()))
55+
.orElseThrow();
56+
}
4957
}
5058

5159
private final DynamicConfigOperations dynamicConfigOperations;
@@ -75,7 +83,7 @@ public Mono<ResponseEntity<ApplicationConfigDTO>> getCurrentConfig(ServerWebExch
7583
@Override
7684
public Mono<ResponseEntity<Void>> restartWithConfig(Mono<RestartRequestDTO> restartRequestDto,
7785
ServerWebExchange exchange) {
78-
var context = AccessContext.builder()
86+
var context = AccessContext.builder()
7987
.applicationConfigActions(EDIT)
8088
.operationName("restartWithConfig")
8189
.build();

api/src/main/java/io/kafbat/ui/model/rbac/Permission.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static org.apache.commons.collections.CollectionUtils.isNotEmpty;
44

55
import com.google.common.base.Preconditions;
6+
import io.kafbat.ui.model.ActionDTO;
67
import io.kafbat.ui.model.rbac.permission.PermissibleAction;
78
import java.util.List;
89
import java.util.regex.Pattern;
@@ -50,7 +51,7 @@ public void transform() {
5051
if (value != null) {
5152
this.compiledValuePattern = Pattern.compile(value);
5253
}
53-
if (actions.stream().anyMatch("ALL"::equalsIgnoreCase)) {
54+
if (actions.stream().anyMatch(ActionDTO.ALL.name()::equalsIgnoreCase)) {
5455
this.parsedActions = resource.allActions();
5556
} else {
5657
this.parsedActions = resource.parseActionsWithDependantsUnnest(actions);

contract/src/main/resources/swagger/kafbat-ui-api.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3821,6 +3821,7 @@ components:
38213821
Action:
38223822
type: string
38233823
enum:
3824+
- ALL
38243825
- VIEW
38253826
- EDIT
38263827
- CREATE

0 commit comments

Comments
 (0)