CreateOrderInput.java
package io.slayyyyer.orders.graphql;
import io.slayyyyer.orders.service.CreateOrderCommand;
import java.util.List;
import java.util.UUID;
public record CreateOrderInput(UUID customerId, List<OrderItemInput> items, String idempotencyKey) {
public record OrderItemInput(UUID productId, int quantity) {
}
public CreateOrderCommand toCommand() {
List<OrderItemInput> safeItems = items == null ? List.of() : items;
return new CreateOrderCommand(
customerId,
safeItems.stream()
.map(item -> new CreateOrderCommand.RequestedItem(item.productId(), item.quantity()))
.toList(),
idempotencyKey);
}
}