diff --git a/backend/src/main/java/se/bilhalsning/controller/PaymentController.java b/backend/src/main/java/se/bilhalsning/controller/PaymentController.java new file mode 100644 index 0000000..43200cd --- /dev/null +++ b/backend/src/main/java/se/bilhalsning/controller/PaymentController.java @@ -0,0 +1,38 @@ +package se.bilhalsning.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import se.bilhalsning.dto.OrderResponse; +import se.bilhalsning.entity.Order; +import se.bilhalsning.service.OrderService; + +import java.util.UUID; + +@RestController +@RequestMapping("/api/payment") +@RequiredArgsConstructor +public class PaymentController { + + private final OrderService orderService; + + @PostMapping("/{orderId}/pay") + public ResponseEntity pay(@PathVariable UUID orderId) { + Order order = orderService.markAsPaid(orderId); + return ResponseEntity.ok(toResponse(order)); + } + + private OrderResponse toResponse(Order order) { + return new OrderResponse( + order.getId(), + order.getPlate(), + order.getStatus().getValue(), + order.getTrackingId(), + order.getAmountPaid(), + order.getCreatedAt() + ); + } +}