add entity and controller for templates admin create

This commit is contained in:
2026-05-20 17:20:35 +07:00
parent 4f80b990b6
commit ee30b90641
2 changed files with 15 additions and 2 deletions
@@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import java.util.Map;
@Data @Data
@Builder @Builder
public class AdminCreateTemplateResponse { public class AdminCreateTemplateResponse {
@@ -11,7 +13,7 @@ public class AdminCreateTemplateResponse {
private Long id; private Long id;
@JsonProperty("permissions") @JsonProperty("permissions")
private String permissions; private Map<String, Integer> permissions;
@JsonProperty("change_password") @JsonProperty("change_password")
private Boolean changePassword; private Boolean changePassword;
@@ -1,5 +1,6 @@
package ru.soune.nocopy.adminpanel.handler; package ru.soune.nocopy.adminpanel.handler;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@@ -186,10 +187,20 @@ public class CreateAdminTemplateHandler implements RequestHandler {
} }
private AdminCreateTemplateResponse convertToResponse(AdminCreateTemplate adminTemplate) { private AdminCreateTemplateResponse convertToResponse(AdminCreateTemplate adminTemplate) {
Map<String, Integer> permissionsMap = null;
try {
permissionsMap = objectMapper.readValue(
adminTemplate.getPermission(),
new TypeReference<Map<String, Integer>>() {}
);
} catch (Exception e) {
log.error("Failed to parse permissions", e);
}
return AdminCreateTemplateResponse.builder() return AdminCreateTemplateResponse.builder()
.id(adminTemplate.getId()) .id(adminTemplate.getId())
.changePassword(adminTemplate.getChangePassword()) .changePassword(adminTemplate.getChangePassword())
.permissions(adminTemplate.getPermission()) .permissions(permissionsMap)
.name(adminTemplate.getName()) .name(adminTemplate.getName())
.build(); .build();
} }