DEV: Fix several type issues with the api docs (#14016)

`nullable` is no longer a valid type, and types also can't be an empty
string, so just bringing a number of issues with types in compliance
with the openapi spec.
This commit is contained in:
Blake Erickson 2021-08-12 12:25:17 -06:00 committed by GitHub
parent 29bb79de37
commit 65f6d46045
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 179 additions and 179 deletions

View File

@ -39,25 +39,25 @@ describe 'groups' do
mentionable_level: { type: :integer },
messageable_level: { type: :integer },
visibility_level: { type: :integer },
automatic_membership_email_domains: { type: :string, nullable: true },
automatic_membership_email_domains: { type: [:string, :null] },
automatic_membership_retroactive: { type: :boolean },
primary_group: { type: :boolean },
title: { type: :string, nullable: true },
grant_trust_level: { type: :string, nullable: true },
incoming_email: { type: :string, nullable: true },
title: { type: [:string, :null] },
grant_trust_level: { type: [:string, :null] },
incoming_email: { type: [:string, :null] },
has_messages: { type: :boolean },
flair_url: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
bio_raw: { type: :string, nullable: true },
bio_cooked: { type: :string, nullable: true },
bio_excerpt: { type: :string, nullable: true },
flair_url: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
flair_color: { type: [:string, :null] },
bio_raw: { type: [:string, :null] },
bio_cooked: { type: [:string, :null] },
bio_excerpt: { type: [:string, :null] },
public_admission: { type: :boolean },
public_exit: { type: :boolean },
allow_membership_requests: { type: :boolean },
full_name: { type: :string, nullable: true },
full_name: { type: [:string, :null] },
default_notification_level: { type: :integer },
membership_request_template: { type: :string, nullable: true },
membership_request_template: { type: [:string, :null] },
membership_visibility_level: { type: :integer },
can_see_members: { type: :boolean },
publish_read_state: { type: :boolean },

View File

@ -20,8 +20,8 @@ describe 'invites' do
skip_email: { type: :boolean, default: false },
custom_message: { type: :string, description: "optional, for email invites" },
max_redemptions_allowed: { type: :integer, example: 5, default: 1, description: "optional, for link invites" },
topic_id: { type: :int },
group_id: { type: [:int], description: "optional, either this or `group_names`" },
topic_id: { type: :integer },
group_id: { type: :integer, description: "optional, either this or `group_names`" },
group_names: { type: :string, description: "optional, either this or `group_id`" },
expires_at: { type: :string, default: "controlled by invite_expiry_days site setting" },
}
@ -34,7 +34,7 @@ describe 'invites' do
link: { type: :string, example: "http://example.com/invites/9045fd767efe201ca60c6658bcf14158" },
email: { type: :string, example: "not-a-user-yet@example.com" },
emailed: { type: :boolean, example: false },
custom_message: { type: :string, example: "Hello world!", nullable: true },
custom_message: { type: [:string, :null], example: "Hello world!" },
topics: { type: :array, example: [] },
groups: { type: :array, example: [] },
created_at: { type: :string, example: "2021-01-01T12:00:00.000Z" },

View File

@ -29,9 +29,9 @@ describe 'notifications' do
notification_type: { type: :integer },
read: { type: :boolean },
created_at: { type: :string },
post_number: { type: :string, nullable: true },
topic_id: { type: :integer, nullable: true },
slug: { type: :string, nullable: true },
post_number: { type: [:string, :null] },
topic_id: { type: [:integer, :null] },
slug: { type: [:string, :null] },
data: {
type: :object,
properties: {

View File

@ -37,7 +37,7 @@ describe 'posts' do
post_type: { type: :integer },
updated_at: { type: :string },
reply_count: { type: :integer },
reply_to_post_number: { type: :string, nullable: true },
reply_to_post_number: { type: [:string, :null] },
quote_count: { type: :integer },
incoming_link_count: { type: :integer },
reads: { type: :integer },
@ -50,17 +50,17 @@ describe 'posts' do
topic_html_title: { type: :string },
category_id: { type: :integer },
display_username: { type: :string },
primary_group_name: { type: :string, nullable: true },
flair_name: { type: :string, nullable: true },
flair_url: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
primary_group_name: { type: [:string, :null] },
flair_name: { type: [:string, :null] },
flair_url: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
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, nullable: true },
user_title: { type: [:string, :null] },
raw: { type: :string },
actions_summary: {
type: :array,
@ -78,12 +78,12 @@ describe 'posts' do
user_id: { type: :integer },
hidden: { type: :boolean },
trust_level: { type: :integer },
deleted_at: { type: :string, nullable: true },
deleted_at: { type: [:string, :null] },
user_deleted: { type: :boolean },
edit_reason: { type: :string, nullable: true },
edit_reason: { type: [:string, :null] },
can_view_edit_history: { type: :boolean },
wiki: { type: :boolean },
reviewable_id: { type: :string, nullable: true },
reviewable_id: { type: [:string, :null] },
reviewable_score_count: { type: :integer },
reviewable_score_pending_count: { type: :integer },
}
@ -130,7 +130,7 @@ describe 'posts' do
response '200', 'latest posts' do
schema type: :object, properties: {
id: { type: :integer },
name: { type: :string, nullable: true },
name: { type: [:string, :null] },
username: { type: :string },
avatar_template: { type: :string },
created_at: { type: :string },
@ -139,7 +139,7 @@ describe 'posts' do
post_type: { type: :integer },
updated_at: { type: :string },
reply_count: { type: :integer },
reply_to_post_number: { type: :string, nullable: true },
reply_to_post_number: { type: [:string, :null] },
quote_count: { type: :integer },
incoming_link_count: { type: :integer },
reads: { type: :integer },
@ -148,18 +148,18 @@ describe 'posts' do
yours: { type: :boolean },
topic_id: { type: :integer },
topic_slug: { type: :string },
display_username: { type: :string, nullable: true },
primary_group_name: { type: :string, nullable: true },
flair_name: { type: :string, nullable: true },
flair_url: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
display_username: { type: [:string, :null] },
primary_group_name: { type: [:string, :null] },
flair_name: { type: [:string, :null] },
flair_url: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
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, nullable: true },
user_title: { type: [:string, :null] },
raw: { type: :string },
actions_summary: {
type: :array,
@ -177,12 +177,12 @@ describe 'posts' do
user_id: { type: :integer },
hidden: { type: :boolean },
trust_level: { type: :integer },
deleted_at: { type: :string, nullable: true },
deleted_at: { type: [:string, :null] },
user_deleted: { type: :boolean },
edit_reason: { type: :string, nullable: true },
edit_reason: { type: [:string, :null] },
can_view_edit_history: { type: :boolean },
wiki: { type: :boolean },
reviewable_id: { type: :string, nullable: true },
reviewable_id: { type: [:string, :null] },
reviewable_score_count: { type: :integer },
reviewable_score_pending_count: { type: :integer },
}
@ -219,7 +219,7 @@ describe 'posts' do
type: :object,
properties: {
id: { type: :integer },
name: { type: :string, nullable: true },
name: { type: [:string, :null] },
username: { type: :string },
avatar_template: { type: :string },
created_at: { type: :string },
@ -228,7 +228,7 @@ describe 'posts' do
post_type: { type: :integer },
updated_at: { type: :string },
reply_count: { type: :integer },
reply_to_post_number: { type: :string, nullable: true },
reply_to_post_number: { type: [:string, :null] },
quote_count: { type: :integer },
incoming_link_count: { type: :integer },
reads: { type: :integer },
@ -237,17 +237,17 @@ describe 'posts' do
yours: { type: :boolean },
topic_id: { type: :integer },
topic_slug: { type: :string },
display_username: { type: :string, nullable: true },
primary_group_name: { type: :string, nullable: true },
flair_url: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
display_username: { type: [:string, :null] },
primary_group_name: { type: [:string, :null] },
flair_url: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
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, nullable: true },
user_title: { type: [:string, :null] },
actions_summary: {
type: :array,
items: {
@ -265,12 +265,12 @@ describe 'posts' do
draft_sequence: { type: :integer },
hidden: { type: :boolean },
trust_level: { type: :integer },
deleted_at: { type: :string, nullable: true },
deleted_at: { type: [:string, :null] },
user_deleted: { type: :boolean },
edit_reason: { type: :string, nullable: true },
edit_reason: { type: [:string, :null] },
can_view_edit_history: { type: :boolean },
wiki: { type: :boolean },
reviewable_id: { type: :string, nullable: true },
reviewable_id: { type: [:string, :null] },
reviewable_score_count: { type: :integer },
reviewable_score_pending_count: { type: :integer },
}
@ -350,7 +350,7 @@ describe 'posts' do
post_type: { type: :integer },
updated_at: { type: :string },
reply_count: { type: :integer },
reply_to_post_number: { type: :string, nullable: true },
reply_to_post_number: { type: [:string, :null] },
quote_count: { type: :integer },
incoming_link_count: { type: :integer },
reads: { type: :integer },
@ -360,17 +360,17 @@ describe 'posts' do
topic_id: { type: :integer },
topic_slug: { type: :string },
display_username: { type: :string },
primary_group_name: { type: :string, nullable: true },
flair_name: { type: :string, nullable: true },
flair_url: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
primary_group_name: { type: [:string, :null] },
flair_name: { type: [:string, :null] },
flair_url: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
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, nullable: true },
user_title: { type: [:string, :null] },
actions_summary: {
type: :array,
items: {
@ -389,13 +389,13 @@ describe 'posts' do
user_id: { type: :integer },
hidden: { type: :boolean },
trust_level: { type: :integer },
deleted_at: { type: :string, nullable: true },
deleted_at: { type: [:string, :null] },
user_deleted: { type: :boolean },
edit_reason: { type: :string, nullable: true },
edit_reason: { type: [:string, :null] },
can_view_edit_history: { type: :boolean },
wiki: { type: :boolean },
notice: { type: :object },
reviewable_id: { type: :string, nullable: true },
reviewable_id: { type: [:string, :null] },
reviewable_score_count: { type: :integer },
reviewable_score_pending_count: { type: :integer },
}

View File

@ -40,7 +40,7 @@ describe 'private messages' do
type: :object,
properties: {
can_create_topic: { type: :boolean },
draft: { type: :string, nullable: true },
draft: { type: [:string, :null] },
draft_key: { type: :string },
draft_sequence: { type: :integer },
per_page: { type: :integer },
@ -56,7 +56,7 @@ describe 'private messages' do
posts_count: { type: :integer },
reply_count: { type: :integer },
highest_post_number: { type: :integer },
image_url: { type: :string, nullable: true },
image_url: { type: [:string, :null] },
created_at: { type: :string },
last_posted_at: { type: :string },
bumped: { type: :boolean },
@ -66,7 +66,7 @@ describe 'private messages' do
last_read_post_number: { type: :integer },
unread_posts: { type: :integer },
pinned: { type: :boolean },
unpinned: { type: :string, nullable: true },
unpinned: { type: [:string, :null] },
visible: { type: :boolean },
closed: { type: :boolean },
archived: { type: :boolean },
@ -77,9 +77,9 @@ describe 'private messages' do
like_count: { type: :integer },
has_summary: { type: :boolean },
last_poster_username: { type: :string },
category_id: { type: :string, nullable: true },
category_id: { type: [:string, :null] },
pinned_globally: { type: :boolean },
featured_link: { type: :string, nullable: true },
featured_link: { type: [:string, :null] },
allowed_user_count: { type: :integer },
posters: {
type: :array,
@ -89,7 +89,7 @@ describe 'private messages' do
extras: { type: :string },
description: { type: :string },
user_id: { type: :integer },
primary_group_id: { type: :string, nullable: true },
primary_group_id: { type: [:string, :null] },
}
},
},
@ -99,9 +99,9 @@ describe 'private messages' do
type: :object,
properties: {
extras: { type: :string },
description: { type: :string, nullable: true },
description: { type: [:string, :null] },
user_id: { type: :integer },
primary_group_id: { type: :string, nullable: true },
primary_group_id: { type: [:string, :null] },
}
},
},
@ -135,7 +135,7 @@ describe 'private messages' do
properties: {
id: { type: :integer },
username: { type: :string },
name: { type: :string, nullable: true },
name: { type: [:string, :null] },
avatar_template: { type: :string },
}
},
@ -149,7 +149,7 @@ describe 'private messages' do
type: :object,
properties: {
can_create_topic: { type: :boolean },
draft: { type: :string, nullable: true },
draft: { type: [:string, :null] },
draft_key: { type: :string },
draft_sequence: { type: :integer },
per_page: { type: :integer },
@ -165,7 +165,7 @@ describe 'private messages' do
posts_count: { type: :integer },
reply_count: { type: :integer },
highest_post_number: { type: :integer },
image_url: { type: :string, nullable: true },
image_url: { type: [:string, :null] },
created_at: { type: :string },
last_posted_at: { type: :string },
bumped: { type: :boolean },
@ -175,7 +175,7 @@ describe 'private messages' do
last_read_post_number: { type: :integer },
unread_posts: { type: :integer },
pinned: { type: :boolean },
unpinned: { type: :string, nullable: true },
unpinned: { type: [:string, :null] },
visible: { type: :boolean },
closed: { type: :boolean },
archived: { type: :boolean },
@ -186,9 +186,9 @@ describe 'private messages' do
like_count: { type: :integer },
has_summary: { type: :boolean },
last_poster_username: { type: :string },
category_id: { type: :string, nullable: true },
category_id: { type: [:string, :null] },
pinned_globally: { type: :boolean },
featured_link: { type: :string, nullable: true },
featured_link: { type: [:string, :null] },
allowed_user_count: { type: :integer },
posters: {
type: :array,
@ -198,7 +198,7 @@ describe 'private messages' do
extras: { type: :string },
description: { type: :string },
user_id: { type: :integer },
primary_group_id: { type: :string, nullable: true },
primary_group_id: { type: [:string, :null] },
}
},
},

View File

@ -48,13 +48,13 @@
"type": "string"
},
"last_seen_age": {
"type": ""
"type": ["number", "null"]
},
"last_emailed_age": {
"type": ""
"type": ["number", "null"]
},
"created_at_age": {
"type": ""
"type": ["number", "null"]
},
"trust_level": {
"type": "integer"

View File

@ -39,13 +39,13 @@
"type": "string"
},
"last_seen_age": {
"type": ""
"type": ["number", "null"]
},
"last_emailed_age": {
"type": ""
"type": ["number", "null"]
},
"created_at_age": {
"type": ""
"type": ["number", "null"]
},
"trust_level": {
"type": "integer"
@ -163,7 +163,7 @@
"type": "integer"
},
"bounce_score": {
"type": ""
"type": ["integer", "null"]
},
"reset_bounce_score_after": {
"type": ["string", "null"]

View File

@ -190,7 +190,7 @@ describe 'tags' do
text: { type: :string },
count: { type: :integer },
pm_count: { type: :integer },
target_tag: { type: :string, nullable: true },
target_tag: { type: [:string, :null] },
}
},
},
@ -227,7 +227,7 @@ describe 'tags' do
properties: {
id: { type: :integer },
username: { type: :string },
name: { type: :string, nullable: true },
name: { type: [:string, :null] },
avatar_template: { type: :string },
}
},
@ -241,7 +241,7 @@ describe 'tags' do
type: :object,
properties: {
can_create_topic: { type: :boolean },
draft: { type: :string, nullable: true },
draft: { type: [:string, :null] },
draft_key: { type: :string },
draft_sequence: { type: :integer },
per_page: { type: :integer },
@ -269,7 +269,7 @@ describe 'tags' do
posts_count: { type: :integer },
reply_count: { type: :integer },
highest_post_number: { type: :integer },
image_url: { type: :string, nullable: true },
image_url: { type: [:string, :null] },
created_at: { type: :string },
last_posted_at: { type: :string },
bumped: { type: :boolean },
@ -279,7 +279,7 @@ describe 'tags' do
last_read_post_number: { type: :integer },
unread_posts: { type: :integer },
pinned: { type: :boolean },
unpinned: { type: :string, nullable: true },
unpinned: { type: [:string, :null] },
visible: { type: :boolean },
closed: { type: :boolean },
archived: { type: :boolean },
@ -297,7 +297,7 @@ describe 'tags' do
last_poster_username: { type: :string },
category_id: { type: :integer },
pinned_globally: { type: :boolean },
featured_link: { type: :string, nullable: true },
featured_link: { type: [:string, :null] },
posters: {
type: :array,
items: {
@ -306,7 +306,7 @@ describe 'tags' do
extras: { type: :string },
description: { type: :string },
user_id: { type: :integer },
primary_group_id: { type: :string, nullable: true },
primary_group_id: { type: [:string, :null] },
}
},
},

View File

@ -33,7 +33,7 @@ describe 'topics' do
type: :object,
properties: {
id: { type: :integer },
name: { type: :string, nullable: true },
name: { type: [:string, :null] },
username: { type: :string },
avatar_template: { type: :string },
created_at: { type: :string },
@ -42,7 +42,7 @@ describe 'topics' do
post_type: { type: :integer },
updated_at: { type: :string },
reply_count: { type: :integer },
reply_to_post_number: { type: :string, nullable: true },
reply_to_post_number: { type: [:string, :null] },
quote_count: { type: :integer },
incoming_link_count: { type: :integer },
reads: { type: :integer },
@ -51,19 +51,19 @@ describe 'topics' do
yours: { type: :boolean },
topic_id: { type: :integer },
topic_slug: { type: :string },
display_username: { type: :string, nullable: true },
primary_group_name: { type: :string, nullable: true },
flair_name: { type: :string, nullable: true },
flair_url: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
display_username: { type: [:string, :null] },
primary_group_name: { type: [:string, :null] },
flair_name: { type: [:string, :null] },
flair_url: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
flair_color: { type: [:string, :null] },
version: { type: :integer },
can_edit: { type: :boolean },
can_delete: { type: :boolean },
can_recover: { type: :boolean },
can_wiki: { type: :boolean },
read: { type: :boolean },
user_title: { type: :string, nullable: true },
user_title: { type: [:string, :null] },
actions_summary: {
type: :array,
items: {
@ -80,9 +80,9 @@ describe 'topics' do
user_id: { type: :integer },
hidden: { type: :boolean },
trust_level: { type: :integer },
deleted_at: { type: :string, nullable: true },
deleted_at: { type: [:string, :null] },
user_deleted: { type: :boolean },
edit_reason: { type: :string, nullable: true },
edit_reason: { type: [:string, :null] },
can_view_edit_history: { type: :boolean },
wiki: { type: :boolean },
reviewable_id: { type: :integer },
@ -134,7 +134,7 @@ describe 'topics' do
post_type: { type: :integer },
updated_at: { type: :string },
reply_count: { type: :integer },
reply_to_post_number: { type: :string, nullable: true },
reply_to_post_number: { type: [:string, :null] },
quote_count: { type: :integer },
incoming_link_count: { type: :integer },
reads: { type: :integer },
@ -144,11 +144,11 @@ describe 'topics' do
topic_id: { type: :integer },
topic_slug: { type: :string },
display_username: { type: :string },
primary_group_name: { type: :string, nullable: true },
flair_name: { type: :string, nullable: true },
flair_url: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
primary_group_name: { type: [:string, :null] },
flair_name: { type: [:string, :null] },
flair_url: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
flair_color: { type: [:string, :null] },
version: { type: :integer },
can_edit: { type: :boolean },
can_delete: { type: :boolean },
@ -167,7 +167,7 @@ describe 'topics' do
},
},
read: { type: :boolean },
user_title: { type: :string, nullable: true },
user_title: { type: [:string, :null] },
actions_summary: {
type: :array,
items: {
@ -184,9 +184,9 @@ describe 'topics' do
user_id: { type: :integer },
hidden: { type: :boolean },
trust_level: { type: :integer },
deleted_at: { type: :string, nullable: true },
deleted_at: { type: [:string, :null] },
user_deleted: { type: :boolean },
edit_reason: { type: :string, nullable: true },
edit_reason: { type: [:string, :null] },
can_view_edit_history: { type: :boolean },
wiki: { type: :boolean },
reviewable_id: { type: :integer },
@ -219,9 +219,9 @@ describe 'topics' do
posts_count: { type: :integer },
reply_count: { type: :integer },
highest_post_number: { type: :integer },
image_url: { type: :string, nullable: true },
image_url: { type: [:string, :null] },
created_at: { type: :string },
last_posted_at: { type: :string, nullable: true },
last_posted_at: { type: [:string, :null] },
bumped: { type: :boolean },
bumped_at: { type: :string },
archetype: { type: :string },
@ -239,13 +239,13 @@ describe 'topics' do
like_count: { type: :integer },
views: { type: :integer },
category_id: { type: :integer },
featured_link: { type: :string, nullable: true },
featured_link: { type: [:string, :null] },
posters: {
type: :array,
items: {
type: :object,
properties: {
extras: { type: :string, nullable: true },
extras: { type: [:string, :null] },
description: { type: :string },
user: {
type: :object,
@ -270,7 +270,7 @@ describe 'topics' do
views: { type: :integer },
reply_count: { type: :integer },
like_count: { type: :integer },
last_posted_at: { type: :string, nullable: true },
last_posted_at: { type: [:string, :null] },
visible: { type: :boolean },
closed: { type: :boolean },
archived: { type: :boolean },
@ -278,22 +278,22 @@ describe 'topics' do
archetype: { type: :string },
slug: { type: :string },
category_id: { type: :integer },
word_count: { type: :integer, nullable: true },
deleted_at: { type: :string, nullable: true },
word_count: { type: [:integer, :null] },
deleted_at: { type: [:string, :null] },
user_id: { type: :integer },
featured_link: { type: :string, nullable: true },
featured_link: { type: [:string, :null] },
pinned_globally: { type: :boolean },
pinned_at: { type: :string, nullable: true },
pinned_until: { type: :string, nullable: true },
image_url: { type: :string, nullable: true },
draft: { type: :string, nullable: true },
pinned_at: { type: [:string, :null] },
pinned_until: { type: [:string, :null] },
image_url: { type: [:string, :null] },
draft: { type: [:string, :null] },
draft_key: { type: :string },
draft_sequence: { type: :integer },
unpinned: { type: :string, nullable: true },
unpinned: { type: [:string, :null] },
pinned: { type: :boolean },
current_post_number: { type: :integer },
highest_post_number: { type: :integer, nullable: true },
deleted_by: { type: :string, nullable: true },
highest_post_number: { type: [:integer, :null] },
deleted_by: { type: [:string, :null] },
has_deleted: { type: :boolean },
actions_summary: {
type: :array,
@ -309,11 +309,11 @@ describe 'topics' do
},
chunk_size: { type: :integer },
bookmarked: { type: :boolean },
topic_timer: { type: :string, nullable: true },
topic_timer: { type: [:string, :null] },
message_bus_last_id: { type: :integer },
participant_count: { type: :integer },
show_read_indicator: { type: :boolean },
thumbnails: { type: :string, nullable: true },
thumbnails: { type: [:string, :null] },
details: {
type: :object,
properties: {
@ -338,11 +338,11 @@ describe 'topics' do
name: { type: :string },
avatar_template: { type: :string },
post_count: { type: :integer },
primary_group_name: { type: :string, nullable: true },
flair_name: { type: :string, nullable: true },
flair_url: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
primary_group_name: { type: [:string, :null] },
flair_name: { type: [:string, :null] },
flair_url: { type: [:string, :null] },
flair_color: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
}
},
},
@ -529,7 +529,7 @@ describe 'topics' do
response '200', 'topic updated' do
schema type: :object, properties: {
success: { type: :string, example: "OK" },
topic_status_update: { type: :string, nullable: true },
topic_status_update: { type: [:string, :null] },
}
let(:request_body) { { status: 'closed', enabled: 'true' } }
@ -567,7 +567,7 @@ describe 'topics' do
properties: {
id: { type: :integer },
username: { type: :string },
name: { type: :string, nullable: true },
name: { type: [:string, :null] },
avatar_template: { type: :string },
}
},
@ -581,7 +581,7 @@ describe 'topics' do
type: :object,
properties: {
can_create_topic: { type: :boolean },
draft: { type: :string, nullable: true },
draft: { type: [:string, :null] },
draft_key: { type: :string },
draft_sequence: { type: :integer },
per_page: { type: :integer },
@ -607,7 +607,7 @@ describe 'topics' do
last_read_post_number: { type: :integer },
unread_posts: { type: :integer },
pinned: { type: :boolean },
unpinned: { type: :string, nullable: true },
unpinned: { type: [:string, :null] },
visible: { type: :boolean },
closed: { type: :boolean },
archived: { type: :boolean },
@ -621,7 +621,7 @@ describe 'topics' do
category_id: { type: :integer },
op_like_count: { type: :integer },
pinned_globally: { type: :boolean },
featured_link: { type: :string, nullable: true },
featured_link: { type: [:string, :null] },
posters: {
type: :array,
items: {
@ -630,7 +630,7 @@ describe 'topics' do
extras: { type: :string },
description: { type: :string },
user_id: { type: :integer },
primary_group_id: { type: :string, nullable: true },
primary_group_id: { type: [:string, :null] },
}
},
},
@ -680,7 +680,7 @@ describe 'topics' do
type: :object,
properties: {
can_create_topic: { type: :boolean },
draft: { type: :string, nullable: true },
draft: { type: [:string, :null] },
draft_key: { type: :string },
draft_sequence: { type: :integer },
for_period: { type: :string },
@ -697,7 +697,7 @@ describe 'topics' do
posts_count: { type: :integer },
reply_count: { type: :integer },
highest_post_number: { type: :integer },
image_url: { type: :string, nullable: true },
image_url: { type: [:string, :null] },
created_at: { type: :string },
last_posted_at: { type: :string },
bumped: { type: :boolean },
@ -721,16 +721,16 @@ describe 'topics' do
category_id: { type: :integer },
op_like_count: { type: :integer },
pinned_globally: { type: :boolean },
featured_link: { type: :string, nullable: true },
featured_link: { type: [:string, :null] },
posters: {
type: :array,
items: {
type: :object,
properties: {
extras: { type: :string, nullable: true },
extras: { type: [:string, :null] },
description: { type: :string },
user_id: { type: :integer },
primary_group_id: { type: :string, nullable: true },
primary_group_id: { type: [:string, :null] },
}
},
},
@ -782,7 +782,7 @@ describe 'topics' do
type: :object,
properties: {
can_create_topic: { type: :boolean },
draft: { type: :string, nullable: true },
draft: { type: [:string, :null] },
draft_key: { type: :string },
draft_sequence: { type: :integer },
for_period: { type: :string },
@ -799,7 +799,7 @@ describe 'topics' do
posts_count: { type: :integer },
reply_count: { type: :integer },
highest_post_number: { type: :integer },
image_url: { type: :string, nullable: true },
image_url: { type: [:string, :null] },
created_at: { type: :string },
last_posted_at: { type: :string },
bumped: { type: :boolean },
@ -823,16 +823,16 @@ describe 'topics' do
category_id: { type: :integer },
op_like_count: { type: :integer },
pinned_globally: { type: :boolean },
featured_link: { type: :string, nullable: true },
featured_link: { type: [:string, :null] },
posters: {
type: :array,
items: {
type: :object,
properties: {
extras: { type: :string, nullable: true },
extras: { type: [:string, :null] },
description: { type: :string },
user_id: { type: :integer },
primary_group_id: { type: :string, nullable: true },
primary_group_id: { type: [:string, :null] },
}
},
},
@ -947,10 +947,10 @@ describe 'topics' do
schema type: :object, properties: {
success: { type: :string, example: "OK" },
execute_at: { type: :string },
duration: { type: :string, nullable: true },
duration: { type: [:string, :null] },
based_on_last_post: { type: :boolean },
closed: { type: :boolean },
category_id: { type: :string, nullable: true },
category_id: { type: [:string, :null] },
}
let(:request_body) { { time: Time.current + 1.day, status_type: 'close' } }

View File

@ -125,8 +125,8 @@ RSpec.configure do |config|
username: { type: :string },
name: { type: :string },
avatar_template: { type: :string },
last_posted_at: { type: :string, nullable: true },
last_seen_at: { type: :string, nullable: true },
last_posted_at: { type: [:string, :null] },
last_seen_at: { type: [:string, :null] },
created_at: { type: :string },
ignored: { type: :boolean },
muted: { type: :boolean },
@ -137,7 +137,7 @@ RSpec.configure do |config|
trust_level: { type: :integer },
moderator: { type: :boolean },
admin: { type: :boolean },
title: { type: :string, nullable: true },
title: { type: [:string, :null] },
badge_count: { type: :integer },
user_fields: {
type: :object,
@ -151,18 +151,18 @@ RSpec.configure do |config|
},
time_read: { type: :integer },
recent_time_read: { type: :integer },
primary_group_id: { type: :string, nullable: true },
primary_group_name: { type: :string, nullable: true },
flair_url: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
featured_topic: { type: :string, nullable: true },
primary_group_id: { type: [:string, :null] },
primary_group_name: { type: [:string, :null] },
flair_url: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
flair_color: { type: [:string, :null] },
featured_topic: { type: [:string, :null] },
staged: { type: :boolean },
can_edit: { type: :boolean },
can_edit_username: { type: :boolean },
can_edit_email: { type: :boolean },
can_edit_name: { type: :boolean },
uploaded_avatar_id: { type: :string, nullable: true },
uploaded_avatar_id: { type: [:string, :null] },
has_title_badges: { type: :boolean },
pending_count: { type: :integer },
profile_view_count: { type: :integer },
@ -172,7 +172,7 @@ RSpec.configure do |config|
post_count: { type: :integer },
can_be_deleted: { type: :boolean },
can_delete_all_posts: { type: :boolean },
locale: { type: :string, nullable: true },
locale: { type: [:string, :null] },
muted_category_ids: {
type: :array,
items: {
@ -218,7 +218,7 @@ RSpec.configure do |config|
items: {
},
},
system_avatar_upload_id: { type: :string, nullable: true },
system_avatar_upload_id: { type: [:string, :null] },
system_avatar_template: { type: :string },
muted_usernames: {
type: :array,
@ -239,7 +239,7 @@ RSpec.configure do |config|
can_change_bio: { type: :boolean },
can_change_location: { type: :boolean },
can_change_website: { type: :boolean },
user_api_keys: { type: :string, nullable: true },
user_api_keys: { type: [:string, :null] },
user_auth_tokens: {
type: :array,
items: {
@ -263,7 +263,7 @@ RSpec.configure do |config|
items: {
},
},
invited_by: { type: :string, nullable: true },
invited_by: { type: [:string, :null] },
groups: {
type: :array,
items: {
@ -278,22 +278,22 @@ RSpec.configure do |config|
messageable_level: { type: :integer },
visibility_level: { type: :integer },
primary_group: { type: :boolean },
title: { type: :string, nullable: true },
grant_trust_level: { type: :string, nullable: true },
incoming_email: { type: :string, nullable: true },
title: { type: [:string, :null] },
grant_trust_level: { type: [:string, :null] },
incoming_email: { type: [:string, :null] },
has_messages: { type: :boolean },
flair_url: { type: :string, nullable: true },
flair_bg_color: { type: :string, nullable: true },
flair_color: { type: :string, nullable: true },
bio_raw: { type: :string, nullable: true },
bio_cooked: { type: :string, nullable: true },
bio_excerpt: { type: :string, nullable: true },
flair_url: { type: [:string, :null] },
flair_bg_color: { type: [:string, :null] },
flair_color: { type: [:string, :null] },
bio_raw: { type: [:string, :null] },
bio_cooked: { type: [:string, :null] },
bio_excerpt: { type: [:string, :null] },
public_admission: { type: :boolean },
public_exit: { type: :boolean },
allow_membership_requests: { type: :boolean },
full_name: { type: :string, nullable: true },
full_name: { type: [:string, :null] },
default_notification_level: { type: :integer },
membership_request_template: { type: :string, nullable: true },
membership_request_template: { type: [:string, :null] },
members_visibility_level: { type: :integer },
can_see_members: { type: :boolean },
can_admin_group: { type: :boolean },
@ -322,8 +322,8 @@ RSpec.configure do |config|
email_level: { type: :integer },
email_messages_level: { type: :integer },
external_links_in_new_tab: { type: :boolean },
color_scheme_id: { type: :string, nullable: true },
dark_scheme_id: { type: :string, nullable: true },
color_scheme_id: { type: [:string, :null] },
dark_scheme_id: { type: [:string, :null] },
dynamic_favicon: { type: :boolean },
enable_quoting: { type: :boolean },
enable_defer: { type: :boolean },
@ -344,12 +344,12 @@ RSpec.configure do |config|
theme_key_seq: { type: :integer },
allow_private_messages: { type: :boolean },
enable_allowed_pm_users: { type: :boolean },
homepage_id: { type: :string, nullable: true },
homepage_id: { type: [:string, :null] },
hide_profile_and_presence: { type: :boolean },
text_size: { type: :string },
text_size_seq: { type: :integer },
title_count_mode: { type: :string },
timezone: { type: :string, nullable: true },
timezone: { type: [:string, :null] },
skip_new_user_tips: { type: :boolean },
}
},