add entity and controller for templates admin create

This commit is contained in:
2026-05-20 17:12:08 +07:00
parent 0d5d61b9be
commit 4f80b990b6
6 changed files with 24 additions and 6 deletions
@@ -8,6 +8,7 @@ import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter; import org.springframework.web.filter.CorsFilter;
import ru.soune.nocopy.adminpanel.handler.AdminUserHandler; import ru.soune.nocopy.adminpanel.handler.AdminUserHandler;
import ru.soune.nocopy.adminpanel.handler.CreateAdminTemplateHandler;
import ru.soune.nocopy.adminpanel.handler.RequestHandler; import ru.soune.nocopy.adminpanel.handler.RequestHandler;
import java.util.HashMap; import java.util.HashMap;
@@ -34,9 +35,10 @@ public class AppConfig {
} }
@Bean @Bean
public Map<Integer, RequestHandler> handlers(AdminUserHandler adminUserHandler) { public Map<Integer, RequestHandler> handlers(AdminUserHandler adminUserHandler, CreateAdminTemplateHandler createAdminTemplateHandler) {
Map<Integer, RequestHandler> map = new HashMap<>(); Map<Integer, RequestHandler> map = new HashMap<>();
map.put(100, adminUserHandler); map.put(100, adminUserHandler);
map.put(200, createAdminTemplateHandler);
return map; return map;
} }
@@ -19,4 +19,7 @@ public class AdminCreateTemplateRequest {
@JsonProperty("id") @JsonProperty("id")
private Long id; private Long id;
@JsonProperty("name")
private String name;
} }
@@ -15,4 +15,7 @@ public class AdminCreateTemplateResponse {
@JsonProperty("change_password") @JsonProperty("change_password")
private Boolean changePassword; private Boolean changePassword;
@JsonProperty("name")
private String name;
} }
@@ -21,4 +21,7 @@ public class AdminCreateTemplate {
@Column(name = "change_password") @Column(name = "change_password")
Boolean changePassword; Boolean changePassword;
@Column(name = "name")
String name;
} }
@@ -84,7 +84,7 @@ public class CreateAdminTemplateHandler implements RequestHandler {
AdminCreateTemplate adminTemplate = AdminCreateTemplate adminTemplate =
adminCreateTemplateService.updateCreateTemplate(node.toString(), changePassword, adminCreateTemplateService.updateCreateTemplate(node.toString(), changePassword,
adminCreateTemplateRequest.getId()); adminCreateTemplateRequest.getId(), adminCreateTemplateRequest.getName());
if (adminTemplate == null) { if (adminTemplate == null) {
return BaseResponse.builder() return BaseResponse.builder()
@@ -123,7 +123,8 @@ public class CreateAdminTemplateHandler implements RequestHandler {
Boolean changePassword = adminCreateTemplateRequest.getChangePassword(); Boolean changePassword = adminCreateTemplateRequest.getChangePassword();
AdminCreateTemplate adminTemplate = AdminCreateTemplate adminTemplate =
adminCreateTemplateService.createAdminTemplate(node.toString(), changePassword); adminCreateTemplateService.createAdminTemplate(node.toString(), changePassword,
adminCreateTemplateRequest.getName());
return BaseResponse.builder() return BaseResponse.builder()
@@ -173,7 +174,7 @@ public class CreateAdminTemplateHandler implements RequestHandler {
private BaseResponse handleInvalidAction(BaseRequest request, String action) { private BaseResponse handleInvalidAction(BaseRequest request, String action) {
ActionResponse response = ActionResponse.builder() ActionResponse response = ActionResponse.builder()
.action(action) .action(action)
.availableActions(Arrays.asList("create", "update", "delete")) .availableActions(Arrays.asList("create", "update", "delete", "get_all", "get_by_id"))
.build(); .build();
return BaseResponse.builder() return BaseResponse.builder()
@@ -189,6 +190,7 @@ public class CreateAdminTemplateHandler implements RequestHandler {
.id(adminTemplate.getId()) .id(adminTemplate.getId())
.changePassword(adminTemplate.getChangePassword()) .changePassword(adminTemplate.getChangePassword())
.permissions(adminTemplate.getPermission()) .permissions(adminTemplate.getPermission())
.name(adminTemplate.getName())
.build(); .build();
} }
} }
@@ -15,16 +15,17 @@ public class AdminCreateTemplateService {
private final AdminCreateTemplateRepository adminCreateTemplateRepository; private final AdminCreateTemplateRepository adminCreateTemplateRepository;
public AdminCreateTemplate createAdminTemplate(String permissionsMap, Boolean changePassword) { public AdminCreateTemplate createAdminTemplate(String permissionsMap, Boolean changePassword, String name) {
AdminCreateTemplate adminCreateTemplate = AdminCreateTemplate.builder() AdminCreateTemplate adminCreateTemplate = AdminCreateTemplate.builder()
.permission(permissionsMap) .permission(permissionsMap)
.changePassword(changePassword) .changePassword(changePassword)
.name(name)
.build(); .build();
return adminCreateTemplateRepository.save(adminCreateTemplate); 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); AdminCreateTemplate adminCreateTemplate = adminCreateTemplateRepository.findById(id).orElse(null);
if (adminCreateTemplate == null) { if (adminCreateTemplate == null) {
@@ -39,6 +40,10 @@ public class AdminCreateTemplateService {
adminCreateTemplate.setChangePassword(changePassword); adminCreateTemplate.setChangePassword(changePassword);
} }
if (name != null) {
adminCreateTemplate.setName(name);
}
return adminCreateTemplateRepository.save(adminCreateTemplate); return adminCreateTemplateRepository.save(adminCreateTemplate);
} }