*/ final readonly class GetBasketSummaryQuery implements Query { public function __construct( private BasketService $basketService, ) { } /** * @param \App\Queries\Orders\GetBasketSummaryQueryInput $input */ #[\Override] public function __invoke(QueryInput $input): GetBasketSummaryQueryOutput { Assert::isInstanceOf($input, GetBasketSummaryQueryInput::class); return new GetBasketSummaryQueryOutput( step: OrderTunnelStep::REVIEW, basket: $this->basketService->getBasket(), ); } }