BP_REST_Topics_Endpoint::get_item_schema()
Get the forums schema, conforming to JSON Schema.
Description
Return
(array)
Source
File: bp-forums/classes/class-bp-rest-topics-endpoint.php
public function get_item_schema() { $schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'topics', 'type' => 'object', 'properties' => array( 'id' => array( 'description' => __( 'Unique identifier for the topic.', 'buddyboss' ), 'type' => 'integer', 'context' => array( 'embed', 'view', 'edit' ), 'readonly' => true, ), 'date' => array( 'description' => __( 'The date the object was published, in the site\'s timezone.', 'buddyboss' ), 'type' => 'string', 'format' => 'date-time', 'context' => array( 'embed', 'view', 'edit' ), ), 'date_gmt' => array( 'description' => __( 'The date the object was published, as GMT.', 'buddyboss' ), 'type' => 'string', 'format' => 'date-time', 'context' => array( 'embed', 'view', 'edit' ), ), 'guid' => array( 'description' => __( 'The url identifier for the topic.', 'buddyboss' ), 'type' => 'object', 'context' => array( 'embed', 'view', 'edit' ), 'readonly' => true, 'properties' => array( 'raw' => array( 'description' => __( 'GUID for the topic, as it exists in the database.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'rendered' => array( 'description' => __( 'GUID for the topic, transformed for display.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), ), ), 'modified' => array( 'description' => __( 'The date for topic was last modified, in the site\'s timezone.', 'buddyboss' ), 'type' => 'string', 'format' => 'date-time', 'context' => array( 'embed', 'view', 'edit' ), 'readonly' => true, ), 'modified_gmt' => array( 'description' => __( 'The date for topic was last modified, as GMT.', 'buddyboss' ), 'type' => 'string', 'format' => 'date-time', 'context' => array( 'embed', 'view', 'edit' ), 'readonly' => true, ), 'password' => array( 'description' => __( 'A password to protect access to the post.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'edit' ), ), 'slug' => array( 'description' => __( 'An alphanumeric unique identifier for the topic.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), 'arg_options' => array( 'sanitize_callback' => 'sanitize_title', ), ), 'status' => array( 'description' => __( 'The current status of the topic.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'link' => array( 'description' => __( 'The permalink to this topic on the site.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), 'format' => 'uri', ), 'author' => array( 'description' => __( 'The ID for the author of the topic.', 'buddyboss' ), 'type' => 'integer', 'context' => array( 'embed', 'view', 'edit' ), ), 'parent' => array( 'description' => __( 'ID of the parent topic.', 'buddyboss' ), 'type' => 'integer', 'context' => array( 'embed', 'view', 'edit' ), ), 'sticky' => array( 'description' => __( 'Whether the topic is sticky or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'total_reply_count' => array( 'description' => __( 'Total replies count in the topic.', 'buddyboss' ), 'type' => 'integer', 'context' => array( 'embed', 'view', 'edit' ), ), 'last_reply_id' => array( 'description' => __( 'Recently posted reply id into the topic.', 'buddyboss' ), 'type' => 'integer', 'context' => array( 'embed', 'view', 'edit' ), ), 'last_active_author' => array( 'description' => __( 'Last updated the user\'s ID in topic.', 'buddyboss' ), 'type' => 'integer', 'context' => array( 'embed', 'view', 'edit' ), ), 'last_active_time' => array( 'description' => __( 'Last updated time for the topic.', 'buddyboss' ), 'type' => 'date-time', 'context' => array( 'embed', 'view', 'edit' ), ), 'is_closed' => array( 'description' => __( 'Whether the topic is closed or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'voice_count' => array( 'description' => __( 'Voice count of the topic', 'buddyboss' ), 'type' => 'integer', 'context' => array( 'embed', 'view', 'edit' ), ), 'forum_id' => array( 'description' => __( 'Forum ID for the topic.', 'buddyboss' ), 'type' => 'integer', 'context' => array( 'embed', 'view', 'edit' ), ), 'is_topic_anonymous' => array( 'description' => __( 'Whether the post is by an anonymous user or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'anonymous_author_data' => array( 'description' => __( 'An anonymous users data.', 'buddyboss' ), 'type' => 'object', 'context' => array( 'embed', 'view', 'edit' ), 'properties' => array( 'name' => array( 'description' => __( 'Name of the anonymous user.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'email' => array( 'description' => __( 'Email address of the anonymous user.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'website' => array( 'description' => __( 'Website of the anonymous user.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'avatar' => array( 'description' => __( 'Avatar url of the anonymous user.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), ), ), 'classes' => array( 'description' => __( 'Classes lists for the topic.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'title' => array( 'description' => __( 'The title of the topic.', 'buddyboss' ), 'context' => array( 'embed', 'view', 'edit' ), 'type' => 'object', 'properties' => array( 'raw' => array( 'description' => __( 'Content for the title of the topic, as it exists in the database.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'rendered' => array( 'description' => __( 'The title of the topic, transformed for display.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), ), ), 'short_content' => array( 'description' => __( 'Short Content of the topic.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'content' => array( 'context' => array( 'embed', 'view', 'edit' ), 'description' => __( 'The content of the topic.', 'buddyboss' ), 'type' => 'object', 'properties' => array( 'raw' => array( 'description' => __( 'Content for the topic, as it exists in the database.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'rendered' => array( 'description' => __( 'HTML content for the topic, transformed for display.', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), ), ), 'group' => array( 'description' => __( 'Topic forum\'s group.', 'buddyboss' ), 'context' => array( 'embed', 'view', 'edit' ), 'type' => 'object', ), 'action_states' => array( 'context' => array( 'embed', 'view', 'edit' ), 'description' => __( 'Available actions with current user for topic.', 'buddyboss' ), 'type' => 'object', 'properties' => array( 'subscribed' => array( 'description' => __( 'Check whether the current user is subscribed or not in the topic.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'favorited' => array( 'description' => __( 'Check whether the topic is favorited or not for the user.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'open' => array( 'description' => __( 'Check whether the topic is open or not for the user.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'sticky' => array( 'description' => __( 'Check whether the topic is sticky or not for the user.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'super_sticky' => array( 'description' => __( 'Check whether the topic is super sticky or not for the user.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'spam' => array( 'description' => __( 'Check whether the topic status is spam or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'trash' => array( 'description' => __( 'Check whether the topic status is trash or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), ), ), 'topic_tags' => array( 'description' => __( 'Topic\'s tags', 'buddyboss' ), 'type' => 'string', 'context' => array( 'embed', 'view', 'edit' ), ), 'current_user_permissions' => array( 'context' => array( 'embed', 'view', 'edit' ), 'description' => __( 'Current user\'s permission with the topic.', 'buddyboss' ), 'type' => 'object', 'properties' => array( 'show_replies' => array( 'description' => __( 'Whether shows the replies for the current user or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'edit' => array( 'description' => __( 'Whether the current user can edit the topic or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'moderate' => array( 'description' => __( 'Whether the current user is moderator or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'reply' => array( 'description' => __( 'Whether the current user can reply on topic or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), 'trash' => array( 'description' => __( 'Whether the current user can trash a topic or not.', 'buddyboss' ), 'type' => 'boolean', 'context' => array( 'embed', 'view', 'edit' ), ), ), ), 'revisions' => array( 'description' => __( 'Revisions for topic.', 'buddyboss' ), 'context' => array( 'embed', 'view', 'edit' ), 'type' => 'object', ), ), ); /** * Filters the topic schema. * * @param string $schema The endpoint schema. */ return apply_filters( 'bp_rest_topic_schema', $this->add_additional_fields_schema( $schema ) ); }
Changelog
Version | Description |
---|---|
0.1.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.