From b7dd9ab95ab3653acd3f78faeaa82ad0f4fafa74 Mon Sep 17 00:00:00 2001 From: backdev-1 Date: Fri, 22 May 2026 14:15:26 +0700 Subject: [PATCH] add entity and controller for templates admin create --- .../controller/AdminController.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/main/java/ru/soune/nocopy/adminpanel/controller/AdminController.java b/src/main/java/ru/soune/nocopy/adminpanel/controller/AdminController.java index 1824006..e98789d 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/controller/AdminController.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/controller/AdminController.java @@ -1,5 +1,6 @@ package ru.soune.nocopy.adminpanel.controller; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; @@ -10,7 +11,9 @@ import org.springframework.web.bind.annotation.RestController; import ru.soune.nocopy.adminpanel.client.DashBoardAppClient; import ru.soune.nocopy.adminpanel.dto.BaseRequest; import ru.soune.nocopy.adminpanel.dto.BaseResponse; +import ru.soune.nocopy.adminpanel.entity.AdminSection; import ru.soune.nocopy.adminpanel.handler.RequestHandler; +import ru.soune.nocopy.adminpanel.service.AdminSectionPermissionService; import ru.soune.nocopy.adminpanel.util.MessageCode; import java.util.Map; @@ -25,6 +28,10 @@ public class AdminController { private final DashBoardAppClient dashBoardAppClient; + private final AdminSectionPermissionService adminSectionPermissionService; + + private final HttpServletRequest httpServletRequest; + @PostMapping public ResponseEntity handleRequest(@RequestBody BaseRequest request) { log.info("Received request: msg_id={}, version={}", request.getMsgId(), request.getVersion()); @@ -61,6 +68,17 @@ public class AdminController { @PostMapping("/info") public ResponseEntity handleInfo(@RequestBody BaseRequest request) { + Long currentUserId = (Long) httpServletRequest.getAttribute("userId"); + + if (!adminSectionPermissionService.canRead(currentUserId, + AdminSection.USERS)) { + return ResponseEntity.ok(BaseResponse.builder() + .msgId(request.getMsgId()) + .messageCode(MessageCode.PERMISSION_DENIED.getCode()) + .messageDesc("You can't reads") + .build()); + } + Map response = dashBoardAppClient.getUsersWithPagination(request); return ResponseEntity.ok( @@ -74,6 +92,17 @@ public class AdminController { @PostMapping("/control") public ResponseEntity handleControl(@RequestBody BaseRequest request) { + Long currentUserId = (Long) httpServletRequest.getAttribute("userId"); + + if (!adminSectionPermissionService.canWrite(currentUserId, + AdminSection.USERS)) { + return ResponseEntity.ok(BaseResponse.builder() + .msgId(request.getMsgId()) + .messageCode(MessageCode.PERMISSION_DENIED.getCode()) + .messageDesc("You can't control") + .build()); + } + Map response = dashBoardAppClient.getUsersWithPagination(request); return ResponseEntity.ok(