From 3247a46b9b9a05c8dfd6eaa21865d1222ede95bf Mon Sep 17 00:00:00 2001 From: Tim <47184194+imgde@users.noreply.github.com> Date: Thu, 12 Jun 2025 23:39:54 +0200 Subject: [PATCH] Get All Orders --- .../webshop/controller/OrderController.java | 20 ++++++++++++++++++- .../htwsaar/webshop/service/OrderService.java | 2 ++ .../service/impl/OrderServiceImpl.java | 5 +++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/00-backend/src/main/java/de/htwsaar/webshop/controller/OrderController.java b/00-backend/src/main/java/de/htwsaar/webshop/controller/OrderController.java index c073219..8e8d409 100644 --- a/00-backend/src/main/java/de/htwsaar/webshop/controller/OrderController.java +++ b/00-backend/src/main/java/de/htwsaar/webshop/controller/OrderController.java @@ -4,6 +4,7 @@ import de.htwsaar.webshop.model.OrderModel; import de.htwsaar.webshop.model.OrderStatus; import de.htwsaar.webshop.repository.entities.Order; import de.htwsaar.webshop.service.OrderService; +import de.htwsaar.webshop.service.SessionService; import de.htwsaar.webshop.service.ValidatorService; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; @@ -11,8 +12,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.support.SessionStatus; import java.util.List; +import java.util.UUID; import static de.htwsaar.webshop.config.ControllerPathConfig.ORDER_BASE; import static de.htwsaar.webshop.config.ControllerPathConfig.ORDER_GET_ALL; @@ -25,11 +28,13 @@ public class OrderController { private final OrderService orderService; private final ValidatorService validatorService; + private final SessionService sessionService; @Autowired - public OrderController(OrderService orderService, ValidatorService validatorService) { + public OrderController(OrderService orderService, ValidatorService validatorService, SessionService sessionService) { this.orderService = orderService; this.validatorService = validatorService; + this.sessionService = sessionService; } @RequestMapping(path = ORDER_GET_ALL, method = RequestMethod.GET, produces = "application/json") @@ -43,6 +48,19 @@ public class OrderController { return ResponseEntity.ok(orders.stream().map(Order::toModel).toList()); } + @RequestMapping(path = ORDER_GET_ALL, method = RequestMethod.TRACE, produces = "application/json") + public ResponseEntity> getAll(HttpServletRequest request, + @RequestParam(value = PARAM_EMAIL) String email, + @RequestParam(value = PARAM_SESSION) UUID token) { + logRequest(request); + if (!sessionService.isAdmin(token, email)) { + log.warn("[{}] Account isn't allowed to make request {}", request.getRequestURI(), email); + return ResponseEntity.badRequest().build(); + } + + return ResponseEntity.ok(orderService.findAll().stream().map(Order::toModel).toList()); + } + @RequestMapping(path = ORDER_BASE, method = RequestMethod.GET, produces = "application/json") public ResponseEntity get(HttpServletRequest request, @RequestParam(value = PARAM_ID) Long orderId) { diff --git a/00-backend/src/main/java/de/htwsaar/webshop/service/OrderService.java b/00-backend/src/main/java/de/htwsaar/webshop/service/OrderService.java index b1d0df4..2e0f912 100644 --- a/00-backend/src/main/java/de/htwsaar/webshop/service/OrderService.java +++ b/00-backend/src/main/java/de/htwsaar/webshop/service/OrderService.java @@ -7,6 +7,8 @@ import java.util.List; import java.util.Map; public interface OrderService { + List findAll(); + Order save(Order order); Order save(OrderModel model); diff --git a/00-backend/src/main/java/de/htwsaar/webshop/service/impl/OrderServiceImpl.java b/00-backend/src/main/java/de/htwsaar/webshop/service/impl/OrderServiceImpl.java index 58a239c..0a59b51 100644 --- a/00-backend/src/main/java/de/htwsaar/webshop/service/impl/OrderServiceImpl.java +++ b/00-backend/src/main/java/de/htwsaar/webshop/service/impl/OrderServiceImpl.java @@ -31,6 +31,11 @@ public class OrderServiceImpl implements OrderService { this.articleService = articleService; } + @Override + public List findAll() { + return orderRepository.findAll(); + } + @Override public Order save(Order order) { return orderRepository.save(order);