MP_Addon_API::permission( WP_REST_Request $request )

Permission callback.


Parameters Parameters

$request

(WP_REST_Request) (Required) request


Top ↑

Return Return

(bool)


Top ↑

Source Source

File: calculator-API-add-on/inc/MP_Addon_API.php

	public function permission( \WP_REST_Request $request ) {

		$found = false;
		$api = wp_cache_get('api_addon_posts', MortgagePlatform::$domain, false, $found);
		if(!$found){
			$apikey = $request->get_param( 'apikey' );

			$api = new \WP_Query(
				array(
					'post_type'      => MP_Addon_API_PostType::$mortgage_api,
					'posts_per_page' => - 1,
					'meta_key'       => MortgagePlatform::$prefix . 'api_key',
					'meta_value'     => esc_attr( $apikey ),
				)
			);

			wp_cache_set('api_addon_posts', $api, MortgagePlatform::$domain, WEEK_IN_SECONDS);
		}

		if ( $api->have_posts() ) {
			if ( $request->get_method() === 'POST' ) {
				if ( ! empty( get_post_meta( $api->post->ID, MortgagePlatform::$prefix . 'allow_post', true ) ) ) {
					return true;
				} else {
					return new \WP_Error( 'rest_forbidden', esc_html__( 'You cannot view leads.' ), array( 'status' => $this->authorization_status_code() ) );
				}
			} else {
				return true;
			}
		} else {
			return false;
		}

		wp_reset_postdata();

	}

Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0 Introduced.