*/ final class FinalizeOrder implements Action { public function __construct( private readonly OrderTunnelService $orderTunnelService, ) { } /** * @param \App\Actions\Orders\FinalizeOrderInput $input */ #[\Override] public function __invoke(ActionInput $input): OrderReference { Assert::isInstanceOf($input, FinalizeOrderInput::class); $builder = $this->orderTunnelService->getBuilderCompletedOrFail(); $order = $this->orderTunnelService->finalizeOrder($builder); return $order->reference; } }