*/ final class AddToBasket implements Action { public function __construct( private readonly BasketService $basketService, ) { } #[\Override] public function __invoke(ActionInput $input): void { Assert::isInstanceOf($input, AddToBasketInput::class); $this->basketService->add( $input->productId, $input->qty ); } }