diff --git a/src/main/java/ru/soune/nocopy/handler/LawCaseHandler.java b/src/main/java/ru/soune/nocopy/handler/LawCaseHandler.java index e0a726a..8021547 100644 --- a/src/main/java/ru/soune/nocopy/handler/LawCaseHandler.java +++ b/src/main/java/ru/soune/nocopy/handler/LawCaseHandler.java @@ -148,6 +148,32 @@ public class LawCaseHandler implements RequestHandler { "received_value", lawCaseRequest.getFilterPriority()))); } } + + if (lawCaseRequest.getFilterPriority() != null && lawCaseRequest.getFilterPriority() != LawCasePriority.HIGH && + lawCaseRequest.getFilterPriority() != LawCasePriority.MIDDLE && + lawCaseRequest.getFilterPriority() != LawCasePriority.LOW && + lawCaseRequest.getFilterPriority() != LawCasePriority.CRITICAL) { + throw new NotValidFieldException("Not valid filter priority", + new BaseResponse(null, MessageCode.NOT_VALID_FIELD.getCode(), + MessageCode.NOT_VALID_FIELD.getDescription(), + Map.of("field", "filterPriority", + "valid_values", Arrays.stream(LawCasePriority.values()) + .map(LawCasePriority::name) + .collect(Collectors.toList()), + "received_value", lawCaseRequest.getFilterPriority()))); + } + + if (lawCaseRequest.getFilterType() != null && lawCaseRequest.getFilterType() != LawCaseType.CLOSED && + lawCaseRequest.getFilterType() != LawCaseType.ACTIVE && lawCaseRequest.getFilterType() != LawCaseType.COMPLETED) { + throw new NotValidFieldException("Not valid filter type", + new BaseResponse(null, MessageCode.NOT_VALID_FIELD.getCode(), + MessageCode.NOT_VALID_FIELD.getDescription(), + Map.of("field", "filterType", + "valid_values", Arrays.stream(LawCaseType.values()) + .map(LawCaseType::name) + .collect(Collectors.toList()), + "received_value", lawCaseRequest.getFilterType()))); + } } private BaseResponse getLawCaseById(Long id, BaseRequest request) { @@ -258,7 +284,8 @@ public class LawCaseHandler implements RequestHandler { new BaseResponse(request.getMsgId(), MessageCode.NOT_VALID_FIELD.getCode(), MessageCode.NOT_VALID_FIELD.getDescription(), Map.of("fields", "violation_id"))); - if (lawCaseRequest.getType() != null && !FileType.DOCUMENT.getDisplayName().equals(lawCaseRequest.getType().toLowerCase()) && + if (lawCaseRequest.getType() != null && + !FileType.DOCUMENT.getDisplayName().equals(lawCaseRequest.getType().toLowerCase()) && !FileType.AUDIO.getDisplayName().equals(lawCaseRequest.getType().toLowerCase()) && !FileType.IMAGE.getDisplayName().equals(lawCaseRequest.getType().toLowerCase()) && !FileType.VIDEO.getDisplayName().equals(lawCaseRequest.getType().toLowerCase())) @@ -278,9 +305,9 @@ public class LawCaseHandler implements RequestHandler { throw new NotValidFieldException("Not valid type", new BaseResponse(request.getMsgId(), MessageCode.NOT_VALID_FIELD.getCode(), MessageCode.NOT_VALID_FIELD.getDescription(), Map.of("valid_types", - List.of(FileType.DOCUMENT.getDisplayName(), - FileType.AUDIO.getDisplayName(), - FileType.IMAGE.getDisplayName(), - FileType.VIDEO.getDisplayName())))); + List.of(LawCasePriority.LOW.name(), + LawCasePriority.MIDDLE.name(), + LawCasePriority.HIGH.name(), + LawCasePriority.CRITICAL.name())))); } }