Tribe__Tickets__REST__V1__Endpoints__Single_Attendee::prepare_attendee_data( WP_REST_Request $request )

Process Request data.


Parameters

$request

(WP_REST_Request) (Required)


Top ↑

Return

(array|WP_Error)


Top ↑

Source

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

	public function prepare_attendee_data( WP_REST_Request $request ) {

		$ticket_id = (int) $request->get_param( 'ticket_id' );
		$provider  = tribe_tickets_get_ticket_provider( $ticket_id );

		if ( ! $provider ) {
			return new WP_Error( 'invalid-provider', __( 'Ticket Provider not found.', 'event-tickets' ) );
		}

		$attendee_data = $request->get_params();
		$attendee_data[ 'attendee_source' ] = 'rest-api';
		$validate_status = $this->validate_attendee_status( $attendee_data, $provider );

		if ( is_wp_error( $validate_status ) ) {
			return $validate_status;
		}

		/**
		 * Filter REST API attendee data before creating an attendee.
		 *
		 * @since 5.3.2
		 *
		 * @param array $attendee_data Attendee data.
		 * @param WP_REST_Request $request Request object.
		 */
		$attendee_data = apply_filters( 'tribe_tickets_rest_api_post_attendee_data', $attendee_data, $request );

		if ( is_wp_error( $attendee_data ) ) {
			return $attendee_data;
		}

		return [
			'ticket'   => $ticket_id,
			'provider' => $provider,
			'data'     => $attendee_data,
		];
	}