Tribe__Tickets__REST__V1__Endpoints__Cart::get( $request )

{@inheritDoc}

Contents


Source

File: src/Tribe/REST/V1/Endpoints/Cart.php

	public function get( WP_REST_Request $request ) {
		$this->is_active = true;

		$post_id   = $request->get_param( 'post_id' );
		$providers = $request->get_param( 'provider' );

		if ( 0 < $post_id ) {
			// Confirm post has tickets.
			$has_tickets = ! empty( Tribe__Tickets__Tickets::get_all_event_tickets( $post_id ) );

			if ( ! $has_tickets ) {
				$message = $this->messages->get_message( 'post-has-no-tickets' );

				return new WP_Error( 'post-has-no-tickets', $message, [ 'status' => 403 ] );
			}
		}

		if ( null === $providers ) {
			$providers = [];
		}

		$providers = (array) $providers;

		/** @var Tribe__Tickets__Commerce__Cart $cart */
		$cart = tribe( 'tickets.commerce.cart' );

		$response = $cart->get( [
			'post_id'   => $post_id,
			'providers' => $providers,
		] );

		if ( is_wp_error( $response ) ) {
			$error_code = $response->get_error_code();

			// Use message using error code if message is not yet set.
			if ( $error_code === $response->get_error_message() ) {
				$response->errors[ $error_code ] = $this->messages->get_message( $error_code );
			}

			return $response;
		}

		return new WP_REST_Response( $response );
	}

Top ↑

Changelog

Changelog
Version Description
4.11.0 Introduced.