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.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<Integer, RequestHandler> handlers(AdminUserHandler adminUserHandler) {
public Map<Integer, RequestHandler> handlers(AdminUserHandler adminUserHandler, CreateAdminTemplateHandler createAdminTemplateHandler) {
Map<Integer, RequestHandler> map = new HashMap<>();
map.put(100, adminUserHandler);
map.put(200, createAdminTemplateHandler);
return map;
}
@@ -19,4 +19,7 @@ public class AdminCreateTemplateRequest {
@JsonProperty("id")
private Long id;
@JsonProperty("name")
private String name;
}
@@ -15,4 +15,7 @@ public class AdminCreateTemplateResponse {
@JsonProperty("change_password")
private Boolean changePassword;
@JsonProperty("name")
private String name;
}
@@ -21,4 +21,7 @@ public class AdminCreateTemplate {
@Column(name = "change_password")
Boolean changePassword;
@Column(name = "name")
String name;
}
@@ -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();
}
}
@@ -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);
}