Get All Orders

This commit is contained in:
Tim
2025-06-12 23:39:54 +02:00
parent 5f81c98e7d
commit 3247a46b9b
3 changed files with 26 additions and 1 deletions

View File

@@ -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<List<OrderModel>> 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<OrderModel> get(HttpServletRequest request,
@RequestParam(value = PARAM_ID) Long orderId) {

View File

@@ -7,6 +7,8 @@ import java.util.List;
import java.util.Map;
public interface OrderService {
List<Order> findAll();
Order save(Order order);
Order save(OrderModel model);

View File

@@ -31,6 +31,11 @@ public class OrderServiceImpl implements OrderService {
this.articleService = articleService;
}
@Override
public List<Order> findAll() {
return orderRepository.findAll();
}
@Override
public Order save(Order order) {
return orderRepository.save(order);