dev add method link
Test Workflow / test (push) Has been cancelled

This commit is contained in:
2026-05-04 14:51:56 +07:00
parent bc86854596
commit aacd485584
@@ -14,15 +14,13 @@ import ru.soune.nocopy.dto.complaint.ComplaintRequest;
import ru.soune.nocopy.dto.complaint.ComplaintResponse; import ru.soune.nocopy.dto.complaint.ComplaintResponse;
import ru.soune.nocopy.entity.complaint.ComplaintStatus; import ru.soune.nocopy.entity.complaint.ComplaintStatus;
import ru.soune.nocopy.entity.user.User; import ru.soune.nocopy.entity.user.User;
import ru.soune.nocopy.repository.FileEntityRepository;
import ru.soune.nocopy.repository.UserRepository; import ru.soune.nocopy.repository.UserRepository;
import ru.soune.nocopy.service.complaint.ComplaintEntityService; import ru.soune.nocopy.service.complaint.ComplaintEntityService;
import ru.soune.nocopy.service.register.AuthService; import ru.soune.nocopy.service.register.AuthService;
import ru.soune.nocopy.service.user.UserService; import ru.soune.nocopy.service.user.UserService;
import java.util.Arrays; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j @Slf4j
@Component @Component
@@ -38,6 +36,8 @@ public class ComplaintEntityHandler implements RequestHandler {
private final AuthService authService; private final AuthService authService;
private final FileEntityRepository fileEntityRepository;
@Override @Override
public BaseResponse handle(BaseRequest request) throws Exception { public BaseResponse handle(BaseRequest request) throws Exception {
Integer msgId = request.getMsgId(); Integer msgId = request.getMsgId();
@@ -61,7 +61,7 @@ public class ComplaintEntityHandler implements RequestHandler {
try { try {
return switch (action) { return switch (action) {
case "create" -> handleCreate(msgId, complaintRequest); case "create" -> handleCreate(msgId, complaintRequest);
case "get" -> handleGet(msgId, complaintRequest); case "get" -> handleGet(msgId, complaintRequest, userId);
case "get_all" -> handleGetAll(msgId, complaintRequest, emails); case "get_all" -> handleGetAll(msgId, complaintRequest, emails);
case "get_by_violation" -> handleGetByViolation(msgId, complaintRequest); case "get_by_violation" -> handleGetByViolation(msgId, complaintRequest);
case "update_status" -> handleUpdateStatus(msgId, complaintRequest); case "update_status" -> handleUpdateStatus(msgId, complaintRequest);
@@ -88,10 +88,16 @@ public class ComplaintEntityHandler implements RequestHandler {
return successResponse(msgId, "Complaint created successfully", response); return successResponse(msgId, "Complaint created successfully", response);
} }
private BaseResponse handleGet(Integer msgId, ComplaintRequest req) { private BaseResponse handleGet(Integer msgId, ComplaintRequest req, Long userId) {
if (req.getId() == null) return errorResponse(msgId, MessageCode.NOT_FOUND.getCode(), "id is required"); if (req.getId() == null) return errorResponse(msgId, MessageCode.NOT_FOUND.getCode(), "id is required");
ComplaintResponse response = complaintService.getComplaintById(req.getId()); ComplaintResponse response = complaintService.getComplaintById(req.getId());
if (!Objects.equals(fileEntityRepository.findByFileId(response.getFileId()).getUserId(), userId)) {
return errorResponse(msgId, MessageCode.USER_NOT_HAD_PERMISSION.getCode(),
"User not have permission for file");
}
return successResponse(msgId, "Complaint retrieved successfully", response); return successResponse(msgId, "Complaint retrieved successfully", response);
} }