From c811e90147860aa8797e79a9fc33a0e835c9e999 Mon Sep 17 00:00:00 2001 From: Vitor Hugo Date: Fri, 24 Apr 2026 21:48:59 -0300 Subject: [PATCH] Require application date when not 'Send Later' in backend; add frontend validation. Closes #19 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../java/com/jobtracker/service/ApplicationService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/jobtracker/service/ApplicationService.java b/src/main/java/com/jobtracker/service/ApplicationService.java index 950a95f..c6a4cd1 100644 --- a/src/main/java/com/jobtracker/service/ApplicationService.java +++ b/src/main/java/com/jobtracker/service/ApplicationService.java @@ -170,11 +170,17 @@ public List getUpcoming() { public List getOverdue() { UUID userId = securityUtils.getCurrentUserId(); LocalDateTime reminderThreshold = LocalDateTime.now().minusHours(6); - return applicationRepository.findOverdueByUserId(userId, reminderThreshold) + LocalDateTime expireThreshold = LocalDateTime.now().minusDays(2); + return applicationRepository.findOverdueByUserId(userId, reminderThreshold, expireThreshold) .stream().map(applicationMapper::toResponse).toList(); } private void mapRequestToEntity(ApplicationRequest request, JobApplication app) { + boolean isSendLater = request.status() == null || request.status().isBlank(); + if (!isSendLater && request.applicationDate() == null) { + throw new BadRequestException("Application date is required when 'Send Later' is not marked"); + } + app.setVacancyName(normalizeOptionalText(request.vacancyName())); app.setRecruiterName(request.recruiterName()); app.setOrganization(request.organization());