DEV: Update api docs to deprecate target_usernames field (#12394)
When creating a PM target_usernames has been deprecated for some time
now but the api docs have yet to reflect this.
The api docs now specify to use target_recipients.
See: eef21625c6
This commit is contained in:
parent
01babeccdf
commit
5c84f702b0
|
@ -5,6 +5,12 @@ describe 'posts' do
|
||||||
|
|
||||||
let(:'Api-Key') { Fabricate(:api_key).key }
|
let(:'Api-Key') { Fabricate(:api_key).key }
|
||||||
let(:'Api-Username') { 'system' }
|
let(:'Api-Username') { 'system' }
|
||||||
|
let(:admin) { Fabricate(:admin) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
Jobs.run_immediately!
|
||||||
|
sign_in(admin)
|
||||||
|
end
|
||||||
|
|
||||||
path '/posts.json' do
|
path '/posts.json' do
|
||||||
|
|
||||||
|
@ -90,100 +96,22 @@ describe 'posts' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post 'Creates a new topic, a new post, or a private message' do
|
post 'Creates a new topic, a new post, or a private message' do
|
||||||
tags 'Posts', 'Topics'
|
tags 'Posts', 'Topics', 'Private Messages'
|
||||||
consumes 'application/json'
|
consumes 'application/json'
|
||||||
parameter name: 'Api-Key', in: :header, type: :string, required: true
|
expected_request_schema = load_spec_schema('topic_create_request')
|
||||||
parameter name: 'Api-Username', in: :header, type: :string, required: true
|
parameter name: :params, in: :body, schema: expected_request_schema
|
||||||
# Can't be named :post!
|
|
||||||
parameter name: :post_body, in: :body, schema: {
|
|
||||||
type: :object,
|
|
||||||
properties: {
|
|
||||||
title: {
|
|
||||||
type: :string,
|
|
||||||
description: 'Required if creating a new topic or new private message.'
|
|
||||||
},
|
|
||||||
topic_id: {
|
|
||||||
type: :integer,
|
|
||||||
description: 'Required if creating a new post.'
|
|
||||||
},
|
|
||||||
raw: { type: :string },
|
|
||||||
category: {
|
|
||||||
type: :integer,
|
|
||||||
description: 'Optional if creating a new topic, and ignored if creating a new post.'
|
|
||||||
},
|
|
||||||
target_usernames: {
|
|
||||||
type: :string,
|
|
||||||
description: 'Required for private message, comma separated.',
|
|
||||||
example: 'blake,sam'
|
|
||||||
},
|
|
||||||
archetype: { type: :string },
|
|
||||||
created_at: { type: :string },
|
|
||||||
},
|
|
||||||
required: [ 'raw' ]
|
|
||||||
}
|
|
||||||
|
|
||||||
produces 'application/json'
|
produces 'application/json'
|
||||||
response '200', 'post created' do
|
response '200', 'post created' do
|
||||||
schema type: :object, properties: {
|
expected_response_schema = load_spec_schema('topic_create_response')
|
||||||
id: { type: :integer },
|
schema expected_response_schema
|
||||||
name: { type: :string, nullable: true },
|
|
||||||
username: { type: :string },
|
|
||||||
avatar_template: { type: :string },
|
|
||||||
created_at: { type: :string },
|
|
||||||
cooked: { type: :string },
|
|
||||||
post_number: { type: :integer },
|
|
||||||
post_type: { type: :integer },
|
|
||||||
updated_at: { type: :string },
|
|
||||||
reply_count: { type: :integer },
|
|
||||||
reply_to_post_number: { type: :string, nullable: true },
|
|
||||||
quote_count: { type: :integer },
|
|
||||||
incoming_link_count: { type: :integer },
|
|
||||||
reads: { type: :integer },
|
|
||||||
readers_count: { type: :integer },
|
|
||||||
score: { type: :integer },
|
|
||||||
yours: { type: :boolean },
|
|
||||||
topic_id: { type: :integer },
|
|
||||||
topic_slug: { type: :string },
|
|
||||||
display_username: { type: :string, nullable: true },
|
|
||||||
primary_group_name: { type: :string, nullable: true },
|
|
||||||
primary_group_flair_url: { type: :string, nullable: true },
|
|
||||||
primary_group_flair_bg_color: { type: :string, nullable: true },
|
|
||||||
primary_group_flair_color: { type: :string, nullable: true },
|
|
||||||
version: { type: :integer },
|
|
||||||
can_edit: { type: :boolean },
|
|
||||||
can_delete: { type: :boolean },
|
|
||||||
can_recover: { type: :boolean },
|
|
||||||
can_wiki: { type: :boolean },
|
|
||||||
user_title: { type: :string, nullable: true },
|
|
||||||
actions_summary: {
|
|
||||||
type: :array,
|
|
||||||
items: {
|
|
||||||
type: :object,
|
|
||||||
properties: {
|
|
||||||
id: { type: :integer },
|
|
||||||
can_act: { type: :boolean },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
moderator: { type: :boolean },
|
|
||||||
admin: { type: :boolean },
|
|
||||||
staff: { type: :boolean },
|
|
||||||
user_id: { type: :integer },
|
|
||||||
draft_sequence: { type: :integer },
|
|
||||||
hidden: { type: :boolean },
|
|
||||||
trust_level: { type: :integer },
|
|
||||||
deleted_at: { type: :string, nullable: true },
|
|
||||||
user_deleted: { type: :boolean },
|
|
||||||
edit_reason: { type: :string, nullable: true },
|
|
||||||
can_view_edit_history: { type: :boolean },
|
|
||||||
wiki: { type: :boolean },
|
|
||||||
reviewable_id: { type: :string, nullable: true },
|
|
||||||
reviewable_score_count: { type: :integer },
|
|
||||||
reviewable_score_pending_count: { type: :integer },
|
|
||||||
}
|
|
||||||
|
|
||||||
let(:post_body) { Fabricate(:post) }
|
let(:params) { Fabricate(:post) }
|
||||||
run_test!
|
|
||||||
|
it_behaves_like "a JSON endpoint", 200 do
|
||||||
|
let(:expected_response_schema) { expected_response_schema }
|
||||||
|
let(:expected_request_schema) { expected_request_schema }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"title": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Required if creating a new topic or new private message."
|
||||||
|
},
|
||||||
|
"raw": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"topic_id": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "Required if creating a new post."
|
||||||
|
},
|
||||||
|
"category": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "Optional if creating a new topic, and ignored if creating a new post."
|
||||||
|
},
|
||||||
|
"target_recipients": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Required for private message, comma separated.",
|
||||||
|
"example": "blake,sam"
|
||||||
|
},
|
||||||
|
"target_usernames": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Deprecated. Use target_recipients instead.",
|
||||||
|
"deprecated": true
|
||||||
|
},
|
||||||
|
"archetype": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Required for new private message.",
|
||||||
|
"example": "private_message"
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"raw"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,246 @@
|
||||||
|
{
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"username": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"avatar_template": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"cooked": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"post_number": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"post_type": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"reply_count": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"reply_to_post_number": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"quote_count": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"incoming_link_count": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"reads": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"readers_count": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"score": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"yours": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"topic_id": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"topic_slug": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"display_username": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary_group_name": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary_group_flair_url": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary_group_flair_bg_color": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary_group_flair_color": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"version": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"can_edit": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"can_delete": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"can_recover": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"can_wiki": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"user_title": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"bookmarked": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"actions_summary": {
|
||||||
|
"type": "array",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"can_act": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"id",
|
||||||
|
"can_act"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"moderator": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"admin": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"staff": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"user_id": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"draft_sequence": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"hidden": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"trust_level": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"deleted_at": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"user_deleted": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"edit_reason": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"can_view_edit_history": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"wiki": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"reviewable_id": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"reviewable_score_count": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"reviewable_score_pending_count": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"id",
|
||||||
|
"name",
|
||||||
|
"username",
|
||||||
|
"avatar_template",
|
||||||
|
"created_at",
|
||||||
|
"cooked",
|
||||||
|
"post_number",
|
||||||
|
"post_type",
|
||||||
|
"updated_at",
|
||||||
|
"reply_count",
|
||||||
|
"reply_to_post_number",
|
||||||
|
"quote_count",
|
||||||
|
"incoming_link_count",
|
||||||
|
"reads",
|
||||||
|
"readers_count",
|
||||||
|
"score",
|
||||||
|
"yours",
|
||||||
|
"topic_id",
|
||||||
|
"topic_slug",
|
||||||
|
"display_username",
|
||||||
|
"primary_group_name",
|
||||||
|
"primary_group_flair_url",
|
||||||
|
"primary_group_flair_bg_color",
|
||||||
|
"primary_group_flair_color",
|
||||||
|
"version",
|
||||||
|
"can_edit",
|
||||||
|
"can_delete",
|
||||||
|
"can_recover",
|
||||||
|
"can_wiki",
|
||||||
|
"user_title",
|
||||||
|
"bookmarked",
|
||||||
|
"actions_summary",
|
||||||
|
"moderator",
|
||||||
|
"admin",
|
||||||
|
"staff",
|
||||||
|
"user_id",
|
||||||
|
"draft_sequence",
|
||||||
|
"hidden",
|
||||||
|
"trust_level",
|
||||||
|
"deleted_at",
|
||||||
|
"user_deleted",
|
||||||
|
"edit_reason",
|
||||||
|
"can_view_edit_history",
|
||||||
|
"wiki",
|
||||||
|
"reviewable_id",
|
||||||
|
"reviewable_score_count",
|
||||||
|
"reviewable_score_pending_count"
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue