fix(api)!: align error codes with throw sites and image bounds (#2488)

This commit is contained in:
Hampus authored and GitHub committed 2026-09-06 15:21:38 +02:00
1 parent 4534822355
commit d5bfa5a73d
99 files changed
+857 -4853

No files matched your search

+1 -50
View File
@@ -4,29 +4,23 @@ import type {ValueOf} from '@fluxer/constants/src/ValueOf';
export const APIErrorCodes = {
ACCESS_DENIED: 'ACCESS_DENIED',
ACCOUNT_DISABLED: 'ACCOUNT_DISABLED',
BAD_GATEWAY: 'BAD_GATEWAY',
BAD_REQUEST: 'BAD_REQUEST',
BLUESKY_OAUTH_AUTHORIZATION_FAILED: 'BLUESKY_OAUTH_AUTHORIZATION_FAILED',
BLUESKY_OAUTH_CALLBACK_FAILED: 'BLUESKY_OAUTH_CALLBACK_FAILED',
BLUESKY_OAUTH_NOT_ENABLED: 'BLUESKY_OAUTH_NOT_ENABLED',
BLUESKY_OAUTH_SESSION_EXPIRED: 'BLUESKY_OAUTH_SESSION_EXPIRED',
BLUESKY_OAUTH_STATE_INVALID: 'BLUESKY_OAUTH_STATE_INVALID',
ACCOUNT_SCHEDULED_FOR_DELETION: 'ACCOUNT_SCHEDULED_FOR_DELETION',
ACCOUNT_SUSPENDED_PERMANENTLY: 'ACCOUNT_SUSPENDED_PERMANENTLY',
ACCOUNT_SUSPENDED_TEMPORARILY: 'ACCOUNT_SUSPENDED_TEMPORARILY',
ACCOUNT_SUSPICIOUS_ACTIVITY: 'ACCOUNT_SUSPICIOUS_ACTIVITY',
ACCOUNT_TOO_NEW_FOR_GUILD: 'ACCOUNT_TOO_NEW_FOR_GUILD',
ACLS_MUST_BE_NON_EMPTY: 'ACLS_MUST_BE_NON_EMPTY',
ADMIN_API_KEY_NOT_FOUND: 'ADMIN_API_KEY_NOT_FOUND',
APPLICATION_NOT_FOUND: 'APPLICATION_NOT_FOUND',
APPLICATION_NOT_OWNED: 'APPLICATION_NOT_OWNED',
ALREADY_FRIENDS: 'ALREADY_FRIENDS',
AUDIT_LOG_INDEXING: 'AUDIT_LOG_INDEXING',
BOTS_CANNOT_CREATE_GUILDS: 'BOTS_CANNOT_CREATE_GUILDS',
BOTS_CANNOT_SEND_FRIEND_REQUESTS: 'BOTS_CANNOT_SEND_FRIEND_REQUESTS',
BOT_ALREADY_IN_GUILD: 'BOT_ALREADY_IN_GUILD',
BOT_APPLICATION_NOT_FOUND: 'BOT_APPLICATION_NOT_FOUND',
BOT_IS_PRIVATE: 'BOT_IS_PRIVATE',
BOT_USER_AUTH_ENDPOINT_ACCESS_DENIED: 'BOT_USER_AUTH_ENDPOINT_ACCESS_DENIED',
BOT_USER_AUTH_SESSION_CREATION_DENIED: 'BOT_USER_AUTH_SESSION_CREATION_DENIED',
@@ -37,7 +31,6 @@ export const APIErrorCodes = {
CANNOT_EXECUTE_ON_DM: 'CANNOT_EXECUTE_ON_DM',
CANNOT_BLOCK_SYSTEM_USER: 'CANNOT_BLOCK_SYSTEM_USER',
CANNOT_MODIFY_SYSTEM_WEBHOOK: 'CANNOT_MODIFY_SYSTEM_WEBHOOK',
CANNOT_MODIFY_VOICE_STATE: 'CANNOT_MODIFY_VOICE_STATE',
CANNOT_REDEEM_PLUTONIUM_WITH_VISIONARY: 'CANNOT_REDEEM_PLUTONIUM_WITH_VISIONARY',
CANNOT_REPORT_GUILD: 'CANNOT_REPORT_GUILD',
CANNOT_REPORT_OWN_GUILD: 'CANNOT_REPORT_OWN_GUILD',
@@ -51,27 +44,21 @@ export const APIErrorCodes = {
CANNOT_TRANSFER_OWNERSHIP_TO_BOT: 'CANNOT_TRANSFER_OWNERSHIP_TO_BOT',
CANNOT_SHRINK_RESERVED_SLOTS: 'CANNOT_SHRINK_RESERVED_SLOTS',
CAPTCHA_REQUIRED: 'CAPTCHA_REQUIRED',
CHANNEL_INDEXING: 'CHANNEL_INDEXING',
COMMUNICATION_DISABLED: 'COMMUNICATION_DISABLED',
CONNECTION_ALREADY_EXISTS: 'CONNECTION_ALREADY_EXISTS',
CONNECTION_INITIATION_TOKEN_INVALID: 'CONNECTION_INITIATION_TOKEN_INVALID',
CONNECTION_INVALID_IDENTIFIER: 'CONNECTION_INVALID_IDENTIFIER',
CONNECTION_INVALID_TYPE: 'CONNECTION_INVALID_TYPE',
CONNECTION_LIMIT_REACHED: 'CONNECTION_LIMIT_REACHED',
CONNECTION_NOT_FOUND: 'CONNECTION_NOT_FOUND',
CONNECTION_VERIFICATION_FAILED: 'CONNECTION_VERIFICATION_FAILED',
CONFLICT: 'CONFLICT',
CONTENT_BLOCKED: 'CONTENT_BLOCKED',
CREATION_FAILED: 'CREATION_FAILED',
DECRYPTION_FAILED: 'DECRYPTION_FAILED',
DELETION_FAILED: 'DELETION_FAILED',
DISCOVERY_ALREADY_APPLIED: 'DISCOVERY_ALREADY_APPLIED',
DISCOVERY_APPLICATION_ALREADY_REVIEWED: 'DISCOVERY_APPLICATION_ALREADY_REVIEWED',
DISCOVERY_APPLICATION_NOT_FOUND: 'DISCOVERY_APPLICATION_NOT_FOUND',
DISCOVERY_DESCRIPTION_REQUIRED: 'DISCOVERY_DESCRIPTION_REQUIRED',
DISCOVERY_DISABLED: 'DISCOVERY_DISABLED',
DISCOVERY_INSUFFICIENT_MEMBERS: 'DISCOVERY_INSUFFICIENT_MEMBERS',
DISCOVERY_INVALID_CATEGORY: 'DISCOVERY_INVALID_CATEGORY',
DISCOVERY_NOT_DISCOVERABLE: 'DISCOVERY_NOT_DISCOVERABLE',
DISCRIMINATOR_REQUIRED: 'DISCRIMINATOR_REQUIRED',
EMAIL_SERVICE_NOT_TESTABLE: 'EMAIL_SERVICE_NOT_TESTABLE',
@@ -89,9 +76,6 @@ export const APIErrorCodes = {
REGISTRATION_PENDING_APPROVAL: 'REGISTRATION_PENDING_APPROVAL',
REGISTRATION_REJECTED: 'REGISTRATION_REJECTED',
REGISTRATION_URL_INVALID: 'REGISTRATION_URL_INVALID',
EMPTY_ENCRYPTED_BODY: 'EMPTY_ENCRYPTED_BODY',
ENCRYPTION_FAILED: 'ENCRYPTION_FAILED',
EU_WITHDRAWAL_WAIVER_REQUIRED: 'EU_WITHDRAWAL_WAIVER_REQUIRED',
EXPLICIT_CONTENT_CANNOT_BE_SENT: 'EXPLICIT_CONTENT_CANNOT_BE_SENT',
FEATURE_NOT_AVAILABLE_SELF_HOSTED: 'FEATURE_NOT_AVAILABLE_SELF_HOSTED',
FEATURE_TEMPORARILY_DISABLED: 'FEATURE_TEMPORARILY_DISABLED',
@@ -103,15 +87,12 @@ export const APIErrorCodes = {
GONE: 'GONE',
GIFT_CODE_ALREADY_REDEEMED: 'GIFT_CODE_ALREADY_REDEEMED',
GUILD_PHONE_VERIFICATION_REQUIRED: 'GUILD_PHONE_VERIFICATION_REQUIRED',
GUILD_TEMPLATE_FETCH_FAILED: 'GUILD_TEMPLATE_FETCH_FAILED',
GUILD_TEMPLATE_INVALID: 'GUILD_TEMPLATE_INVALID',
GUILD_VERIFICATION_REQUIRED: 'GUILD_VERIFICATION_REQUIRED',
HANDOFF_CODE_EXPIRED: 'HANDOFF_CODE_EXPIRED',
HARVEST_EXPIRED: 'HARVEST_EXPIRED',
HARVEST_FAILED: 'HARVEST_FAILED',
HARVEST_NOT_READY: 'HARVEST_NOT_READY',
HTTP_GET_AUTHORIZE_NOT_SUPPORTED: 'HTTP_GET_AUTHORIZE_NOT_SUPPORTED',
INSTANCE_VERSION_MISMATCH: 'INSTANCE_VERSION_MISMATCH',
INTERNAL_SERVER_ERROR: 'INTERNAL_SERVER_ERROR',
INVALID_ACLS_FORMAT: 'INVALID_ACLS_FORMAT',
INVALID_API_ORIGIN: 'INVALID_API_ORIGIN',
@@ -120,29 +101,19 @@ export const APIErrorCodes = {
INVALID_CAPTCHA: 'INVALID_CAPTCHA',
INVALID_CHANNEL_TYPE_FOR_CALL: 'INVALID_CHANNEL_TYPE_FOR_CALL',
INVALID_CHANNEL_TYPE: 'INVALID_CHANNEL_TYPE',
INVALID_CLIENT: 'INVALID_CLIENT',
INVALID_CLIENT_SECRET: 'INVALID_CLIENT_SECRET',
INVALID_DSA_REPORT_TARGET: 'INVALID_DSA_REPORT_TARGET',
INVALID_DSA_TICKET: 'INVALID_DSA_TICKET',
INVALID_DSA_VERIFICATION_CODE: 'INVALID_DSA_VERIFICATION_CODE',
INVALID_DECRYPTED_JSON: 'INVALID_DECRYPTED_JSON',
INVALID_EPHEMERAL_KEY: 'INVALID_EPHEMERAL_KEY',
INVALID_FLAGS_FORMAT: 'INVALID_FLAGS_FORMAT',
INVALID_IV: 'INVALID_IV',
INVALID_FORM_BODY: 'INVALID_FORM_BODY',
INVALID_GRANT: 'INVALID_GRANT',
INVALID_HANDOFF_CODE: 'INVALID_HANDOFF_CODE',
INVALID_PERMISSIONS_INTEGER: 'INVALID_PERMISSIONS_INTEGER',
INVALID_PERMISSIONS_NEGATIVE: 'INVALID_PERMISSIONS_NEGATIVE',
INVALID_PHONE_NUMBER: 'INVALID_PHONE_NUMBER',
INVALID_PHONE_VERIFICATION_CODE: 'INVALID_PHONE_VERIFICATION_CODE',
INVALID_REDIRECT_URI: 'INVALID_REDIRECT_URI',
INVALID_REQUEST: 'INVALID_REQUEST',
INVALID_RESPONSE_TYPE_FOR_NON_BOT: 'INVALID_RESPONSE_TYPE_FOR_NON_BOT',
INVALID_SCOPE: 'INVALID_SCOPE',
INVALID_STREAM_KEY_FORMAT: 'INVALID_STREAM_KEY_FORMAT',
INVALID_STREAM_THUMBNAIL_PAYLOAD: 'INVALID_STREAM_THUMBNAIL_PAYLOAD',
INVALID_SUDO_TOKEN: 'INVALID_SUDO_TOKEN',
INVALID_SUSPICIOUS_FLAGS_FORMAT: 'INVALID_SUSPICIOUS_FLAGS_FORMAT',
INVALID_SYSTEM_FLAG: 'INVALID_SYSTEM_FLAG',
INVALID_TIMESTAMP: 'INVALID_TIMESTAMP',
@@ -157,8 +128,7 @@ export const APIErrorCodes = {
IP_AUTHORIZATION_RESEND_LIMIT_EXCEEDED: 'IP_AUTHORIZATION_RESEND_LIMIT_EXCEEDED',
GLOBAL_IP_BANNED: 'GLOBAL_IP_BANNED',
GLOBAL_IP_TEMPORARILY_BANNED: 'GLOBAL_IP_TEMPORARILY_BANNED',
IP_BANNED: 'IP_BANNED',
MAX_ANIMATED_EMOJIS: 'MAX_ANIMATED_EMOJIS',
IP_BAN_DECLINED: 'IP_BAN_DECLINED',
MAX_APPLICATIONS: 'MAX_APPLICATIONS',
MAX_BOOKMARKS: 'MAX_BOOKMARKS',
MAX_CATEGORY_CHANNELS: 'MAX_CATEGORY_CHANNELS',
@@ -172,15 +142,11 @@ export const APIErrorCodes = {
MAX_GUILD_MEMBERS: 'MAX_GUILD_MEMBERS',
MAX_GUILD_ROLES: 'MAX_GUILD_ROLES',
MAX_GUILDS: 'MAX_GUILDS',
NEW_ACCOUNT_GUILD_JOIN_RATE_LIMITED: 'NEW_ACCOUNT_GUILD_JOIN_RATE_LIMITED',
MAX_INVITES: 'MAX_INVITES',
MAX_PINS_PER_CHANNEL: 'MAX_PINS_PER_CHANNEL',
MESSAGE_TOTAL_ATTACHMENT_SIZE_TOO_LARGE: 'MESSAGE_TOTAL_ATTACHMENT_SIZE_TOO_LARGE',
MAX_REACTIONS: 'MAX_REACTIONS',
MAX_STICKERS: 'MAX_STICKERS',
MAX_WEBHOOKS_PER_CHANNEL: 'MAX_WEBHOOKS_PER_CHANNEL',
MAX_WEBHOOKS_PER_GUILD: 'MAX_WEBHOOKS_PER_GUILD',
MAX_WEBHOOKS: 'MAX_WEBHOOKS',
NCMEC_ALREADY_SUBMITTED: 'NCMEC_ALREADY_SUBMITTED',
NCMEC_SUBMISSION_FAILED: 'NCMEC_SUBMISSION_FAILED',
MEDIA_METADATA_ERROR: 'MEDIA_METADATA_ERROR',
@@ -188,13 +154,8 @@ export const APIErrorCodes = {
MISSING_ACCESS: 'MISSING_ACCESS',
MISSING_ACL: 'MISSING_ACL',
MISSING_AUTHORIZATION: 'MISSING_AUTHORIZATION',
MISSING_CLIENT_SECRET: 'MISSING_CLIENT_SECRET',
MISSING_EPHEMERAL_KEY: 'MISSING_EPHEMERAL_KEY',
MISSING_IV: 'MISSING_IV',
MISSING_OAUTH_FIELDS: 'MISSING_OAUTH_FIELDS',
MISSING_OAUTH_SCOPE: 'MISSING_OAUTH_SCOPE',
MISSING_PERMISSIONS: 'MISSING_PERMISSIONS',
MISSING_REDIRECT_URI: 'MISSING_REDIRECT_URI',
NO_ACTIVE_CALL: 'NO_ACTIVE_CALL',
NO_ACTIVE_SUBSCRIPTION: 'NO_ACTIVE_SUBSCRIPTION',
NOT_FOUND: 'NOT_FOUND',
@@ -202,13 +163,10 @@ export const APIErrorCodes = {
NO_PASSKEYS_REGISTERED: 'NO_PASSKEYS_REGISTERED',
NO_PENDING_DELETION: 'NO_PENDING_DELETION',
NO_USERS_WITH_FLUXERTAG_EXIST: 'NO_USERS_WITH_FLUXERTAG_EXIST',
NO_VISIONARY_SLOTS_AVAILABLE: 'NO_VISIONARY_SLOTS_AVAILABLE',
NOT_A_BOT_APPLICATION: 'NOT_A_BOT_APPLICATION',
NOT_FRIENDS_WITH_USER: 'NOT_FRIENDS_WITH_USER',
NOT_OWNER_OF_ADMIN_API_KEY: 'NOT_OWNER_OF_ADMIN_API_KEY',
NSFW_CONTENT_AGE_RESTRICTED: 'NSFW_CONTENT_AGE_RESTRICTED',
PASSKEY_AUTHENTICATION_FAILED: 'PASSKEY_AUTHENTICATION_FAILED',
PASSKEYS_DISABLED: 'PASSKEYS_DISABLED',
PHONE_ADD_NOT_ELIGIBLE: 'PHONE_ADD_NOT_ELIGIBLE',
PHONE_ALREADY_USED: 'PHONE_ALREADY_USED',
PHONE_COUNTRY_NOT_SUPPORTED: 'PHONE_COUNTRY_NOT_SUPPORTED',
@@ -224,7 +182,6 @@ export const APIErrorCodes = {
PREVIEW_MUST_BE_JPEG: 'PREVIEW_MUST_BE_JPEG',
PROCESSING_FAILED: 'PROCESSING_FAILED',
RATE_LIMITED: 'RATE_LIMITED',
REDIRECT_URI_REQUIRED_FOR_NON_BOT: 'REDIRECT_URI_REQUIRED_FOR_NON_BOT',
REPORT_ALREADY_RESOLVED: 'REPORT_ALREADY_RESOLVED',
REPORT_BANNED: 'REPORT_BANNED',
RESPONSE_VALIDATION_ERROR: 'RESPONSE_VALIDATION_ERROR',
@@ -240,7 +197,6 @@ export const APIErrorCodes = {
SSO_REQUIRED: 'SSO_REQUIRED',
STREAM_KEY_CHANNEL_MISMATCH: 'STREAM_KEY_CHANNEL_MISMATCH',
STREAM_KEY_SCOPE_MISMATCH: 'STREAM_KEY_SCOPE_MISMATCH',
STREAM_THUMBNAIL_PAYLOAD_EMPTY: 'STREAM_THUMBNAIL_PAYLOAD_EMPTY',
STRIPE_ERROR: 'STRIPE_ERROR',
STRIPE_GIFT_REDEMPTION_IN_PROGRESS: 'STRIPE_GIFT_REDEMPTION_IN_PROGRESS',
STRIPE_INVALID_PRODUCT: 'STRIPE_INVALID_PRODUCT',
@@ -253,7 +209,6 @@ export const APIErrorCodes = {
STRIPE_PAYMENT_NOT_AVAILABLE: 'STRIPE_PAYMENT_NOT_AVAILABLE',
STRIPE_SUBSCRIPTION_ALREADY_CANCELING: 'STRIPE_SUBSCRIPTION_ALREADY_CANCELING',
STRIPE_SUBSCRIPTION_NOT_CANCELING: 'STRIPE_SUBSCRIPTION_NOT_CANCELING',
STRIPE_SUBSCRIPTION_PERIOD_END_MISSING: 'STRIPE_SUBSCRIPTION_PERIOD_END_MISSING',
STRIPE_WEBHOOK_NOT_AVAILABLE: 'STRIPE_WEBHOOK_NOT_AVAILABLE',
STRIPE_WEBHOOK_SIGNATURE_INVALID: 'STRIPE_WEBHOOK_SIGNATURE_INVALID',
STRIPE_WEBHOOK_SIGNATURE_MISSING: 'STRIPE_WEBHOOK_SIGNATURE_MISSING',
@@ -262,7 +217,6 @@ export const APIErrorCodes = {
DONATION_MAGIC_LINK_EXPIRED: 'DONATION_MAGIC_LINK_EXPIRED',
DONATION_MAGIC_LINK_INVALID: 'DONATION_MAGIC_LINK_INVALID',
DONATION_MAGIC_LINK_USED: 'DONATION_MAGIC_LINK_USED',
DONOR_NOT_FOUND: 'DONOR_NOT_FOUND',
SUDO_MODE_REQUIRED: 'SUDO_MODE_REQUIRED',
TAG_ALREADY_TAKEN: 'TAG_ALREADY_TAKEN',
TEMPORARY_INVITE_REQUIRES_PRESENCE: 'TEMPORARY_INVITE_REQUIRES_PRESENCE',
@@ -303,8 +257,6 @@ export const APIErrorCodes = {
UNKNOWN_WEBAUTHN_CREDENTIAL: 'UNKNOWN_WEBAUTHN_CREDENTIAL',
UNKNOWN_APPLICATION: 'UNKNOWN_APPLICATION',
UNKNOWN_WEBHOOK: 'UNKNOWN_WEBHOOK',
UNFURL_STREAM_TOO_LARGE: 'UNFURL_STREAM_TOO_LARGE',
UNSUPPORTED_RESPONSE_TYPE: 'UNSUPPORTED_RESPONSE_TYPE',
USERNAME_NOT_AVAILABLE: 'USERNAME_NOT_AVAILABLE',
UPDATE_FAILED: 'UPDATE_FAILED',
USER_BANNED_FROM_GUILD: 'USER_BANNED_FROM_GUILD',
@@ -315,7 +267,6 @@ export const APIErrorCodes = {
VOICE_CHANNEL_FULL: 'VOICE_CHANNEL_FULL',
WEBAUTHN_CREDENTIAL_LIMIT_REACHED: 'WEBAUTHN_CREDENTIAL_LIMIT_REACHED',
AGE_VERIFICATION_ALREADY_VERIFIED: 'AGE_VERIFICATION_ALREADY_VERIFIED',
AGE_VERIFICATION_INVALID_CARD_TYPE: 'AGE_VERIFICATION_INVALID_CARD_TYPE',
} as const;
export type APIErrorCode = ValueOf<typeof APIErrorCodes>;