Tribe__Tickets__REST__V1__Endpoints__Single_Attendee::prepare_update_attendee_data( WP_REST_Request $request )
Process Request data for updating an attendee.
Contents
Parameters
- $request
-
(WP_REST_Request) (Required)
Return
(array|WP_Error)
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,
];
}