feat(threads): thread and forum API, admin, schemas and docs (#3251)

This commit is contained in:
Hampus authored and GitHub committed 2026-10-07 15:25:12 +02:00
1 parent 5f4295e399
commit 3f4160b138
495 files changed
+39232 -1215

No files matched your search

+20
View File
@@ -46,6 +46,7 @@ export const APIErrorCodes = {
CAPTCHA_REQUIRED: 'CAPTCHA_REQUIRED',
CHANNEL_ALREADY_FOLLOWED: 'CHANNEL_ALREADY_FOLLOWED',
CHANNEL_HAS_FOLLOWED_CHANNELS: 'CHANNEL_HAS_FOLLOWED_CHANNELS',
CHANNEL_HAS_THREADS: 'CHANNEL_HAS_THREADS',
CHANNEL_TYPE_CONVERSION_NOT_SUPPORTED: 'CHANNEL_TYPE_CONVERSION_NOT_SUPPORTED',
COMMUNICATION_DISABLED: 'COMMUNICATION_DISABLED',
CONNECTION_ALREADY_EXISTS: 'CONNECTION_ALREADY_EXISTS',
@@ -93,6 +94,8 @@ export const APIErrorCodes = {
FEATURE_TEMPORARILY_DISABLED: 'FEATURE_TEMPORARILY_DISABLED',
FILE_SIZE_TOO_LARGE: 'FILE_SIZE_TOO_LARGE',
FORBIDDEN: 'FORBIDDEN',
FORUM_TAG_NAMES_MUST_BE_UNIQUE: 'FORUM_TAG_NAMES_MUST_BE_UNIQUE',
FORUM_TAG_REQUIRED: 'FORUM_TAG_REQUIRED',
FRIEND_REQUEST_BLOCKED: 'FRIEND_REQUEST_BLOCKED',
GATEWAY_TIMEOUT: 'GATEWAY_TIMEOUT',
GENERAL_ERROR: 'GENERAL_ERROR',
@@ -104,6 +107,7 @@ export const APIErrorCodes = {
HARVEST_EXPIRED: 'HARVEST_EXPIRED',
HARVEST_FAILED: 'HARVEST_FAILED',
HARVEST_NOT_READY: 'HARVEST_NOT_READY',
HIDE_MEDIA_DOWNLOAD_OPTION_MEDIA_ONLY: 'HIDE_MEDIA_DOWNLOAD_OPTION_MEDIA_ONLY',
INTERNAL_SERVER_ERROR: 'INTERNAL_SERVER_ERROR',
INVALID_ACLS_FORMAT: 'INVALID_ACLS_FORMAT',
INVALID_API_ORIGIN: 'INVALID_API_ORIGIN',
@@ -128,6 +132,7 @@ export const APIErrorCodes = {
INVALID_SYSTEM_FLAG: 'INVALID_SYSTEM_FLAG',
INVALID_TIMESTAMP: 'INVALID_TIMESTAMP',
INVALID_TOKEN: 'INVALID_TOKEN',
INVALID_THREAD_NOTIFICATION_SETTINGS: 'INVALID_THREAD_NOTIFICATION_SETTINGS',
INVALID_WEBAUTHN_AUTHENTICATION_COUNTER: 'INVALID_WEBAUTHN_AUTHENTICATION_COUNTER',
INVALID_WEBAUTHN_CREDENTIAL_COUNTER: 'INVALID_WEBAUTHN_CREDENTIAL_COUNTER',
INVALID_WEBAUTHN_CREDENTIAL: 'INVALID_WEBAUTHN_CREDENTIAL',
@@ -141,10 +146,12 @@ export const APIErrorCodes = {
IP_BAN_DECLINED: 'IP_BAN_DECLINED',
MAX_APPLICATIONS: 'MAX_APPLICATIONS',
MAX_BOOKMARKS: 'MAX_BOOKMARKS',
MAX_ACTIVE_THREADS: 'MAX_ACTIVE_THREADS',
MAX_CATEGORY_CHANNELS: 'MAX_CATEGORY_CHANNELS',
MAX_EMOJIS: 'MAX_EMOJIS',
MAX_FAVORITE_MEMES: 'MAX_FAVORITE_MEMES',
MAX_FRIENDS: 'MAX_FRIENDS',
MAX_FORUM_TAGS: 'MAX_FORUM_TAGS',
MAX_GROUP_DM_RECIPIENTS: 'MAX_GROUP_DM_RECIPIENTS',
MAX_GROUP_DMS: 'MAX_GROUP_DMS',
GROUP_DM_RECIPIENTS_NOT_ADDABLE: 'GROUP_DM_RECIPIENTS_NOT_ADDABLE',
@@ -152,9 +159,11 @@ export const APIErrorCodes = {
MAX_GUILD_MEMBERS: 'MAX_GUILD_MEMBERS',
MAX_GUILD_ROLES: 'MAX_GUILD_ROLES',
MAX_GUILDS: 'MAX_GUILDS',
MAX_PINNED_THREADS_IN_FORUM: 'MAX_PINNED_THREADS_IN_FORUM',
MAX_INVITES: 'MAX_INVITES',
MAX_REACTIONS: 'MAX_REACTIONS',
MAX_STICKERS: 'MAX_STICKERS',
MAX_THREAD_MEMBERS: 'MAX_THREAD_MEMBERS',
MAX_WEBHOOKS_PER_CHANNEL: 'MAX_WEBHOOKS_PER_CHANNEL',
MAX_WEBHOOKS_PER_GUILD: 'MAX_WEBHOOKS_PER_GUILD',
NCMEC_ALREADY_SUBMITTED: 'NCMEC_ALREADY_SUBMITTED',
@@ -168,6 +177,7 @@ export const APIErrorCodes = {
MISSING_PERMISSIONS: 'MISSING_PERMISSIONS',
NO_ACTIVE_CALL: 'NO_ACTIVE_CALL',
NO_ACTIVE_SUBSCRIPTION: 'NO_ACTIVE_SUBSCRIPTION',
NO_TAGS_AVAILABLE_TO_NON_MODERATORS: 'NO_TAGS_AVAILABLE_TO_NON_MODERATORS',
NOT_FOUND: 'NOT_FOUND',
NOT_IMPLEMENTED: 'NOT_IMPLEMENTED',
NO_PASSKEYS_REGISTERED: 'NO_PASSKEYS_REGISTERED',
@@ -192,6 +202,7 @@ export const APIErrorCodes = {
SINGLE_COMMUNITY_CANNOT_LEAVE: 'SINGLE_COMMUNITY_CANNOT_LEAVE',
INSTANCE_POLICY_TRANSITION_NOT_ALLOWED: 'INSTANCE_POLICY_TRANSITION_NOT_ALLOWED',
SLOWMODE_RATE_LIMITED: 'SLOWMODE_RATE_LIMITED',
SEARCH_INDEX_NOT_READY: 'SEARCH_INDEX_NOT_READY',
SSO_REQUIRED: 'SSO_REQUIRED',
STORE_BILLING_UNAVAILABLE: 'STORE_BILLING_UNAVAILABLE',
STORE_NOTIFICATION_UNAUTHORIZED: 'STORE_NOTIFICATION_UNAUTHORIZED',
@@ -226,6 +237,9 @@ export const APIErrorCodes = {
TEMPORARY_INVITE_REQUIRES_PRESENCE: 'TEMPORARY_INVITE_REQUIRES_PRESENCE',
TEST_HARNESS_DISABLED: 'TEST_HARNESS_DISABLED',
TEST_HARNESS_FORBIDDEN: 'TEST_HARNESS_FORBIDDEN',
THREAD_ALREADY_CREATED_FOR_MESSAGE: 'THREAD_ALREADY_CREATED_FOR_MESSAGE',
THREAD_ARCHIVED: 'THREAD_ARCHIVED',
THREAD_LOCKED: 'THREAD_LOCKED',
TWO_FA_NOT_ENABLED: 'TWO_FA_NOT_ENABLED',
TWO_FACTOR_REQUIRED: 'TWO_FACTOR_REQUIRED',
UNAUTHORIZED: 'UNAUTHORIZED',
@@ -244,6 +258,7 @@ export const APIErrorCodes = {
UNKNOWN_CHANNEL: 'UNKNOWN_CHANNEL',
UNKNOWN_EMOJI: 'UNKNOWN_EMOJI',
UNKNOWN_FAVORITE_MEME: 'UNKNOWN_FAVORITE_MEME',
UNKNOWN_FORUM_TAG: 'UNKNOWN_FORUM_TAG',
UNKNOWN_GIFT_CODE: 'UNKNOWN_GIFT_CODE',
UNKNOWN_GUILD: 'UNKNOWN_GUILD',
UNKNOWN_HARVEST: 'UNKNOWN_HARVEST',
@@ -257,6 +272,7 @@ export const APIErrorCodes = {
UNKNOWN_ROLE: 'UNKNOWN_ROLE',
UNKNOWN_STICKER: 'UNKNOWN_STICKER',
UNKNOWN_STORE_PURCHASE: 'UNKNOWN_STORE_PURCHASE',
UNKNOWN_THREAD_MEMBER: 'UNKNOWN_THREAD_MEMBER',
UNKNOWN_USER_FLAG: 'UNKNOWN_USER_FLAG',
UNKNOWN_USER: 'UNKNOWN_USER',
UNKNOWN_VOICE_REGION: 'UNKNOWN_VOICE_REGION',
@@ -264,6 +280,10 @@ export const APIErrorCodes = {
UNKNOWN_WEBAUTHN_CREDENTIAL: 'UNKNOWN_WEBAUTHN_CREDENTIAL',
UNKNOWN_APPLICATION: 'UNKNOWN_APPLICATION',
UNKNOWN_WEBHOOK: 'UNKNOWN_WEBHOOK',
WEBHOOK_FORUM_TARGET_CONFLICT: 'WEBHOOK_FORUM_TARGET_CONFLICT',
WEBHOOK_FORUM_TARGET_REQUIRED: 'WEBHOOK_FORUM_TARGET_REQUIRED',
WEBHOOK_SERVICE_FORUM_UNSUPPORTED: 'WEBHOOK_SERVICE_FORUM_UNSUPPORTED',
WEBHOOK_THREAD_NAME_REQUIRES_FORUM: 'WEBHOOK_THREAD_NAME_REQUIRES_FORUM',
USERNAME_NOT_AVAILABLE: 'USERNAME_NOT_AVAILABLE',
USERNAME_SIGN_IN_ONLY: 'USERNAME_SIGN_IN_ONLY',
UPDATE_FAILED: 'UPDATE_FAILED',