From 4f80b990b64a3a86da382bbe4a0b9485a3f52626 Mon Sep 17 00:00:00 2001 From: backdev-1 Date: Wed, 20 May 2026 17:12:08 +0700 Subject: [PATCH] add entity and controller for templates admin create --- .../ru/soune/nocopy/adminpanel/config/AppConfig.java | 4 +++- .../adminpanel/dto/AdminCreateTemplateRequest.java | 3 +++ .../adminpanel/dto/AdminCreateTemplateResponse.java | 3 +++ .../nocopy/adminpanel/entity/AdminCreateTemplate.java | 3 +++ .../adminpanel/handler/CreateAdminTemplateHandler.java | 8 +++++--- .../adminpanel/service/AdminCreateTemplateService.java | 9 +++++++-- 6 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/java/ru/soune/nocopy/adminpanel/config/AppConfig.java b/src/main/java/ru/soune/nocopy/adminpanel/config/AppConfig.java index d369206..ae859c5 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/config/AppConfig.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/config/AppConfig.java @@ -8,6 +8,7 @@ import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; import ru.soune.nocopy.adminpanel.handler.AdminUserHandler; +import ru.soune.nocopy.adminpanel.handler.CreateAdminTemplateHandler; import ru.soune.nocopy.adminpanel.handler.RequestHandler; import java.util.HashMap; @@ -34,9 +35,10 @@ public class AppConfig { } @Bean - public Map handlers(AdminUserHandler adminUserHandler) { + public Map handlers(AdminUserHandler adminUserHandler, CreateAdminTemplateHandler createAdminTemplateHandler) { Map map = new HashMap<>(); map.put(100, adminUserHandler); + map.put(200, createAdminTemplateHandler); return map; } diff --git a/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateRequest.java b/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateRequest.java index 141a2a7..d6cc955 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateRequest.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateRequest.java @@ -19,4 +19,7 @@ public class AdminCreateTemplateRequest { @JsonProperty("id") private Long id; + + @JsonProperty("name") + private String name; } 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 41a37a6..eae6e04 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateResponse.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/dto/AdminCreateTemplateResponse.java @@ -15,4 +15,7 @@ public class AdminCreateTemplateResponse { @JsonProperty("change_password") private Boolean changePassword; + + @JsonProperty("name") + private String name; } diff --git a/src/main/java/ru/soune/nocopy/adminpanel/entity/AdminCreateTemplate.java b/src/main/java/ru/soune/nocopy/adminpanel/entity/AdminCreateTemplate.java index 8a405ab..9cd5fe8 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/entity/AdminCreateTemplate.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/entity/AdminCreateTemplate.java @@ -21,4 +21,7 @@ public class AdminCreateTemplate { @Column(name = "change_password") Boolean changePassword; + + @Column(name = "name") + String name; } 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 34b12c6..0d3bf26 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/handler/CreateAdminTemplateHandler.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/handler/CreateAdminTemplateHandler.java @@ -84,7 +84,7 @@ public class CreateAdminTemplateHandler implements RequestHandler { AdminCreateTemplate adminTemplate = adminCreateTemplateService.updateCreateTemplate(node.toString(), changePassword, - adminCreateTemplateRequest.getId()); + adminCreateTemplateRequest.getId(), adminCreateTemplateRequest.getName()); if (adminTemplate == null) { return BaseResponse.builder() @@ -123,7 +123,8 @@ public class CreateAdminTemplateHandler implements RequestHandler { Boolean changePassword = adminCreateTemplateRequest.getChangePassword(); AdminCreateTemplate adminTemplate = - adminCreateTemplateService.createAdminTemplate(node.toString(), changePassword); + adminCreateTemplateService.createAdminTemplate(node.toString(), changePassword, + adminCreateTemplateRequest.getName()); return BaseResponse.builder() @@ -173,7 +174,7 @@ public class CreateAdminTemplateHandler implements RequestHandler { private BaseResponse handleInvalidAction(BaseRequest request, String action) { ActionResponse response = ActionResponse.builder() .action(action) - .availableActions(Arrays.asList("create", "update", "delete")) + .availableActions(Arrays.asList("create", "update", "delete", "get_all", "get_by_id")) .build(); return BaseResponse.builder() @@ -189,6 +190,7 @@ public class CreateAdminTemplateHandler implements RequestHandler { .id(adminTemplate.getId()) .changePassword(adminTemplate.getChangePassword()) .permissions(adminTemplate.getPermission()) + .name(adminTemplate.getName()) .build(); } } diff --git a/src/main/java/ru/soune/nocopy/adminpanel/service/AdminCreateTemplateService.java b/src/main/java/ru/soune/nocopy/adminpanel/service/AdminCreateTemplateService.java index 2598335..c996aec 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/service/AdminCreateTemplateService.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/service/AdminCreateTemplateService.java @@ -15,16 +15,17 @@ public class AdminCreateTemplateService { private final AdminCreateTemplateRepository adminCreateTemplateRepository; - public AdminCreateTemplate createAdminTemplate(String permissionsMap, Boolean changePassword) { + public AdminCreateTemplate createAdminTemplate(String permissionsMap, Boolean changePassword, String name) { AdminCreateTemplate adminCreateTemplate = AdminCreateTemplate.builder() .permission(permissionsMap) .changePassword(changePassword) + .name(name) .build(); return adminCreateTemplateRepository.save(adminCreateTemplate); } - public AdminCreateTemplate updateCreateTemplate(String permissionsMap, Boolean changePassword, Long id) { + public AdminCreateTemplate updateCreateTemplate(String permissionsMap, Boolean changePassword, Long id, String name) { AdminCreateTemplate adminCreateTemplate = adminCreateTemplateRepository.findById(id).orElse(null); if (adminCreateTemplate == null) { @@ -39,6 +40,10 @@ public class AdminCreateTemplateService { adminCreateTemplate.setChangePassword(changePassword); } + if (name != null) { + adminCreateTemplate.setName(name); + } + return adminCreateTemplateRepository.save(adminCreateTemplate); }