@@ -64,7 +64,7 @@ public class ComplaintEntityHandler implements RequestHandler {
|
||||
|
||||
try {
|
||||
return switch (action) {
|
||||
case "create" -> handleCreate(msgId, complaintRequest);
|
||||
case "create" -> handleCreate(msgId, complaintRequest, userId);
|
||||
case "get" -> handleGet(msgId, complaintRequest, userId);
|
||||
case "get_all" -> handleGetAll(msgId, complaintRequest, emails);
|
||||
case "get_by_violation" -> handleGetByViolation(msgId, complaintRequest, userId);
|
||||
@@ -81,12 +81,20 @@ public class ComplaintEntityHandler implements RequestHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private BaseResponse handleCreate(Integer msgId, ComplaintRequest req) {
|
||||
private BaseResponse handleCreate(Integer msgId, ComplaintRequest req, Long userId) {
|
||||
if (req.getViolationId() == null) return errorResponse(msgId, MessageCode.NOT_FOUND.getCode(),
|
||||
"violation_id is required");
|
||||
if (req.getComplaintText() == null) return errorResponse(msgId, MessageCode.NOT_FOUND.getCode(),
|
||||
"text is required");
|
||||
|
||||
ComplaintEntity complaintEntity = complaintEntityRepository.findById(req.getId()).orElse(null);
|
||||
|
||||
if (complaintEntity == null || !Objects.equals(
|
||||
complaintEntity.getViolation().getFileEntity().getUserId(), userId)) {
|
||||
return errorResponse(msgId, MessageCode.USER_NOT_HAD_PERMISSION.getCode(),
|
||||
MessageCode.USER_NOT_HAD_PERMISSION.getDescription());
|
||||
}
|
||||
|
||||
ComplaintResponse response = complaintService.createComplaint(req);
|
||||
|
||||
return successResponse(msgId, "Complaint created successfully", response);
|
||||
@@ -107,8 +115,8 @@ public class ComplaintEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleGetAll(Integer msgId, ComplaintRequest req, List<String> emails) {
|
||||
Pageable pageable = PageRequest.of(
|
||||
req.getPage() != null && req.getPage() > 0 ? req.getPage() - 1 : 0,
|
||||
req.getSize() != null && req.getSize() > 0 ? req.getSize() : 5,
|
||||
req.getPage() != null ? req.getPage() : 0,
|
||||
req.getSize() != null ? req.getSize() : 5,
|
||||
Sort.by(Sort.Direction.fromString(
|
||||
req.getSortDirection() != null ? req.getSortDirection() : "desc"),
|
||||
req.getSortBy() != null ? req.getSortBy() : "updatedAt"));
|
||||
|
||||
Reference in New Issue
Block a user