Class Uai1 Routes - Source Excerpt 01
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/plugins/uai-1-wordpress/includes/class-uai1-routes.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/plugins/uai-1-wordpress/includes/class-uai1-routes.php
<?php
if (!defined('ABSPATH')) {
exit;
}
class UAI1_Routes
{
private const ROUTE_MANUSCRIPT_IMAGE = 'manuscript_image';
private const UAIX_NAMESPACE = 'uaix/v1';
private const LEGACY_NAMESPACE = 'uai1/v1';
private const UAIX_CONTENT_TYPE = 'application/vnd.uaix.uai+json; charset=utf-8';
private const JSON_CONTENT_TYPE = 'application/json; charset=utf-8';
private const PROBLEM_JSON_CONTENT_TYPE = 'application/problem+json; charset=utf-8';
private const UAIX_PUBLIC_BASE = 'https://uaix.org';
public static function register_rewrite_rules(): void
{
add_rewrite_rule(
'^manuscript/full-image/?$',
'index.php?uai1=' . self::ROUTE_MANUSCRIPT_IMAGE,
'top'
);
}
public static function register_rest_routes(): void
{
foreach ([self::UAIX_NAMESPACE, self::LEGACY_NAMESPACE] as $namespace) {
register_rest_route(
$namespace,
'/catalog',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_catalog'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/discovery',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_discovery'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/capability',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_capability'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/schemas',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_schemas'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/schemas/(?P<profile>[a-zA-Z0-9._-]+)',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_schemas'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/registry',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_registry'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/registry/(?P<profile>[a-zA-Z0-9._-]+)',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_registry'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/field-registry',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_field_registry'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/transport-bindings',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_transport_bindings'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/trust-channels',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_trust_channels'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/conformance-levels',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_conformance_levels'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/error-registry',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_error_registry'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/examples',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_examples'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/examples/(?P<profile>[a-zA-Z0-9._-]+)',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_examples'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/validate',
[
'methods' => WP_REST_Server::CREATABLE,
'callback' => [self::class, 'rest_validate_uaix_message'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/mock-exchange',
[
'methods' => [WP_REST_Server::READABLE, WP_REST_Server::CREATABLE],
'callback' => [self::class, 'rest_mock_uaix_exchange'],
'permission_callback' => '__return_true',
]
);
register_rest_route(
$namespace,
'/adoption-kit',
[
'methods' => WP_REST_Server::READABLE,
'callback' => [self::class, 'rest_get_uaix_adoption_kit'],
'permission_callback' => '__return_true',
]
);