Updated_Events::get( WP_REST_Request $request )
Get events from updated event queue.
Contents
Parameters
- $request
-
(WP_REST_Request) (Required) The request object.
Return
(WP_REST_Response) The response from the updated event queue.
Source
File: src/Common/Event_Automator/Zapier/REST/V1/Endpoints/Updated_Events.php
public function get( WP_REST_Request $request ) {
// No cache headers to prevent hosting from caching the endpoint
nocache_headers();
$verified_token = $this->verify_token( $request );
if ( is_wp_error( $verified_token ) ) {
return new WP_REST_Response( $verified_token, 400 );
}
$loaded = $this->load_api_key_pair( $verified_token['consumer_id'], $verified_token['consumer_secret'], $verified_token );
if ( is_wp_error( $loaded ) ) {
return new WP_REST_Response( $loaded, 400 );
}
$current_queue = $this->trigger->get_queue();
if ( empty( $current_queue ) ) {
$data = [
'id' => 'no-updated-events',
];
return new WP_REST_Response( [ $data ] );
}
$next_event_id = (int) array_shift( $current_queue );
if ( empty( $next_event_id ) ) {
$this->trigger->set_queue( $current_queue );
$data = [
'id' => 'no valid event.',
];
return new WP_REST_Response( [ $data ] );
}
$next_event = $this->get_mapped_event( $next_event_id, true );
if ( ! $next_event ) {
$this->trigger->set_queue( $current_queue );
$data = [
'id' => 'not a valid post type.',
];
return new WP_REST_Response( [ $data ] );
}
$this->trigger->set_queue( $current_queue );
return new WP_REST_Response( [ $next_event ] );
}
Changelog
| Version | Description |
|---|---|
| 6.0.0 | Introduced. |