# Conflicts: # Dockerfile # app/config/errors.php # app/config/roles.php # app/config/specs/open-api3-latest-client.json # app/config/specs/open-api3-latest-console.json # app/config/specs/open-api3-latest-server.json # app/config/specs/swagger2-latest-client.json # app/config/specs/swagger2-latest-console.json # app/config/specs/swagger2-latest-server.json # app/controllers/api/graphql.php # app/controllers/shared/api.php # app/init.php # composer.lock # docker-compose.yml # src/Appwrite/Extend/Exception.php # src/Appwrite/Migration/Migration.php
567 lines
23 KiB
PHP
567 lines
23 KiB
PHP
<?php
|
|
|
|
/**
|
|
* List of server wide error codes and their respective messages.
|
|
*/
|
|
|
|
use Appwrite\Extend\Exception;
|
|
|
|
return [
|
|
/** General Errors */
|
|
Exception::GENERAL_UNKNOWN => [
|
|
'name' => Exception::GENERAL_UNKNOWN,
|
|
'description' => 'An unknown error has occured. Please check the logs for more information.',
|
|
'code' => 500,
|
|
],
|
|
Exception::GENERAL_MOCK => [
|
|
'name' => Exception::GENERAL_MOCK,
|
|
'description' => 'General errors thrown by the mock controller used for testing.',
|
|
'code' => 400,
|
|
],
|
|
Exception::GENERAL_ACCESS_FORBIDDEN => [
|
|
'name' => Exception::GENERAL_ACCESS_FORBIDDEN,
|
|
'description' => 'Access to this API is forbidden.',
|
|
'code' => 401,
|
|
],
|
|
Exception::GENERAL_UNKNOWN_ORIGIN => [
|
|
'name' => Exception::GENERAL_UNKNOWN_ORIGIN,
|
|
'description' => 'The request originated from an unknown origin. If you trust this domain, please list it as a trusted platform in the Appwrite console.',
|
|
'code' => 403,
|
|
],
|
|
Exception::GENERAL_SERVICE_DISABLED => [
|
|
'name' => Exception::GENERAL_SERVICE_DISABLED,
|
|
'description' => 'The requested service is disabled. You can enable the service from the Appwrite console.',
|
|
'code' => 503,
|
|
],
|
|
Exception::GENERAL_UNAUTHORIZED_SCOPE => [
|
|
'name' => Exception::GENERAL_UNAUTHORIZED_SCOPE,
|
|
'description' => 'The current user or API key does not have the required scopes to access the requested resource.',
|
|
'code' => 401,
|
|
],
|
|
Exception::GENERAL_RATE_LIMIT_EXCEEDED => [
|
|
'name' => Exception::GENERAL_RATE_LIMIT_EXCEEDED,
|
|
'description' => 'Rate limit for the current endpoint has been exceeded. Please try again after some time.',
|
|
'code' => 429,
|
|
],
|
|
Exception::GENERAL_SMTP_DISABLED => [
|
|
'name' => Exception::GENERAL_SMTP_DISABLED,
|
|
'description' => 'SMTP is disabled on your Appwrite instance. You can <a href="/docs/email-delivery">learn more about setting up SMTP</a> in our docs.',
|
|
'code' => 503,
|
|
],
|
|
Exception::GENERAL_PHONE_DISABLED => [
|
|
'name' => Exception::GENERAL_PHONE_DISABLED,
|
|
'description' => 'Phone provider is not configured. Please check the _APP_SMS_PROVIDER environment variable of your Appwrite server.',
|
|
'code' => 503,
|
|
],
|
|
Exception::GENERAL_ARGUMENT_INVALID => [
|
|
'name' => Exception::GENERAL_ARGUMENT_INVALID,
|
|
'description' => 'The request contains one or more invalid arguments. Please refer to the endpoint documentation.',
|
|
'code' => 400,
|
|
],
|
|
Exception::GENERAL_QUERY_LIMIT_EXCEEDED => [
|
|
'name' => Exception::GENERAL_QUERY_LIMIT_EXCEEDED,
|
|
'description' => 'Query limit exceeded for the current attribute. Usage of more than 100 query values on a single attribute is prohibited.',
|
|
'code' => 400,
|
|
],
|
|
Exception::GENERAL_QUERY_INVALID => [
|
|
'name' => Exception::GENERAL_QUERY_INVALID,
|
|
'description' => 'The query\'s syntax is invalid. Please check the query and try again.',
|
|
'code' => 400,
|
|
],
|
|
Exception::GENERAL_ROUTE_NOT_FOUND => [
|
|
'name' => Exception::GENERAL_ROUTE_NOT_FOUND,
|
|
'description' => 'The requested route was not found. Please refer to the docs and try again.',
|
|
'code' => 404,
|
|
],
|
|
Exception::GENERAL_CURSOR_NOT_FOUND => [
|
|
'name' => Exception::GENERAL_CURSOR_NOT_FOUND,
|
|
'description' => 'The cursor is invalid. This can happen if the item represented by the cursor has been deleted.',
|
|
'code' => 400,
|
|
],
|
|
Exception::GENERAL_SERVER_ERROR => [
|
|
'name' => Exception::GENERAL_SERVER_ERROR,
|
|
'description' => 'An internal server error occurred.',
|
|
'code' => 500,
|
|
],
|
|
Exception::GENERAL_PROTOCOL_UNSUPPORTED => [
|
|
'name' => Exception::GENERAL_PROTOCOL_UNSUPPORTED,
|
|
'description' => 'The request cannot be fulfilled with the current protocol. Please check the value of the _APP_OPTIONS_FORCE_HTTPS environment variable.',
|
|
'code' => 500,
|
|
],
|
|
|
|
/** User Errors */
|
|
Exception::USER_COUNT_EXCEEDED => [
|
|
'name' => Exception::USER_COUNT_EXCEEDED,
|
|
'description' => 'The current project has exceeded the maximum number of users. Please check your user limit in the Appwrite console.',
|
|
'code' => 501,
|
|
],
|
|
Exception::USER_JWT_INVALID => [
|
|
'name' => Exception::USER_JWT_INVALID,
|
|
'description' => 'The JWT token is invalid. Please check the value of the X-Appwrite-JWT header to ensure the correct token is being used.',
|
|
'code' => 401,
|
|
],
|
|
Exception::USER_ALREADY_EXISTS => [
|
|
'name' => Exception::USER_ALREADY_EXISTS,
|
|
'description' => 'A user with the same email already exists in your project.',
|
|
'code' => 409,
|
|
],
|
|
Exception::USER_BLOCKED => [
|
|
'name' => Exception::USER_BLOCKED,
|
|
'description' => 'The current user has been blocked. You can unblock the user from the Appwrite console.',
|
|
'code' => 401,
|
|
],
|
|
Exception::USER_INVALID_TOKEN => [
|
|
'name' => Exception::USER_INVALID_TOKEN,
|
|
'description' => 'Invalid token passed in the request.',
|
|
'code' => 401,
|
|
],
|
|
Exception::USER_PASSWORD_RESET_REQUIRED => [
|
|
'name' => Exception::USER_PASSWORD_RESET_REQUIRED,
|
|
'description' => 'The current user requires a password reset.',
|
|
'code' => 412,
|
|
],
|
|
Exception::USER_EMAIL_NOT_WHITELISTED => [
|
|
'name' => Exception::USER_EMAIL_NOT_WHITELISTED,
|
|
'description' => 'Console registration is restricted to specific emails. Contact your administrator for more information.',
|
|
'code' => 401,
|
|
],
|
|
Exception::USER_IP_NOT_WHITELISTED => [
|
|
'name' => Exception::USER_IP_NOT_WHITELISTED,
|
|
'description' => 'Console registration is restricted to specific IPs. Contact your administrator for more information.',
|
|
'code' => 401,
|
|
],
|
|
Exception::USER_INVALID_CREDENTIALS => [
|
|
'name' => Exception::USER_INVALID_CREDENTIALS,
|
|
'description' => 'Invalid credentials. Please check the email and password.',
|
|
'code' => 401,
|
|
],
|
|
Exception::USER_ANONYMOUS_CONSOLE_PROHIBITED => [
|
|
'name' => Exception::USER_ANONYMOUS_CONSOLE_PROHIBITED,
|
|
'description' => 'Anonymous users cannot be created for the console project.',
|
|
'code' => 401,
|
|
],
|
|
Exception::USER_SESSION_ALREADY_EXISTS => [
|
|
'name' => Exception::USER_SESSION_ALREADY_EXISTS,
|
|
'description' => 'Creation of anonymous users is prohibited when a session is active.',
|
|
'code' => 401,
|
|
],
|
|
Exception::USER_NOT_FOUND => [
|
|
'name' => Exception::USER_NOT_FOUND,
|
|
'description' => 'User with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::USER_EMAIL_ALREADY_EXISTS => [
|
|
'name' => Exception::USER_EMAIL_ALREADY_EXISTS,
|
|
'description' => 'A user with the same email already exists in the current project.',
|
|
'code' => 409,
|
|
],
|
|
Exception::USER_PASSWORD_MISMATCH => [
|
|
'name' => Exception::USER_PASSWORD_MISMATCH,
|
|
'description' => 'Passwords do not match. Please check the password and confirm password.',
|
|
'code' => 400,
|
|
],
|
|
Exception::USER_SESSION_NOT_FOUND => [
|
|
'name' => Exception::USER_SESSION_NOT_FOUND,
|
|
'description' => 'The current user session could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::USER_UNAUTHORIZED => [
|
|
'name' => Exception::USER_UNAUTHORIZED,
|
|
'description' => 'The current user is not authorized to perform the requested action.',
|
|
'code' => 401,
|
|
],
|
|
Exception::USER_AUTH_METHOD_UNSUPPORTED => [
|
|
'name' => Exception::USER_AUTH_METHOD_UNSUPPORTED,
|
|
'description' => 'The requested authentication method is either disabled or unsupported. Please check the supported authentication methods in the Appwrite console.',
|
|
'code' => 501,
|
|
],
|
|
Exception::USER_PHONE_ALREADY_EXISTS => [
|
|
'name' => Exception::USER_PHONE_ALREADY_EXISTS,
|
|
'description' => 'A user with the same phone number already exists in the current project.',
|
|
'code' => 409,
|
|
],
|
|
Exception::USER_PHONE_NOT_FOUND => [
|
|
'name' => Exception::USER_PHONE_NOT_FOUND,
|
|
'description' => 'The current user does not have a phone number associated with their account.',
|
|
'code' => 400,
|
|
],
|
|
Exception::USER_MISSING_ID => [
|
|
'name' => Exception::USER_MISSING_ID,
|
|
'description' => 'Missing ID from OAuth2 provider.',
|
|
'code' => 400,
|
|
],
|
|
|
|
/** Teams */
|
|
Exception::TEAM_NOT_FOUND => [
|
|
'name' => Exception::TEAM_NOT_FOUND,
|
|
'description' => 'Team with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::TEAM_INVITE_ALREADY_EXISTS => [
|
|
'name' => Exception::TEAM_INVITE_ALREADY_EXISTS,
|
|
'description' => 'User has already been invited or is already a member of this team',
|
|
'code' => 409,
|
|
],
|
|
Exception::TEAM_INVITE_NOT_FOUND => [
|
|
'name' => Exception::TEAM_INVITE_NOT_FOUND,
|
|
'description' => 'The requested team invitation could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::TEAM_INVALID_SECRET => [
|
|
'name' => Exception::TEAM_INVALID_SECRET,
|
|
'description' => 'The team invitation secret is invalid.',
|
|
'code' => 401,
|
|
],
|
|
Exception::TEAM_MEMBERSHIP_MISMATCH => [
|
|
'name' => Exception::TEAM_MEMBERSHIP_MISMATCH,
|
|
'description' => 'The membership ID does not belong to the team ID.',
|
|
'code' => 404,
|
|
],
|
|
Exception::TEAM_INVITE_MISMATCH => [
|
|
'name' => Exception::TEAM_INVITE_MISMATCH,
|
|
'description' => 'The invite does not belong to the current user.',
|
|
'code' => 401,
|
|
],
|
|
|
|
/** Membership */
|
|
Exception::MEMBERSHIP_NOT_FOUND => [
|
|
'name' => Exception::MEMBERSHIP_NOT_FOUND,
|
|
'description' => 'Membership with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::MEMBERSHIP_ALREADY_CONFIRMED => [
|
|
'name' => Exception::MEMBERSHIP_ALREADY_CONFIRMED,
|
|
'description' => 'Membership already confirmed',
|
|
'code' => 409,
|
|
],
|
|
|
|
/** Avatars */
|
|
Exception::AVATAR_SET_NOT_FOUND => [
|
|
'name' => Exception::AVATAR_SET_NOT_FOUND,
|
|
'description' => 'The requested avatar set could not be found.',
|
|
'code' => 404
|
|
],
|
|
Exception::AVATAR_NOT_FOUND => [
|
|
'name' => Exception::AVATAR_NOT_FOUND,
|
|
'description' => 'The request avatar could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::AVATAR_IMAGE_NOT_FOUND => [
|
|
'name' => Exception::AVATAR_IMAGE_NOT_FOUND,
|
|
'description' => 'The requested image was not found at the URL.',
|
|
'code' => 404,
|
|
],
|
|
Exception::AVATAR_REMOTE_URL_FAILED => [
|
|
'name' => Exception::AVATAR_REMOTE_URL_FAILED,
|
|
'description' => 'Failed to fetch favicon from the requested URL.',
|
|
'code' => 404,
|
|
],
|
|
Exception::AVATAR_ICON_NOT_FOUND => [
|
|
'name' => Exception::AVATAR_ICON_NOT_FOUND,
|
|
'description' => 'The requested favicon could not be found.',
|
|
'code' => 404,
|
|
],
|
|
|
|
/** Storage */
|
|
Exception::STORAGE_FILE_NOT_FOUND => [
|
|
'name' => Exception::STORAGE_FILE_NOT_FOUND,
|
|
'description' => 'The requested file could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::STORAGE_DEVICE_NOT_FOUND => [
|
|
'name' => Exception::STORAGE_DEVICE_NOT_FOUND,
|
|
'description' => 'The requested storage device could not be found.',
|
|
'code' => 400,
|
|
],
|
|
Exception::STORAGE_FILE_EMPTY => [
|
|
'name' => Exception::STORAGE_FILE_EMPTY,
|
|
'description' => 'Empty file passed to the endpoint.',
|
|
'code' => 400,
|
|
],
|
|
Exception::STORAGE_FILE_TYPE_UNSUPPORTED => [
|
|
'name' => Exception::STORAGE_FILE_TYPE_UNSUPPORTED,
|
|
'description' => 'The given file extension is not supported.',
|
|
'code' => 400,
|
|
],
|
|
Exception::STORAGE_INVALID_FILE_SIZE => [
|
|
'name' => Exception::STORAGE_INVALID_FILE_SIZE,
|
|
'description' => 'The file size is either not valid or exceeds the maximum allowed size. Please check the file or the value of the _APP_STORAGE_LIMIT environment variable.',
|
|
'code' => 400,
|
|
],
|
|
Exception::STORAGE_INVALID_FILE => [
|
|
'name' => Exception::STORAGE_INVALID_FILE,
|
|
'description' => 'The uploaded file is invalid. Please check the file and try again.',
|
|
'code' => 403,
|
|
],
|
|
Exception::STORAGE_BUCKET_ALREADY_EXISTS => [
|
|
'name' => Exception::STORAGE_BUCKET_ALREADY_EXISTS,
|
|
'description' => 'A storage bucket with the requested ID already exists.',
|
|
'code' => 409,
|
|
],
|
|
Exception::STORAGE_BUCKET_NOT_FOUND => [
|
|
'name' => Exception::STORAGE_BUCKET_NOT_FOUND,
|
|
'description' => 'Storage bucket with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::STORAGE_INVALID_CONTENT_RANGE => [
|
|
'name' => Exception::STORAGE_INVALID_CONTENT_RANGE,
|
|
'description' => 'The content range is invalid. Please check the value of the Content-Range header.',
|
|
'code' => 400,
|
|
],
|
|
Exception::STORAGE_INVALID_RANGE => [
|
|
'name' => Exception::STORAGE_INVALID_RANGE,
|
|
'description' => 'The requested range is not satisfiable. Please check the value of the Range header.',
|
|
'code' => 416,
|
|
],
|
|
|
|
/** Functions */
|
|
Exception::FUNCTION_NOT_FOUND => [
|
|
'name' => Exception::FUNCTION_NOT_FOUND,
|
|
'description' => 'Function with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::FUNCTION_RUNTIME_UNSUPPORTED => [
|
|
'name' => Exception::FUNCTION_RUNTIME_UNSUPPORTED,
|
|
'description' => 'The requested runtime is either inactive or unsupported. Please check the value of the _APP_FUNCTIONS_RUNTIMES environment variable.',
|
|
'code' => 404,
|
|
],
|
|
|
|
/** Builds */
|
|
Exception::BUILD_NOT_FOUND => [
|
|
'name' => Exception::BUILD_NOT_FOUND,
|
|
'description' => 'Build with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::BUILD_NOT_READY => [
|
|
'name' => Exception::BUILD_NOT_READY,
|
|
'description' => 'Build with the requested ID is building and not ready for execution.',
|
|
'code' => 400,
|
|
],
|
|
Exception::BUILD_IN_PROGRESS => [
|
|
'name' => Exception::BUILD_IN_PROGRESS,
|
|
'description' => 'Build with the requested ID is already in progress. Please wait before you can retry.',
|
|
'code' => 400,
|
|
],
|
|
|
|
/** Deployments */
|
|
Exception::DEPLOYMENT_NOT_FOUND => [
|
|
'name' => Exception::DEPLOYMENT_NOT_FOUND,
|
|
'description' => 'Deployment with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
|
|
/** Executions */
|
|
Exception::EXECUTION_NOT_FOUND => [
|
|
'name' => Exception::EXECUTION_NOT_FOUND,
|
|
'description' => 'Execution with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
|
|
/** Databases */
|
|
Exception::DATABASE_NOT_FOUND => [
|
|
'name' => Exception::DATABASE_NOT_FOUND,
|
|
'description' => 'Database not found',
|
|
'code' => 404
|
|
],
|
|
|
|
Exception::DATABASE_ALREADY_EXISTS => [
|
|
'name' => Exception::DATABASE_ALREADY_EXISTS,
|
|
'description' => 'Database already exists',
|
|
'code' => 409
|
|
],
|
|
|
|
/** Collections */
|
|
Exception::COLLECTION_NOT_FOUND => [
|
|
'name' => Exception::COLLECTION_NOT_FOUND,
|
|
'description' => 'Collection with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::COLLECTION_ALREADY_EXISTS => [
|
|
'name' => Exception::COLLECTION_ALREADY_EXISTS,
|
|
'description' => 'A collection with the requested ID already exists.',
|
|
'code' => 409,
|
|
],
|
|
Exception::COLLECTION_LIMIT_EXCEEDED => [
|
|
'name' => Exception::COLLECTION_LIMIT_EXCEEDED,
|
|
'description' => 'The maximum number of collections has been reached.',
|
|
'code' => 400,
|
|
],
|
|
|
|
/** Documents */
|
|
Exception::DOCUMENT_NOT_FOUND => [
|
|
'name' => Exception::DOCUMENT_NOT_FOUND,
|
|
'description' => 'Document with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::DOCUMENT_INVALID_STRUCTURE => [
|
|
'name' => Exception::DOCUMENT_INVALID_STRUCTURE,
|
|
'description' => 'The document structure is invalid. Please ensure the attributes match the collection definition.',
|
|
'code' => 400,
|
|
],
|
|
Exception::DOCUMENT_MISSING_PAYLOAD => [
|
|
'name' => Exception::DOCUMENT_MISSING_PAYLOAD,
|
|
'description' => 'The document payload is missing.',
|
|
'code' => 400,
|
|
],
|
|
Exception::DOCUMENT_ALREADY_EXISTS => [
|
|
'name' => Exception::DOCUMENT_ALREADY_EXISTS,
|
|
'description' => 'Document with the requested ID already exists.',
|
|
'code' => 409,
|
|
],
|
|
|
|
/** Attributes */
|
|
Exception::ATTRIBUTE_NOT_FOUND => [
|
|
'name' => Exception::ATTRIBUTE_NOT_FOUND,
|
|
'description' => 'Attribute with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::ATTRIBUTE_UNKNOWN => [
|
|
'name' => Exception::ATTRIBUTE_UNKNOWN,
|
|
'description' => 'The attribute required for the index could not be found. Please confirm all your attributes are in the <span class="tag">available</span> state.',
|
|
'code' => 400,
|
|
],
|
|
Exception::ATTRIBUTE_NOT_AVAILABLE => [
|
|
'name' => Exception::ATTRIBUTE_NOT_AVAILABLE,
|
|
'description' => 'The requested attribute is not yet <span class="tag">available</span>. Please try again later.',
|
|
'code' => 400,
|
|
],
|
|
Exception::ATTRIBUTE_FORMAT_UNSUPPORTED => [
|
|
'name' => Exception::ATTRIBUTE_FORMAT_UNSUPPORTED,
|
|
'description' => 'The requested attribute format is not supported.',
|
|
'code' => 400,
|
|
],
|
|
Exception::ATTRIBUTE_DEFAULT_UNSUPPORTED => [
|
|
'name' => Exception::ATTRIBUTE_DEFAULT_UNSUPPORTED,
|
|
'description' => 'Default values cannot be set for <span class="tag">array</span> and <span class="tag">required</span> attributes.',
|
|
'code' => 400,
|
|
],
|
|
Exception::ATTRIBUTE_ALREADY_EXISTS => [
|
|
'name' => Exception::ATTRIBUTE_ALREADY_EXISTS,
|
|
'description' => 'Attribute with the requested ID already exists.',
|
|
'code' => 409,
|
|
],
|
|
Exception::ATTRIBUTE_LIMIT_EXCEEDED => [
|
|
'name' => Exception::ATTRIBUTE_LIMIT_EXCEEDED,
|
|
'description' => 'The maximum number of attributes has been reached.',
|
|
'code' => 400,
|
|
],
|
|
Exception::ATTRIBUTE_VALUE_INVALID => [
|
|
'name' => Exception::ATTRIBUTE_VALUE_INVALID,
|
|
'description' => 'The attribute value is invalid. Please check the type, range and value of the attribute.',
|
|
'code' => 400,
|
|
],
|
|
|
|
/** Indexes */
|
|
Exception::INDEX_NOT_FOUND => [
|
|
'name' => Exception::INDEX_NOT_FOUND,
|
|
'description' => 'Index with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::INDEX_LIMIT_EXCEEDED => [
|
|
'name' => Exception::INDEX_LIMIT_EXCEEDED,
|
|
'description' => 'The maximum number of indexes has been reached.',
|
|
'code' => 400,
|
|
],
|
|
Exception::INDEX_ALREADY_EXISTS => [
|
|
'name' => Exception::INDEX_ALREADY_EXISTS,
|
|
'description' => 'Index with the requested ID already exists.',
|
|
'code' => 409,
|
|
],
|
|
|
|
/** Project Errors */
|
|
Exception::PROJECT_NOT_FOUND => [
|
|
'name' => Exception::PROJECT_NOT_FOUND,
|
|
'description' => 'Project with the requested ID could not be found. Please check the value of the X-Appwrite-Project header to ensure the correct project ID is being used.',
|
|
'code' => 404,
|
|
],
|
|
Exception::PROJECT_UNKNOWN => [
|
|
'name' => Exception::PROJECT_UNKNOWN,
|
|
'description' => 'The project ID is either missing or not valid. Please check the value of the X-Appwrite-Project header to ensure the correct project ID is being used.',
|
|
'code' => 400,
|
|
],
|
|
Exception::PROJECT_PROVIDER_DISABLED => [
|
|
'name' => Exception::PROJECT_PROVIDER_DISABLED,
|
|
'description' => 'The chosen OAuth provider is disabled. You can enable the OAuth provider using the Appwrite console.',
|
|
'code' => 412,
|
|
],
|
|
Exception::PROJECT_PROVIDER_UNSUPPORTED => [
|
|
'name' => Exception::PROJECT_PROVIDER_UNSUPPORTED,
|
|
'description' => 'The chosen OAuth provider is unsupported. Please check <a href="/docs/client/account?sdk=web-default#accountCreateOAuth2Session"> the docs</a> for the complete list of supported OAuth providers.',
|
|
'code' => 501,
|
|
],
|
|
Exception::PROJECT_INVALID_SUCCESS_URL => [
|
|
'name' => Exception::PROJECT_INVALID_SUCCESS_URL,
|
|
'description' => 'Invalid redirect URL for OAuth success.',
|
|
'code' => 400,
|
|
],
|
|
Exception::PROJECT_INVALID_FAILURE_URL => [
|
|
'name' => Exception::PROJECT_INVALID_FAILURE_URL,
|
|
'description' => 'Invalid redirect URL for OAuth failure.',
|
|
'code' => 400,
|
|
],
|
|
Exception::PROJECT_RESERVED_PROJECT => [
|
|
'name' => Exception::PROJECT_RESERVED_PROJECT,
|
|
'description' => 'The project ID is reserved. Please choose another project ID.',
|
|
'code' => 400,
|
|
],
|
|
Exception::PROJECT_KEY_EXPIRED => [
|
|
'name' => Exception::PROJECT_KEY_EXPIRED,
|
|
'description' => 'The project key has expired. Please generate a new key using the Appwrite console.',
|
|
'code' => 401,
|
|
],
|
|
Exception::WEBHOOK_NOT_FOUND => [
|
|
'name' => Exception::WEBHOOK_NOT_FOUND,
|
|
'description' => 'Webhook with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::KEY_NOT_FOUND => [
|
|
'name' => Exception::KEY_NOT_FOUND,
|
|
'description' => 'Key with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::PLATFORM_NOT_FOUND => [
|
|
'name' => Exception::PLATFORM_NOT_FOUND,
|
|
'description' => 'Platform with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::DOMAIN_NOT_FOUND => [
|
|
'name' => Exception::DOMAIN_NOT_FOUND,
|
|
'description' => 'Domain with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::DOMAIN_ALREADY_EXISTS => [
|
|
'name' => Exception::DOMAIN_ALREADY_EXISTS,
|
|
'description' => 'A Domain with the requested ID already exists.',
|
|
'code' => 409,
|
|
],
|
|
Exception::VARIABLE_NOT_FOUND => [
|
|
'name' => Exception::VARIABLE_NOT_FOUND,
|
|
'description' => 'Variable with the requested ID could not be found.',
|
|
'code' => 404,
|
|
],
|
|
Exception::VARIABLE_ALREADY_EXISTS => [
|
|
'name' => Exception::VARIABLE_ALREADY_EXISTS,
|
|
'description' => 'Variable with the same ID already exists in your project.',
|
|
'code' => 409,
|
|
],
|
|
Exception::DOMAIN_VERIFICATION_FAILED => [
|
|
'name' => Exception::DOMAIN_VERIFICATION_FAILED,
|
|
'description' => 'Domain verification for the requested domain has failed.',
|
|
'code' => 401,
|
|
],
|
|
Exception::GRAPHQL_NO_QUERY => [
|
|
'name' => Exception::GRAPHQL_NO_QUERY,
|
|
'description' => 'Query is required.',
|
|
'code' => 400,
|
|
],
|
|
Exception::GRAPHQL_INVALID_QUERY => [
|
|
'name' => Exception::GRAPHQL_NO_QUERY,
|
|
'description' => 'Invalid query supplied.',
|
|
'code' => 400,
|
|
],
|
|
Exception::GRAPHQL_TOO_MANY_QUERIES => [
|
|
'name' => Exception::GRAPHQL_TOO_MANY_QUERIES,
|
|
'description' => 'Too many queries have been sent in the same request.',
|
|
'code' => 400,
|
|
],
|
|
];
|