diff --git a/db/orders.cds b/db/orders.cds index e09ef50b..79109173 100644 --- a/db/orders.cds +++ b/db/orders.cds @@ -20,6 +20,8 @@ entity Orders : cuid, managed { entity OrderItems : cuid { parent : Association to Orders; book : Association to Books @mandatory @assert.target; + @mandatory + @assert.range: [(0), _] quantity : Integer; amount : Decimal(9, 2); } diff --git a/pom.xml b/pom.xml index e0c90139..69cb4eec 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.springframework.boot spring-boot-starter-parent - 3.3.5 + 3.3.6 @@ -23,11 +23,11 @@ 21 - 3.4.1 + 3.5.0 5.13.0 3.5.3 3.8.4 - 8.4.2 + 8.5.0 1.0.5 diff --git a/srv/src/main/java/my/bookshop/handlers/AdminServiceHandler.java b/srv/src/main/java/my/bookshop/handlers/AdminServiceHandler.java index b80844d7..cbe21c57 100644 --- a/srv/src/main/java/my/bookshop/handlers/AdminServiceHandler.java +++ b/srv/src/main/java/my/bookshop/handlers/AdminServiceHandler.java @@ -94,14 +94,6 @@ public void beforeCreateOrder(Stream orders, EventContext context) { order.getItems().forEach(orderItem -> { // validation of the Order creation request Integer quantity = orderItem.getQuantity(); - if (quantity == null || quantity <= 0) { - // errors with localized messages from property files - // exceptions abort the request and set an error http status code - // messages in contrast allow to collect multiple errors - messages.error(MessageKeys.QUANTITY_REQUIRE_MINIMUM) - .target("in", ORDERS, o -> o.Items(i -> i.ID().eq(orderItem.getId()).and(i.IsActiveEntity().eq(orderItem.getIsActiveEntity()))).quantity()); - } - String bookId = orderItem.getBookId(); if(quantity == null || quantity <= 0 || bookId == null) {