mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
refactor: post object schema to its own reference object, added sourceContent as optional value in post data
This commit is contained in:
@@ -152,3 +152,229 @@ PostObject:
|
|||||||
type: boolean
|
type: boolean
|
||||||
replies:
|
replies:
|
||||||
type: number
|
type: number
|
||||||
|
PostDataObject:
|
||||||
|
description: The output as returned from `Posts.getPostsData`
|
||||||
|
allOf:
|
||||||
|
- type: object
|
||||||
|
properties:
|
||||||
|
pid:
|
||||||
|
type: number
|
||||||
|
uid:
|
||||||
|
type: number
|
||||||
|
description: A user identifier
|
||||||
|
tid:
|
||||||
|
type: number
|
||||||
|
description: A topic identifier
|
||||||
|
content:
|
||||||
|
type: string
|
||||||
|
timestamp:
|
||||||
|
type: number
|
||||||
|
votes:
|
||||||
|
type: number
|
||||||
|
deleted:
|
||||||
|
type: number
|
||||||
|
upvotes:
|
||||||
|
type: number
|
||||||
|
downvotes:
|
||||||
|
type: number
|
||||||
|
bookmarks:
|
||||||
|
type: number
|
||||||
|
deleterUid:
|
||||||
|
type: number
|
||||||
|
edited:
|
||||||
|
type: number
|
||||||
|
timestampISO:
|
||||||
|
type: string
|
||||||
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
||||||
|
editedISO:
|
||||||
|
type: string
|
||||||
|
index:
|
||||||
|
type: number
|
||||||
|
user:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
uid:
|
||||||
|
type: number
|
||||||
|
description: A user identifier
|
||||||
|
isLocal:
|
||||||
|
type: boolean
|
||||||
|
description: Whether the user belongs to the local installation or not.
|
||||||
|
username:
|
||||||
|
type: string
|
||||||
|
description: A friendly name for a given user account
|
||||||
|
displayname:
|
||||||
|
type: string
|
||||||
|
description: This is either username or fullname depending on forum and user settings
|
||||||
|
userslug:
|
||||||
|
type: string
|
||||||
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||||
|
removed, etc.)
|
||||||
|
reputation:
|
||||||
|
type: number
|
||||||
|
postcount:
|
||||||
|
type: number
|
||||||
|
topiccount:
|
||||||
|
type: number
|
||||||
|
picture:
|
||||||
|
type: string
|
||||||
|
nullable: true
|
||||||
|
signature:
|
||||||
|
type: string
|
||||||
|
banned:
|
||||||
|
type: number
|
||||||
|
banned:expire:
|
||||||
|
type: number
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
lastonline:
|
||||||
|
type: number
|
||||||
|
groupTitle:
|
||||||
|
nullable: true
|
||||||
|
type: string
|
||||||
|
groupTitleArray:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
muted:
|
||||||
|
type: boolean
|
||||||
|
description: Whether or not the user has been muted.
|
||||||
|
mutedUntil:
|
||||||
|
type: number
|
||||||
|
description: A UNIX timestamp representing the moment a muted state will be lifted.
|
||||||
|
nullable: true
|
||||||
|
icon:text:
|
||||||
|
type: string
|
||||||
|
description: A single-letter representation of a username. This is used in the
|
||||||
|
auto-generated icon given to users without
|
||||||
|
an avatar
|
||||||
|
icon:bgColor:
|
||||||
|
type: string
|
||||||
|
description: A six-character hexadecimal colour code assigned to the user. This
|
||||||
|
value is used in conjunction with
|
||||||
|
`icon:text` for the user's auto-generated
|
||||||
|
icon
|
||||||
|
example: "#f44336"
|
||||||
|
lastonlineISO:
|
||||||
|
type: string
|
||||||
|
banned_until:
|
||||||
|
type: number
|
||||||
|
banned_until_readable:
|
||||||
|
type: string
|
||||||
|
selectedGroups:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
slug:
|
||||||
|
type: string
|
||||||
|
labelColor:
|
||||||
|
type: string
|
||||||
|
textColor:
|
||||||
|
type: string
|
||||||
|
icon:
|
||||||
|
type: string
|
||||||
|
userTitle:
|
||||||
|
type: string
|
||||||
|
custom_profile_info:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
content:
|
||||||
|
type: string
|
||||||
|
description: HTML that is injected into `topic.tpl` of themes that support custom profile info
|
||||||
|
editor:
|
||||||
|
nullable: true
|
||||||
|
bookmarked:
|
||||||
|
type: boolean
|
||||||
|
upvoted:
|
||||||
|
type: boolean
|
||||||
|
downvoted:
|
||||||
|
type: boolean
|
||||||
|
attachments:
|
||||||
|
type: array
|
||||||
|
replies:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
hasMore:
|
||||||
|
type: boolean
|
||||||
|
users:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
username:
|
||||||
|
type: string
|
||||||
|
description: A friendly name for a given user account
|
||||||
|
userslug:
|
||||||
|
type: string
|
||||||
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||||
|
removed, etc.)
|
||||||
|
picture:
|
||||||
|
type: string
|
||||||
|
uid:
|
||||||
|
type: number
|
||||||
|
description: A user identifier
|
||||||
|
icon:text:
|
||||||
|
type: string
|
||||||
|
description: A single-letter representation of a username. This is used in the
|
||||||
|
auto-generated icon given to users without
|
||||||
|
an avatar
|
||||||
|
icon:bgColor:
|
||||||
|
type: string
|
||||||
|
description: A six-character hexadecimal colour code assigned to the user. This
|
||||||
|
value is used in conjunction with
|
||||||
|
`icon:text` for the user's auto-generated
|
||||||
|
icon
|
||||||
|
example: "#f44336"
|
||||||
|
administrator:
|
||||||
|
type: boolean
|
||||||
|
text:
|
||||||
|
type: string
|
||||||
|
count:
|
||||||
|
type: number
|
||||||
|
hasSingleImmediateReply:
|
||||||
|
type: boolean
|
||||||
|
selfPost:
|
||||||
|
type: boolean
|
||||||
|
events:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
type:
|
||||||
|
type: string
|
||||||
|
id:
|
||||||
|
type: number
|
||||||
|
timestamp:
|
||||||
|
type: number
|
||||||
|
timestampISO:
|
||||||
|
type: string
|
||||||
|
topicOwnerPost:
|
||||||
|
type: boolean
|
||||||
|
display_edit_tools:
|
||||||
|
type: boolean
|
||||||
|
display_delete_tools:
|
||||||
|
type: boolean
|
||||||
|
display_moderator_tools:
|
||||||
|
type: boolean
|
||||||
|
display_move_tools:
|
||||||
|
type: boolean
|
||||||
|
display_post_menu:
|
||||||
|
type: boolean
|
||||||
|
flagId:
|
||||||
|
type: number
|
||||||
|
description: The flag identifier, if this particular post has been flagged before
|
||||||
|
- type: object
|
||||||
|
description: Optional properties that may or may not be present (except for `pid`, which is always present, and is only here as a hack to pass validation)
|
||||||
|
properties:
|
||||||
|
pid:
|
||||||
|
type: number
|
||||||
|
description: A post identifier
|
||||||
|
sourceContent:
|
||||||
|
type: string
|
||||||
|
description: The markdown equivalent of a remote post content, as received (or fetched) from the remote site.
|
||||||
|
required:
|
||||||
|
- pid
|
||||||
|
|||||||
@@ -49,218 +49,7 @@ get:
|
|||||||
posts:
|
posts:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
type: object
|
$ref: ../../components/schemas/PostObject.yaml#/PostDataObject
|
||||||
properties:
|
|
||||||
pid:
|
|
||||||
type: number
|
|
||||||
uid:
|
|
||||||
type: number
|
|
||||||
description: A user identifier
|
|
||||||
tid:
|
|
||||||
type: number
|
|
||||||
description: A topic identifier
|
|
||||||
content:
|
|
||||||
type: string
|
|
||||||
timestamp:
|
|
||||||
type: number
|
|
||||||
votes:
|
|
||||||
type: number
|
|
||||||
deleted:
|
|
||||||
type: number
|
|
||||||
upvotes:
|
|
||||||
type: number
|
|
||||||
downvotes:
|
|
||||||
type: number
|
|
||||||
bookmarks:
|
|
||||||
type: number
|
|
||||||
deleterUid:
|
|
||||||
type: number
|
|
||||||
edited:
|
|
||||||
type: number
|
|
||||||
timestampISO:
|
|
||||||
type: string
|
|
||||||
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
||||||
editedISO:
|
|
||||||
type: string
|
|
||||||
index:
|
|
||||||
type: number
|
|
||||||
user:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
uid:
|
|
||||||
type: number
|
|
||||||
description: A user identifier
|
|
||||||
isLocal:
|
|
||||||
type: boolean
|
|
||||||
description: Whether the user belongs to the local installation or not.
|
|
||||||
username:
|
|
||||||
type: string
|
|
||||||
description: A friendly name for a given user account
|
|
||||||
displayname:
|
|
||||||
type: string
|
|
||||||
description: This is either username or fullname depending on forum and user settings
|
|
||||||
userslug:
|
|
||||||
type: string
|
|
||||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
||||||
removed, etc.)
|
|
||||||
reputation:
|
|
||||||
type: number
|
|
||||||
postcount:
|
|
||||||
type: number
|
|
||||||
topiccount:
|
|
||||||
type: number
|
|
||||||
picture:
|
|
||||||
type: string
|
|
||||||
nullable: true
|
|
||||||
signature:
|
|
||||||
type: string
|
|
||||||
banned:
|
|
||||||
type: number
|
|
||||||
banned:expire:
|
|
||||||
type: number
|
|
||||||
status:
|
|
||||||
type: string
|
|
||||||
lastonline:
|
|
||||||
type: number
|
|
||||||
groupTitle:
|
|
||||||
nullable: true
|
|
||||||
type: string
|
|
||||||
groupTitleArray:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
muted:
|
|
||||||
type: boolean
|
|
||||||
description: Whether or not the user has been muted.
|
|
||||||
mutedUntil:
|
|
||||||
type: number
|
|
||||||
description: A UNIX timestamp representing the moment a muted state will be lifted.
|
|
||||||
nullable: true
|
|
||||||
icon:text:
|
|
||||||
type: string
|
|
||||||
description: A single-letter representation of a username. This is used in the
|
|
||||||
auto-generated icon given to users without
|
|
||||||
an avatar
|
|
||||||
icon:bgColor:
|
|
||||||
type: string
|
|
||||||
description: A six-character hexadecimal colour code assigned to the user. This
|
|
||||||
value is used in conjunction with
|
|
||||||
`icon:text` for the user's auto-generated
|
|
||||||
icon
|
|
||||||
example: "#f44336"
|
|
||||||
lastonlineISO:
|
|
||||||
type: string
|
|
||||||
banned_until:
|
|
||||||
type: number
|
|
||||||
banned_until_readable:
|
|
||||||
type: string
|
|
||||||
selectedGroups:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
slug:
|
|
||||||
type: string
|
|
||||||
labelColor:
|
|
||||||
type: string
|
|
||||||
textColor:
|
|
||||||
type: string
|
|
||||||
icon:
|
|
||||||
type: string
|
|
||||||
userTitle:
|
|
||||||
type: string
|
|
||||||
custom_profile_info:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
content:
|
|
||||||
type: string
|
|
||||||
description: HTML that is injected into `topic.tpl` of themes that support custom profile info
|
|
||||||
editor:
|
|
||||||
nullable: true
|
|
||||||
bookmarked:
|
|
||||||
type: boolean
|
|
||||||
upvoted:
|
|
||||||
type: boolean
|
|
||||||
downvoted:
|
|
||||||
type: boolean
|
|
||||||
attachments:
|
|
||||||
type: array
|
|
||||||
replies:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
hasMore:
|
|
||||||
type: boolean
|
|
||||||
users:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
username:
|
|
||||||
type: string
|
|
||||||
description: A friendly name for a given user account
|
|
||||||
userslug:
|
|
||||||
type: string
|
|
||||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
||||||
removed, etc.)
|
|
||||||
picture:
|
|
||||||
type: string
|
|
||||||
uid:
|
|
||||||
type: number
|
|
||||||
description: A user identifier
|
|
||||||
icon:text:
|
|
||||||
type: string
|
|
||||||
description: A single-letter representation of a username. This is used in the
|
|
||||||
auto-generated icon given to users without
|
|
||||||
an avatar
|
|
||||||
icon:bgColor:
|
|
||||||
type: string
|
|
||||||
description: A six-character hexadecimal colour code assigned to the user. This
|
|
||||||
value is used in conjunction with
|
|
||||||
`icon:text` for the user's auto-generated
|
|
||||||
icon
|
|
||||||
example: "#f44336"
|
|
||||||
administrator:
|
|
||||||
type: boolean
|
|
||||||
text:
|
|
||||||
type: string
|
|
||||||
count:
|
|
||||||
type: number
|
|
||||||
hasSingleImmediateReply:
|
|
||||||
type: boolean
|
|
||||||
selfPost:
|
|
||||||
type: boolean
|
|
||||||
events:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
type:
|
|
||||||
type: string
|
|
||||||
id:
|
|
||||||
type: number
|
|
||||||
timestamp:
|
|
||||||
type: number
|
|
||||||
timestampISO:
|
|
||||||
type: string
|
|
||||||
topicOwnerPost:
|
|
||||||
type: boolean
|
|
||||||
display_edit_tools:
|
|
||||||
type: boolean
|
|
||||||
display_delete_tools:
|
|
||||||
type: boolean
|
|
||||||
display_moderator_tools:
|
|
||||||
type: boolean
|
|
||||||
display_move_tools:
|
|
||||||
type: boolean
|
|
||||||
display_post_menu:
|
|
||||||
type: boolean
|
|
||||||
flagId:
|
|
||||||
type: number
|
|
||||||
description: The flag identifier, if this particular post has been flagged before
|
|
||||||
events:
|
events:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
|
|||||||
Reference in New Issue
Block a user