Tribe__Tickets__REST__V1__Endpoints__Single_Attendee::prepare_update_attendee_data( WP_REST_Request $request )

Process Request data for updating an attendee.


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_update_attendee_data( WP_REST_Request $request ) {

		$attendee_id = (int) $request->get_param( 'id' );
		$found       = tribe_attendees()->by( 'id', $attendee_id )->found();

		if ( ! $found ) {
			return new WP_Error( 'invalid-attendee-id', __( 'Attendee ID is not valid.', 'event-tickets' ) );
		}

		$provider = tribe_tickets_get_ticket_provider( $attendee_id );

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

		$attendee        = $provider->get_attendee( $attendee_id );
		$updated_data    = $request->get_params();
		$validate_status = $this->validate_attendee_status( $updated_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 $updated_data Data that needs to be updated.
		 * @param WP_REST_Request $request Request object.
		 * @param array $attendee_data Attendee data that will be updated.
		 */
		$attendee_data = apply_filters( 'tribe_tickets_rest_api_update_attendee_data', $updated_data, $request, $attendee );

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

		return [
			'attendee_id' => $attendee_id,
			'attendee'    => $attendee,
			'data'        => $attendee_data,
		];
	}