Updated Application Evaluation API to return single object response instead of array

This commit is contained in:
harish
2024-10-28 21:09:33 +05:30
parent 1031cfc7b5
commit 528d266cb8
10 changed files with 61 additions and 90 deletions

View File

@@ -14,7 +14,7 @@ public interface ApplicationEvaluationService {
ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(HttpServletRequest request, ApplicationEvaluationRequest applicationEvaluationRequest,Long assignedApplicationsId);
void deleteApplicationEvaluation(HttpServletRequest request,Long id);
List<ApplicationEvaluationResponse> getApplicationEvaluationByApplicationId(HttpServletRequest request,Long applicationId,Long assignedApplicationId);
ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(HttpServletRequest request,Long applicationId,Long assignedApplicationId);
ApplicationEvaluationResponse updateApplicationEvaluationStatus(HttpServletRequest request, Long assignedApplicationId, AssignedEvaluationStatus status);

View File

@@ -48,7 +48,7 @@ public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationSe
@Override
@Transactional(readOnly = true)
public List<ApplicationEvaluationResponse> getApplicationEvaluationByApplicationId(
public ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(
HttpServletRequest request, Long applicationId, Long assignedApplicationId) {
if (applicationId == null && assignedApplicationId == null) {
throw new CustomValidationException(
@@ -56,45 +56,20 @@ public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationSe
Translator.toLocale(GepafinConstant.EITHER_APPLICATION_OR_ASSIGNED_APPLICATION_ID_REQUIRED_MSG)
);
}
AssignedApplicationsEntity assignedApplications;
Optional<AssignedApplicationsEntity> assignedApplicationsOptional =
assignedApplicationsRepository.findByApplicationIdOrId(applicationId, assignedApplicationId);
if (applicationId != null && assignedApplicationId != null) {
assignedApplications = assignedApplicationsRepository
.findByApplicationIdAndAssignedApplicationId(applicationId, assignedApplicationId)
.orElseThrow(() -> new CustomValidationException(
Status.BAD_REQUEST,
Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_WITH_ID_MSG)
));
} else if (assignedApplicationId != null) {
assignedApplications = assignedApplicationsRepository
.findByAssignedApplicationId(assignedApplicationId)
.orElseThrow(() -> new CustomValidationException(
Status.BAD_REQUEST,
Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_WITH_ID_MSG)
));
} else {
List<AssignedApplicationsEntity> assignedApplicationsList = assignedApplicationsRepository
.findAllByApplicationId(applicationId);
if (assignedApplicationsList.isEmpty()) {
throw new CustomValidationException(
AssignedApplicationsEntity assignedApplications = assignedApplicationsOptional
.orElseThrow(() -> new CustomValidationException(
Status.BAD_REQUEST,
Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_WITH_ID_MSG)
);
}
assignedApplications = assignedApplicationsList.get(0);
}
));
UserEntity user = validator.validatePreInstructor(request, assignedApplications.getUserId());
if (applicationId != null && assignedApplicationId == null) {
return applicationEvaluationDao.getApplicationEvaluationByApplicationId(user, assignedApplications.getApplication().getId(), null);
}
if (applicationId != null && assignedApplicationId != null) {
return applicationEvaluationDao.getApplicationEvaluationByApplicationId(user, assignedApplications.getApplication().getId(), assignedApplications.getId());
}
return applicationEvaluationDao.getApplicationEvaluationByApplicationId(user, null, assignedApplications.getId());
return applicationEvaluationDao.getApplicationEvaluationByApplicationId(
user,
assignedApplications.getApplication().getId(),
assignedApplications.getId()
);
}