From aa9bdd514ab90d0da0391b879255a22c29450e9a Mon Sep 17 00:00:00 2001 From: Szymon Szukalski Date: Thu, 25 Jul 2024 20:36:11 +1000 Subject: Validate import payload and return create/update stats - Add validation to /import payload - Move import logic to service bean - Track whether entities have been created or update - Report number of created and updated entities as return value for the import endpoint - Add some test coverage to exercise the validators --- .../java/com/stileeducation/markr/dto/SummaryMarksDTO.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java') diff --git a/src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java b/src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java index a67d19c..788eea0 100644 --- a/src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java +++ b/src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java @@ -1,5 +1,7 @@ package com.stileeducation.markr.dto; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; import jakarta.xml.bind.annotation.XmlAttribute; import jakarta.xml.bind.annotation.XmlRootElement; @@ -7,8 +9,14 @@ import java.util.Objects; @XmlRootElement(name = "summary-marks") public class SummaryMarksDTO { - private int available; - private int obtained; + + @NotNull(message = "Available marks must not be null") + @Min(value = 0, message = "Available marks must be non-negative") + private Integer available; + + @NotNull(message = "Obtained marks must not be null") + @Min(value = 0, message = "Obtained marks must be non-negative") + private Integer obtained; @XmlAttribute(name = "available") public int getAvailable() { -- cgit v1.2.3