BP_REST_Messages_Endpoint::get_endpoint_args_for_item_schema( string $method = WP_REST_Server::CREATABLE )
Select the item schema arguments needed for the CREATABLE, EDITABLE and DELETABLE methods.
Description Description
Parameters Parameters
- $method
-
(Optional) HTTP method of the request.
Default value: WP_REST_Server::CREATABLE
Return Return
(array) Endpoint arguments.
Source Source
File: bp-messages/classes/class-bp-rest-messages-endpoint.php
public function get_endpoint_args_for_item_schema( $method = WP_REST_Server::CREATABLE ) {
$key = 'get_item';
$args = WP_REST_Controller::get_endpoint_args_for_item_schema( $method );
$args['id']['description'] = __( 'ID of the Messages Thread.', 'buddypress' );
if ( WP_REST_Server::CREATABLE === $method ) {
$key = 'create_item';
// Edit the Thread ID description and default properties.
$args['id']['description'] = __( 'ID of the Messages Thread. Required when replying to an existing Thread.', 'buddypress' );
$args['id']['default'] = 0;
// Add the sender_id argument.
$args['sender_id'] = array(
'description' => __( 'The user ID of the Message sender.', 'buddypress' ),
'required' => false,
'default' => bp_loggedin_user_id(),
'type' => 'integer',
'sanitize_callback' => 'absint',
'validate_callback' => 'rest_validate_request_arg',
);
// Edit subject's properties.
$args['subject']['type'] = 'string';
$args['subject']['default'] = false;
$args['subject']['description'] = __( 'Subject of the Message initializing the Thread.', 'buddypress' );
// Edit message's properties.
$args['message']['type'] = 'string';
$args['message']['description'] = __( 'Content of the Message to add to the Thread.', 'buddypress' );
// Edit recipients properties.
$args['recipients']['items'] = array( 'type' => 'integer' );
$args['recipients']['sanitize_callback'] = 'wp_parse_id_list';
$args['recipients']['validate_callback'] = 'rest_validate_request_arg';
$args['recipients']['description'] = __( 'The list of the recipients user IDs of the Message.', 'buddypress' );
// Remove unused properties for this transport method.
unset( $args['subject']['properties'], $args['message']['properties'] );
} else {
unset( $args['sender_id'], $args['subject'], $args['message'], $args['recipients'] );
if ( WP_REST_Server::EDITABLE === $method ) {
$key = 'update_item';
$args['message_id'] = array(
'description' => __( 'By default the latest message of the thread will be updated. Specify this message ID to edit another message of the thread.', 'buddypress' ),
'required' => false,
'type' => 'integer',
'sanitize_callback' => 'absint',
'validate_callback' => 'rest_validate_request_arg',
);
}
if ( WP_REST_Server::DELETABLE === $method ) {
$key = 'delete_item';
$args['user_id'] = array(
'description' => __( 'The user ID to remove from the thread', 'buddypress' ),
'required' => true,
'type' => 'integer',
'sanitize_callback' => 'absint',
'validate_callback' => 'rest_validate_request_arg',
'default' => bp_loggedin_user_id(),
);
}
}
/**
* Filters the method query arguments.
*
* @since 5.0.0
*
* @param array $args Query arguments.
* @param string $method HTTP method of the request.
*/
return apply_filters( "bp_rest_messages_{$key}_query_arguments", $args, $method );
}
Changelog Changelog
| Version | Description |
|---|---|
| 5.0.0 | Introduced. |