diff --git a/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateResponse.java b/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateResponse.java index eae6e04..1a1aaed 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateResponse.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateResponse.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Builder; import lombok.Data; +import java.util.Map; + @Data @Builder public class AdminCreateTemplateResponse { @@ -11,7 +13,7 @@ public class AdminCreateTemplateResponse { private Long id; @JsonProperty("permissions") - private String permissions; + private Map permissions; @JsonProperty("change_password") private Boolean changePassword; diff --git a/src/main/java/ru/soune/nocopy/adminpanel/handler/CreateAdminTemplateHandler.java b/src/main/java/ru/soune/nocopy/adminpanel/handler/CreateAdminTemplateHandler.java index 0d3bf26..25e3310 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/handler/CreateAdminTemplateHandler.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/handler/CreateAdminTemplateHandler.java @@ -1,5 +1,6 @@ package ru.soune.nocopy.adminpanel.handler; +import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.RequiredArgsConstructor; @@ -186,10 +187,20 @@ public class CreateAdminTemplateHandler implements RequestHandler { } private AdminCreateTemplateResponse convertToResponse(AdminCreateTemplate adminTemplate) { + Map permissionsMap = null; + try { + permissionsMap = objectMapper.readValue( + adminTemplate.getPermission(), + new TypeReference>() {} + ); + } catch (Exception e) { + log.error("Failed to parse permissions", e); + } + return AdminCreateTemplateResponse.builder() .id(adminTemplate.getId()) .changePassword(adminTemplate.getChangePassword()) - .permissions(adminTemplate.getPermission()) + .permissions(permissionsMap) .name(adminTemplate.getName()) .build(); }