REST API: Add uniqueItems as a permitted endpoint argument JSON Schema keyword.

Support for the `uniqueItems` keyword was added in [48357], but wasn't included in the list of permitted keywords for `WP_REST_Controller::get_endpoint_args_for_item_schema()`. This prevented the keyword from being automatically supported if specified in a controller's item schema.

Fixes #51021.


git-svn-id: https://develop.svn.wordpress.org/trunk@48796 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Timothy Jacobs 2020-08-15 16:09:56 +00:00
parent dd071ee278
commit dddddc47f4
3 changed files with 8 additions and 6 deletions

View File

@ -645,6 +645,7 @@ abstract class WP_REST_Controller {
'pattern',
'minItems',
'maxItems',
'uniqueItems',
);
foreach ( $schema_properties as $field_id => $params ) {

View File

@ -265,7 +265,7 @@ class WP_Test_REST_Controller extends WP_Test_REST_TestCase {
$this->assertArrayHasKey( 'items', $args['somearray'] );
foreach ( array( 'minItems', 'maxItems' ) as $property ) {
foreach ( array( 'minItems', 'maxItems', 'uniqueItems' ) as $property ) {
$this->assertArrayHasKey( $property, $args['somearray'] );
}

View File

@ -101,13 +101,14 @@ class WP_REST_Test_Controller extends WP_REST_Controller {
'default' => 'a',
),
'somearray' => array(
'type' => 'array',
'items' => array(
'type' => 'array',
'items' => array(
'type' => 'string',
),
'minItems' => 1,
'maxItems' => 10,
'context' => array( 'view' ),
'minItems' => 1,
'maxItems' => 10,
'uniqueItems' => true,
'context' => array( 'view' ),
),
'someobject' => array(
'type' => 'object',