Automattic\WooCommerce\StoreApi\Routes\V1

CartUpdateItem::get_route_post_responseprotectedWC 1.0

Handle the request and return a valid response for this endpoint. .

Method of the class: CartUpdateItem{}

Returns

\WP_REST_Response.

Usage

// protected - for code of main (parent) or child class
$result = $this->get_route_post_response( $request );
$request(WP_REST_Request) (required)
Request object.

CartUpdateItem::get_route_post_response() code WC 10.7.0

protected function get_route_post_response( \WP_REST_Request $request ) {
	$cart = $this->cart_controller->get_cart_instance();

	if ( isset( $request['quantity'] ) ) {
		$cart_item    = $cart->get_cart_item( $request['key'] );
		$old_quantity = $cart_item['quantity'] ?? 0;
		$this->cart_controller->set_cart_item_quantity( $request['key'], $request['quantity'] );

		if ( $old_quantity !== (int) $request['quantity'] ) {
			/**
			 * Fires when a cart item quantity is updated from a user request.
			 *
			 * @param string    $cart_item_key Cart item key.
			 * @param int       $quantity      New quantity.
			 * @param int|float $old_quantity  Old quantity.
			 * @param \WC_Cart  $cart          Cart object.
			 *
			 * @since 10.6.0
			 */
			do_action( 'internal_woocommerce_cart_item_updated_from_user_request', $request['key'], (int) $request['quantity'], $old_quantity, $cart );
		}
	}

	return rest_ensure_response( $this->schema->get_item_response( $cart ) );
}