Updated_Events::get( WP_REST_Request $request )

Get events from updated event queue.


Parameters

$request

(WP_REST_Request) (Required) The request object.


Top ↑

Return

(WP_REST_Response) The response from the updated event queue.


Top ↑

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 ] );
	}

Top ↑

Changelog

Changelog
Version Description
6.0.0 Introduced.