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.entity.complaint.ComplaintStatus;
import ru.soune.nocopy.entity.user.User;
import ru.soune.nocopy.repository.FileEntityRepository;
import ru.soune.nocopy.repository.UserRepository;
import ru.soune.nocopy.service.complaint.ComplaintEntityService;
import ru.soune.nocopy.service.register.AuthService;
import ru.soune.nocopy.service.user.UserService;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Slf4j
@Component
@@ -38,6 +36,8 @@ public class ComplaintEntityHandler implements RequestHandler {
private final AuthService authService;
private final FileEntityRepository fileEntityRepository;
@Override
public BaseResponse handle(BaseRequest request) throws Exception {
Integer msgId = request.getMsgId();
@@ -61,7 +61,7 @@ public class ComplaintEntityHandler implements RequestHandler {
try {
return switch (action) {
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_by_violation" -> handleGetByViolation(msgId, complaintRequest);
case "update_status" -> handleUpdateStatus(msgId, complaintRequest);
@@ -88,10 +88,16 @@ public class ComplaintEntityHandler implements RequestHandler {
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");
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);
}