mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-13 18:17:42 +01:00
* confirmObj changes dont expire confirm:<code>, add a expires field instead dont expire confirm:byUid:<uid> on admin manage users display the users email status 1. verified 2. verify email sent (pending) 3. verify email sent (expired) 4. no email entered fix validate email in acp to use email in user:<uid> if they have one if not check if its in confirm:<code> if its not in above cant validate throw error fix send validate email to use email in user:<uid> if they have one if not check if its in confirm:<code> if its not in above too cant validate throw error * add back socket.io tests * test: fix confirm tests no longer using pexpire return correct time left on token * chore: update openapi * fix: delete call * test: mget test fixes * test: fix tests
761 lines
22 KiB
YAML
761 lines
22 KiB
YAML
UserObject:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
example: 1
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
example: Dragon Fruit
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.)
|
|
example: dragon-fruit
|
|
email:
|
|
type: string
|
|
description: Email address associated with the user account
|
|
example: dragonfruit@example.org
|
|
'email:confirmed':
|
|
type: number
|
|
description: Whether the user has confirmed their email address or not
|
|
example: 1
|
|
joindate:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user's account was created
|
|
example: 1585337827953
|
|
lastonline:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user was last recorded online on this site
|
|
example: 1585337827953
|
|
picture:
|
|
type: string
|
|
description: A URL pointing to a picture to be used as the user's avatar
|
|
example: 'https://images.unsplash.com/photo-1560070094-e1f2ddec4337?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=256&h=256&q=80'
|
|
nullable: true
|
|
fullname:
|
|
type: string
|
|
example: Mr. Dragon Fruit Jr.
|
|
displayname:
|
|
type: string
|
|
description: This is either username or fullname depending on forum and user settings
|
|
example: Dragon Fruit
|
|
location:
|
|
type: string
|
|
example: 'Toronto, Canada'
|
|
nullable: true
|
|
birthday:
|
|
type: string
|
|
description: A birthdate given in an ISO format parseable by the Date object
|
|
example: 03/27/2020
|
|
nullable: true
|
|
website:
|
|
type: string
|
|
example: 'https://example.org'
|
|
nullable: true
|
|
aboutme:
|
|
type: string
|
|
example: |
|
|
This is a paragraph all about how my life got twist-turned upside-down
|
|
and I'd like to take a minute and sit right here,
|
|
to tell you all about how I became the administrator of NodeBB
|
|
nullable: true
|
|
signature:
|
|
type: string
|
|
example: |
|
|
This is an example signature
|
|
It can span multiple lines.
|
|
nullable: true
|
|
uploadedpicture:
|
|
type: string
|
|
example: /assets/profile/1-profileimg.png
|
|
description: 'In almost all cases, defer to "picture" instead. Use this if you need to specifically reference the picture uploaded to the forum.'
|
|
nullable: true
|
|
profileviews:
|
|
type: number
|
|
description: The number of times this user's profile has been viewed
|
|
example: 1000
|
|
reputation:
|
|
type: number
|
|
description: The user's reputation score on the forum. Out-of-the-box, users gain/lose reputation points based on upvotes/downvotes, though plugins can alter the logic and criterion for awarding reputation points
|
|
example: 100
|
|
postcount:
|
|
type: number
|
|
example: 1000
|
|
topiccount:
|
|
type: number
|
|
example: 50
|
|
lastposttime:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user posted last
|
|
example: 1585337827953
|
|
banned:
|
|
type: number
|
|
description: A Boolean representing whether a user is banned or not
|
|
example: 0
|
|
'banned:expire':
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the ban will be lifted
|
|
example: 1585337827953
|
|
status:
|
|
type: string
|
|
enum:
|
|
- online
|
|
- offline
|
|
- dnd
|
|
- away
|
|
example: online
|
|
flags:
|
|
type: number
|
|
example: 0
|
|
nullable: true
|
|
followerCount:
|
|
type: number
|
|
example: 2
|
|
followingCount:
|
|
type: number
|
|
example: 5
|
|
'cover:url':
|
|
type: string
|
|
example: /assets/profile/1-cover.png
|
|
nullable: true
|
|
'cover:position':
|
|
type: string
|
|
example: 50.0301% 19.2464%
|
|
nullable: true
|
|
groupTitle:
|
|
type: string
|
|
example: '["administrators","Staff"]'
|
|
nullable: true
|
|
groupTitleArray:
|
|
type: array
|
|
example:
|
|
- administrators
|
|
- Staff
|
|
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.
|
|
mutedReason:
|
|
type: string
|
|
description: The admin-provided reason for being muted.
|
|
'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
|
|
example: D
|
|
'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: '#9c27b0'
|
|
joindateISO:
|
|
type: string
|
|
example: '2020-03-27T20:30:36.590Z'
|
|
lastonlineISO:
|
|
type: string
|
|
example: '2020-03-27T20:30:36.590Z'
|
|
banned_until:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment a ban will be lifted
|
|
example: 0
|
|
banned_until_readable:
|
|
type: string
|
|
description: An ISO 8601 formatted date string representing the moment a ban will be lifted, or the words "Not Banned"
|
|
example: Not Banned
|
|
required:
|
|
- uid
|
|
- username
|
|
- userslug
|
|
- 'email:confirmed'
|
|
- joindate
|
|
- lastonline
|
|
- picture
|
|
- location
|
|
- birthday
|
|
- website
|
|
- aboutme
|
|
- signature
|
|
- uploadedpicture
|
|
- profileviews
|
|
- reputation
|
|
- postcount
|
|
- topiccount
|
|
- lastposttime
|
|
- banned
|
|
- 'banned:expire'
|
|
- status
|
|
- enum
|
|
- flags
|
|
- followerCount
|
|
- followingCount
|
|
- 'cover:url'
|
|
- 'cover:position'
|
|
- groupTitle
|
|
- groupTitleArray
|
|
- example
|
|
- 'icon:text'
|
|
- 'icon:bgColor'
|
|
- joindateISO
|
|
- lastonlineISO
|
|
- banned_until
|
|
- banned_until_readable
|
|
UserObjectFull:
|
|
# accountHelpers.getUserDataByUserSlug
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
example: 1
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
example: Dragon Fruit
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.)
|
|
example: dragon-fruit
|
|
email:
|
|
type: string
|
|
description: Email address associated with the user account
|
|
example: dragonfruit@example.org
|
|
'email:confirmed':
|
|
type: number
|
|
description: Whether the user has confirmed their email address or not
|
|
example: 1
|
|
joindate:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user's account was created
|
|
example: 1585337827953
|
|
lastonline:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user was last recorded online on this site
|
|
example: 1585337827953
|
|
picture:
|
|
type: string
|
|
description: A URL pointing to a picture to be used as the user's avatar
|
|
example: 'https://images.unsplash.com/photo-1560070094-e1f2ddec4337?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=256&h=256&q=80'
|
|
nullable: true
|
|
fullname:
|
|
type: string
|
|
example: Mr. Dragon Fruit Jr.
|
|
displayname:
|
|
type: string
|
|
description: This is either username or fullname depending on forum and user settings
|
|
example: Dragon Fruit
|
|
location:
|
|
type: string
|
|
example: 'Toronto, Canada'
|
|
birthday:
|
|
type: string
|
|
description: A birthdate given in an ISO format parseable by the Date object
|
|
example: 03/27/2020
|
|
website:
|
|
type: string
|
|
example: 'https://example.org'
|
|
aboutme:
|
|
type: string
|
|
example: |
|
|
This is a paragraph all about how my life got twist-turned upside-down
|
|
and I'd like to take a minute and sit right here,
|
|
to tell you all about how I became the administrator of NodeBB
|
|
signature:
|
|
type: string
|
|
example: |
|
|
This is an example signature
|
|
It can span multiple lines.
|
|
uploadedpicture:
|
|
type: string
|
|
example: /assets/profile/1-profileimg.png
|
|
description: 'In almost all cases, defer to "picture" instead. Use this if you need to specifically reference the picture uploaded to the forum.'
|
|
nullable: true
|
|
profileviews:
|
|
type: number
|
|
description: The number of times this user's profile has been viewed
|
|
example: 1000
|
|
reputation:
|
|
type: number
|
|
description: The user's reputation score on the forum. Out-of-the-box, users gain/lose reputation points based on upvotes/downvotes, though plugins can alter the logic and criterion for awarding reputation points
|
|
example: 100
|
|
postcount:
|
|
type: number
|
|
example: 1000
|
|
topiccount:
|
|
type: number
|
|
example: 50
|
|
lastposttime:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user posted last
|
|
example: 1585337827953
|
|
banned:
|
|
type: number
|
|
description: A Boolean representing whether a user is banned or not
|
|
example: 0
|
|
'banned:expire':
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the ban will be lifted
|
|
example: 1585337827953
|
|
status:
|
|
type: string
|
|
enum:
|
|
- online
|
|
- offline
|
|
- dnd
|
|
- away
|
|
example: online
|
|
flags:
|
|
type: number
|
|
example: 0
|
|
nullable: true
|
|
followerCount:
|
|
type: number
|
|
example: 2
|
|
followingCount:
|
|
type: number
|
|
example: 5
|
|
'cover:url':
|
|
type: string
|
|
example: /assets/profile/1-cover.png
|
|
nullable: true
|
|
'cover:position':
|
|
type: string
|
|
example: 50.0301% 19.2464%
|
|
nullable: true
|
|
groupTitle:
|
|
type: string
|
|
example: '["administrators","Staff"]'
|
|
groupTitleArray:
|
|
type: array
|
|
example:
|
|
- administrators
|
|
- Staff
|
|
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
|
|
mutedReason:
|
|
type: string
|
|
description: The admin-provided reason for being muted.
|
|
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
|
|
example: D
|
|
'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: '#9c27b0'
|
|
joindateISO:
|
|
type: string
|
|
example: '2020-03-27T20:30:36.590Z'
|
|
lastonlineISO:
|
|
type: string
|
|
example: '2020-03-27T20:30:36.590Z'
|
|
banned_until:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment a ban will be lifted
|
|
example: 0
|
|
banned_until_readable:
|
|
type: string
|
|
description: An ISO 8601 formatted date string representing the moment a ban will be lifted, or the words "Not Banned"
|
|
example: Not Banned
|
|
aboutmeParsed:
|
|
type: string
|
|
age:
|
|
type: number
|
|
emailHidden:
|
|
type: boolean
|
|
emailClass:
|
|
type: string
|
|
ips:
|
|
type: array
|
|
items:
|
|
type: string
|
|
moderationNote:
|
|
type: string
|
|
counts:
|
|
type: object
|
|
properties:
|
|
best:
|
|
type: number
|
|
controversial:
|
|
type: number
|
|
blocks:
|
|
type: number
|
|
bookmarks:
|
|
type: number
|
|
categoriesWatched:
|
|
type: number
|
|
downvoted:
|
|
type: number
|
|
followers:
|
|
type: number
|
|
following:
|
|
type: number
|
|
groups:
|
|
type: number
|
|
ignored:
|
|
type: number
|
|
posts:
|
|
type: number
|
|
topics:
|
|
type: number
|
|
uploaded:
|
|
type: number
|
|
upvoted:
|
|
type: number
|
|
watched:
|
|
type: number
|
|
isBlocked:
|
|
type: boolean
|
|
blocksCount:
|
|
type: number
|
|
yourid:
|
|
type: number
|
|
theirid:
|
|
type: number
|
|
isTargetAdmin:
|
|
type: boolean
|
|
isAdmin:
|
|
type: boolean
|
|
isGlobalModerator:
|
|
type: boolean
|
|
isModerator:
|
|
type: boolean
|
|
isAdminOrGlobalModerator:
|
|
type: boolean
|
|
isAdminOrGlobalModeratorOrModerator:
|
|
type: boolean
|
|
isSelfOrAdminOrGlobalModerator:
|
|
type: boolean
|
|
canEdit:
|
|
type: boolean
|
|
canBan:
|
|
type: boolean
|
|
canMute:
|
|
type: boolean
|
|
canFlag:
|
|
type: boolean
|
|
canChangePassword:
|
|
type: boolean
|
|
isSelf:
|
|
type: boolean
|
|
isFollowing:
|
|
type: boolean
|
|
hasPrivateChat:
|
|
type: number
|
|
showHidden:
|
|
type: boolean
|
|
allowProfilePicture:
|
|
type: boolean
|
|
allowCoverPicture:
|
|
type: boolean
|
|
allowProfileImageUploads:
|
|
type: number
|
|
allowedProfileImageExtensions:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
$ref: ./GroupObject.yaml#/GroupFullObject
|
|
selectedGroup:
|
|
type: array
|
|
items:
|
|
$ref: ./GroupObject.yaml#/GroupFullObject
|
|
disableSignatures:
|
|
type: boolean
|
|
reputation:disabled:
|
|
type: boolean
|
|
downvote:disabled:
|
|
type: boolean
|
|
profile_links:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
route:
|
|
type: string
|
|
url:
|
|
type: string
|
|
description: The relative path to the profile link route from the root of the forum
|
|
name:
|
|
type: string
|
|
visibility:
|
|
type: object
|
|
properties:
|
|
self:
|
|
type: boolean
|
|
other:
|
|
type: boolean
|
|
moderator:
|
|
type: boolean
|
|
globalMod:
|
|
type: boolean
|
|
admin:
|
|
type: boolean
|
|
canViewInfo:
|
|
type: boolean
|
|
public:
|
|
type: boolean
|
|
icon:
|
|
type: string
|
|
required:
|
|
- id
|
|
- route
|
|
- name
|
|
- visibility
|
|
- public
|
|
sso:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
associated:
|
|
type: boolean
|
|
url:
|
|
type: string
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
deauthUrl:
|
|
type: string
|
|
websiteLink:
|
|
type: string
|
|
websiteName:
|
|
type: string
|
|
username:disableEdit:
|
|
type: number
|
|
email:disableEdit:
|
|
type: number
|
|
UserObjectSlim:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
example: 1
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
example: Dragon Fruit
|
|
displayname:
|
|
type: string
|
|
description: This is either username or fullname depending on forum and user settings
|
|
example: Dragon Fruit
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.)
|
|
example: dragon-fruit
|
|
picture:
|
|
type: string
|
|
description: A URL pointing to a picture to be used as the user's avatar
|
|
example: 'https://images.unsplash.com/photo-1560070094-e1f2ddec4337?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=256&h=256&q=80'
|
|
nullable: true
|
|
status:
|
|
type: string
|
|
enum:
|
|
- online
|
|
- offline
|
|
- dnd
|
|
- away
|
|
example: online
|
|
postcount:
|
|
type: number
|
|
example: 1000
|
|
reputation:
|
|
type: number
|
|
description: The user's reputation score on the forum. Out-of-the-box, users gain/lose reputation points based on upvotes/downvotes, though plugins can alter the logic and criterion for awarding reputation points
|
|
example: 100
|
|
'email:confirmed':
|
|
type: number
|
|
description: Whether the user has confirmed their email address or not
|
|
example: 1
|
|
lastonline:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user was last recorded online on this site
|
|
example: 1585337827953
|
|
flags:
|
|
type: number
|
|
example: 0
|
|
nullable: true
|
|
banned:
|
|
type: number
|
|
description: A Boolean representing whether a user is banned or not
|
|
example: 0
|
|
'banned:expire':
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the ban will be lifted
|
|
example: 1585337827953
|
|
joindate:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user's account was created
|
|
example: 1585337827953
|
|
'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
|
|
example: D
|
|
'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: '#9c27b0'
|
|
joindateISO:
|
|
type: string
|
|
example: '2020-03-27T20:30:36.590Z'
|
|
lastonlineISO:
|
|
type: string
|
|
example: '2020-03-27T20:30:36.590Z'
|
|
banned_until:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment a ban will be lifted
|
|
example: 0
|
|
banned_until_readable:
|
|
type: string
|
|
description: An ISO 8601 formatted date string representing the moment a ban will be lifted, or the words "Not Banned"
|
|
example: Not Banned
|
|
UserObjectACP:
|
|
type: object
|
|
required:
|
|
- uid
|
|
- username
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
example: 1
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
example: Dragon Fruit
|
|
displayname:
|
|
type: string
|
|
description: This is either username or fullname depending on forum and user settings
|
|
example: Dragon Fruit
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.)
|
|
example: dragon-fruit
|
|
email:
|
|
type: string
|
|
description: Email address associated with the user account
|
|
example: dragonfruit@example.org
|
|
postcount:
|
|
type: number
|
|
example: 1000
|
|
joindate:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user's account was created
|
|
example: 1585337827953
|
|
banned:
|
|
type: number
|
|
description: A Boolean representing whether a user is banned or not
|
|
example: 0
|
|
reputation:
|
|
type: number
|
|
description: The user's reputation score on the forum. Out-of-the-box, users gain/lose reputation points based on upvotes/downvotes, though plugins can alter the logic and criterion for awarding reputation points
|
|
example: 100
|
|
picture:
|
|
type: string
|
|
description: A URL pointing to a picture to be used as the user's avatar
|
|
example: 'https://images.unsplash.com/photo-1560070094-e1f2ddec4337?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=256&h=256&q=80'
|
|
nullable: true
|
|
flags:
|
|
type: number
|
|
example: 0
|
|
nullable: true
|
|
lastonline:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user was last recorded online on this site
|
|
example: 1585337827953
|
|
'email:confirmed':
|
|
type: number
|
|
description: Whether the user has confirmed their email address or not
|
|
example: 1
|
|
'email:expired':
|
|
type: boolean
|
|
description: True if confirmation email expired
|
|
'email:pending':
|
|
type: boolean
|
|
description: True if confirmation email is still pending
|
|
'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
|
|
example: D
|
|
'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: '#9c27b0'
|
|
joindateISO:
|
|
type: string
|
|
example: '2020-03-27T20:30:36.590Z'
|
|
lastonlineISO:
|
|
type: string
|
|
example: '2020-03-27T20:30:36.590Z'
|
|
banned_until_readable:
|
|
type: string
|
|
description: An ISO 8601 formatted date string representing the moment a ban will be lifted, or the words "Not Banned"
|
|
example: Not Banned
|
|
administrator:
|
|
type: boolean
|
|
ip:
|
|
type: string
|
|
nullable: true
|
|
ips:
|
|
type: array
|
|
BanMuteArray:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
timestamp:
|
|
type: number
|
|
expire:
|
|
type: number
|
|
fromUid:
|
|
type: number
|
|
user:
|
|
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"
|
|
until:
|
|
type: number
|
|
untilReadable:
|
|
type: string
|
|
timestampReadable:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
reason:
|
|
type: string |