Parsed: 124123

  public function get_item_schema() {
    if ( $this->schema ) {
      return $this->add_additional_fields_schema( $this->schema );
    }

    $schema = array(
      '$schema'    => 'http://json-schema.org/draft-04/schema#',
      'title'      => "{$this->parent_post_type}-revision",
      'type'       => 'object',
      // Base properties for every Revision.
      'properties' => array(
        'author'       => array(
          'description' => __( 'The ID for the author of the revision.' ),
          'type'        => 'integer',
          'context'     => array( 'view', 'edit', 'embed' ),
        ),
        'date'         => array(
          'description' => __( "The date the revision was published, in the site's timezone." ),
          'type'        => 'string',
          'format'      => 'date-time',
          'context'     => array( 'view', 'edit', 'embed' ),
        ),
        'date_gmt'     => array(
          'description' => __( 'The date the revision was published, as GMT.' ),
          'type'        => 'string',
          'format'      => 'date-time',
          'context'     => array( 'view', 'edit' ),
        ),
        'guid'         => array(
          'description' => __( 'GUID for the revision, as it exists in the database.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit' ),
        ),
        'id'           => array(
          'description' => __( 'Unique identifier for the revision.' ),
          'type'        => 'integer',
          'context'     => array( 'view', 'edit', 'embed' ),
        ),
        'modified'     => array(
          'description' => __( "The date the revision was last modified, in the site's timezone." ),
          'type'        => 'string',
          'format'      => 'date-time',
          'context'     => array( 'view', 'edit' ),
        ),
        'modified_gmt' => array(
          'description' => __( 'The date the revision was last modified, as GMT.' ),
          'type'        => 'string',
          'format'      => 'date-time',
          'context'     => array( 'view', 'edit' ),
        ),
        'parent'       => array(
          'description' => __( 'The ID for the parent of the revision.' ),
          'type'        => 'integer',
          'context'     => array( 'view', 'edit', 'embed' ),
        ),
        'slug'         => array(
          'description' => __( 'An alphanumeric identifier for the revision unique to its type.' ),
          'type'        => 'string',
          'context'     => array( 'view', 'edit', 'embed' ),
        ),
      ),
    );

    $parent_schema = $this->parent_controller->WP_REST_Revisions_Controller::get_item_schema();

    if ( ! empty( $parent_schema['properties']['title'] ) ) {
      $schema['properties']['title'] = $parent_schema['properties']['title'];
    }

    if ( ! empty( $parent_schema['properties']['content'] ) ) {
      $schema['properties']['content'] = $parent_schema['properties']['content'];
    }

    if ( ! empty( $parent_schema['properties']['excerpt'] ) ) {
      $schema['properties']['excerpt'] = $parent_schema['properties']['excerpt'];
    }

    if ( ! empty( $parent_schema['properties']['guid'] ) ) {
      $schema['properties']['guid'] = $parent_schema['properties']['guid'];
    }

    $schema['properties']['meta'] = $this->meta->get_field_schema();

    $this->schema = $schema;

    return $this->add_additional_fields_schema( $this->schema );
  }