From ee30b90641b18fb69935819495593aad8a7e71e5 Mon Sep 17 00:00:00 2001 From: backdev-1 Date: Wed, 20 May 2026 17:20:35 +0700 Subject: [PATCH] add entity and controller for templates admin create --- .../adminpanel/dto/AdminCreateTemplateResponse.java | 4 +++- .../handler/CreateAdminTemplateHandler.java | 13 ++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) 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(); }