/
home
/
techb158
/
balacoffee.com
/
wp-content
/
plugins
/
woocommerce
/
src
/
StoreApi
/
Routes
/
V1
/
/home/techb158/balacoffee.com/wp-content/plugins/woocommerce/src/StoreApi/Routes/V1
mkdir
upload
Name
Size
Mode
Actions
Agentic/
-
0755
rm
AI/
-
0755
rm
AbstractCartRoute.php
9765
0644
edit
dl
rm
AbstractRoute.php
10001
0644
edit
dl
rm
AbstractTermsRoute.php
5207
0644
edit
dl
rm
Batch.php
3861
0644
edit
dl
rm
Cart.php
1371
0644
edit
dl
rm
CartAddItem.php
4740
0644
edit
dl
rm
CartApplyCoupon.php
2115
0644
edit
dl
rm
CartCoupons.php
3985
0644
edit
dl
rm
CartCouponsByCode.php
2728
0644
edit
dl
rm
CartExtensions.php
1973
0644
edit
dl
rm
CartItems.php
3907
0644
edit
dl
rm
CartItemsByKey.php
4172
0644
edit
dl
rm
CartRemoveCoupon.php
2566
0644
edit
dl
rm
CartRemoveItem.php
2646
0644
edit
dl
rm
CartSelectShippingRate.php
3690
0644
edit
dl
rm
CartUpdateCustomer.php
10178
0644
edit
dl
rm
CartUpdateItem.php
2549
0644
edit
dl
rm
Checkout.php
32888
0644
edit
dl
rm
CheckoutOrder.php
8099
0644
edit
dl
rm
Order.php
2291
0644
edit
dl
rm
Patterns.php
2927
0644
edit
dl
rm
ProductAttributes.php
1633
0644
edit
dl
rm
ProductAttributesById.php
2050
0644
edit
dl
rm
ProductAttributeTerms.php
2231
0644
edit
dl
rm
ProductBrands.php
1393
0644
edit
dl
rm
ProductBrandsById.php
2444
0644
edit
dl
rm
ProductCategories.php
1384
0644
edit
dl
rm
ProductCategoriesById.php
2024
0644
edit
dl
rm
ProductCollectionData.php
7306
0644
edit
dl
rm
ProductReviews.php
6866
0644
edit
dl
rm
Products.php
15536
0644
edit
dl
rm
ProductsById.php
2186
0644
edit
dl
rm
ProductsBySlug.php
3016
0644
edit
dl
rm
ProductTags.php
1265
0644
edit
dl
rm
Edit:
/home/techb158/balacoffee.com/wp-content/plugins/woocommerce/src/StoreApi/Routes/V1/CartAddItem.php
(4740B)
<?php namespace Automattic\WooCommerce\StoreApi\Routes\V1; use Automattic\WooCommerce\StoreApi\Exceptions\RouteException; /** * CartAddItem class. */ class CartAddItem extends AbstractCartRoute { /** * The route identifier. * * @var string */ const IDENTIFIER = 'cart-add-item'; /** * Get the path of this REST route. * * @return string */ public function get_path() { return self::get_path_regex(); } /** * Get the path of this rest route. * * @return string */ public static function get_path_regex() { return '/cart/add-item'; } /** * Get method arguments for this REST route. * * @return array An array of endpoints. */ public function get_args() { return [ [ 'methods' => \WP_REST_Server::CREATABLE, 'callback' => [ $this, 'get_response' ], 'permission_callback' => '__return_true', 'args' => [ 'id' => [ 'description' => __( 'The cart item product or variation ID.', 'woocommerce' ), 'type' => 'integer', 'context' => [ 'view', 'edit' ], 'sanitize_callback' => 'absint', ], 'quantity' => [ 'description' => __( 'Quantity of this item to add to the cart.', 'woocommerce' ), 'type' => 'number', 'context' => [ 'view', 'edit' ], 'arg_options' => [ 'sanitize_callback' => 'wc_stock_amount', ], ], 'variation' => [ 'description' => __( 'Chosen attributes (for variations).', 'woocommerce' ), 'type' => 'array', 'context' => [ 'view', 'edit' ], 'items' => [ 'type' => 'object', 'properties' => [ 'attribute' => [ 'description' => __( 'Variation attribute name.', 'woocommerce' ), 'type' => 'string', 'context' => [ 'view', 'edit' ], ], 'value' => [ 'description' => __( 'Variation attribute value.', 'woocommerce' ), 'type' => 'string', 'context' => [ 'view', 'edit' ], ], ], ], ], ], ], 'schema' => [ $this->schema, 'get_public_item_schema' ], 'allow_batch' => [ 'v1' => true ], ]; } /** * Handle the request and return a valid response for this endpoint. * * @throws RouteException On error. * @param \WP_REST_Request $request Request object. * @return \WP_REST_Response */ protected function get_route_post_response( \WP_REST_Request $request ) { // Do not allow key to be specified during creation. if ( ! empty( $request['key'] ) ) { throw new RouteException( 'woocommerce_rest_cart_item_exists', esc_html__( 'Cannot create an existing cart item.', 'woocommerce' ), 400 ); } /** * Filters cart item data sent via the API before it is passed to the cart controller. * * This hook filters cart items. It allows the request data to be changed, for example, quantity, or * supplemental cart item data, before it is passed into CartController::add_to_cart and stored to session. * * CartController::add_to_cart only expects the keys id, quantity, variation, and cart_item_data, so other values * may be ignored. CartController::add_to_cart (and core) do already have a filter hook called * woocommerce_add_cart_item, but this does not have access to the original Store API request like this hook does. * * @since 8.8.0 * * @param array $add_to_cart_data An array of cart item data. * @return array */ $add_to_cart_data = apply_filters( 'woocommerce_store_api_add_to_cart_data', array( 'id' => $request['id'], 'quantity' => $request['quantity'], 'variation' => $request['variation'], 'cart_item_data' => [], ), $request ); $item_id = $this->cart_controller->add_to_cart( $add_to_cart_data ); $cart = $this->cart_controller->get_cart_instance(); $cart_item = $cart->get_cart_item( $item_id ); if ( ! empty( $cart_item ) ) { $product_id = $cart_item['variation_id'] ? $cart_item['variation_id'] : $cart_item['product_id']; $quantity = $add_to_cart_data['quantity'] ?? $cart_item['quantity']; /** * Fires when an item is added to the cart from a user request. * * @param int $product_id Product ID (variation ID for variable products). * @param int|float $quantity Quantity added to the cart. * * @since 10.6.0 */ do_action( 'internal_woocommerce_cart_item_added_from_user_request', $product_id, $quantity ); } $response = rest_ensure_response( $this->schema->get_item_response( $this->cart_controller->get_cart_for_response() ) ); $response->set_status( 201 ); return $response; } }
Save
cmd:
run