Phase 5: Content and SEO - Yoast SEO, Schema.org markup, Open Graph, favicon support, XML sitemap
This commit is contained in:
+50
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
// phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure.
|
||||
namespace Yoast\WP\SEO\AI_Generator\Infrastructure\Endpoints;
|
||||
|
||||
use Exception;
|
||||
use Yoast\WP\SEO\AI_Generator\Domain\Endpoint\Endpoint_Interface;
|
||||
use Yoast\WP\SEO\AI_Generator\User_Interface\Get_Suggestions_Route;
|
||||
|
||||
/**
|
||||
* Represents the setup steps tracking endpoint.
|
||||
*/
|
||||
class Get_Suggestions_Endpoint implements Endpoint_Interface {
|
||||
|
||||
/**
|
||||
* Gets the name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_name(): string {
|
||||
return 'getSuggestions';
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the namespace.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_namespace(): string {
|
||||
return Get_Suggestions_Route::ROUTE_NAMESPACE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the route.
|
||||
*
|
||||
* @throws Exception If the route prefix is not overwritten this throws.
|
||||
* @return string
|
||||
*/
|
||||
public function get_route(): string {
|
||||
return Get_Suggestions_Route::ROUTE_PREFIX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the URL.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_url(): string {
|
||||
return \rest_url( $this->get_namespace() . $this->get_route() );
|
||||
}
|
||||
}
|
||||
Executable
+50
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
// phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure.
|
||||
namespace Yoast\WP\SEO\AI_Generator\Infrastructure\Endpoints;
|
||||
|
||||
use Exception;
|
||||
use Yoast\WP\SEO\AI_Generator\Domain\Endpoint\Endpoint_Interface;
|
||||
use Yoast\WP\SEO\AI_Generator\User_Interface\Get_Usage_Route;
|
||||
|
||||
/**
|
||||
* Represents the setup steps tracking endpoint.
|
||||
*/
|
||||
class Get_Usage_Endpoint implements Endpoint_Interface {
|
||||
|
||||
/**
|
||||
* Gets the name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_name(): string {
|
||||
return 'getUsage';
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the namespace.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_namespace(): string {
|
||||
return Get_Usage_Route::ROUTE_NAMESPACE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the route.
|
||||
*
|
||||
* @throws Exception If the route prefix is not overwritten this throws.
|
||||
* @return string
|
||||
*/
|
||||
public function get_route(): string {
|
||||
return Get_Usage_Route::ROUTE_PREFIX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the URL.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_url(): string {
|
||||
return \rest_url( $this->get_namespace() . $this->get_route() );
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace Yoast\WP\SEO\AI_Generator\Infrastructure;
|
||||
|
||||
use WPSEO_Utils;
|
||||
use Yoast\WP\SEO\AI_Generator\Domain\URLs_Interface;
|
||||
|
||||
/**
|
||||
* Class WordPress_URLs
|
||||
* Provides URLs for the AI Generator API in a WordPress context.
|
||||
*/
|
||||
class WordPress_URLs implements URLs_Interface {
|
||||
|
||||
/**
|
||||
* Gets the license URL.
|
||||
*
|
||||
* @return string The license URL.
|
||||
*/
|
||||
public function get_license_url(): string {
|
||||
return WPSEO_Utils::get_home_url();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the callback URL to be used by the API to send back the access token, refresh token and code challenge.
|
||||
*
|
||||
* @return string The callbacks URL.
|
||||
*/
|
||||
public function get_callback_url(): string {
|
||||
return \get_rest_url( null, 'yoast/v1/ai_generator/callback' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the callback URL to be used by the API to send back the refreshed JWTs once they expire.
|
||||
*
|
||||
* @return string The callbacks URL.
|
||||
*/
|
||||
public function get_refresh_callback_url(): string {
|
||||
return \get_rest_url( null, 'yoast/v1/ai_generator/refresh_callback' );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user