diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml
index a185f3fcde..2c98d11b80 100644
--- a/.github/workflows/linter.yml
+++ b/.github/workflows/linter.yml
@@ -31,4 +31,4 @@ jobs:
args: --profile --ignore-platform-reqs
- name: Run Linter
- run: ./vendor/bin/phpcs -p || true
+ run: ./vendor/bin/phpcs -p
diff --git a/app/init.php b/app/init.php
index 5f609174e5..0e1848b2c3 100644
--- a/app/init.php
+++ b/app/init.php
@@ -78,6 +78,7 @@ const APP_LIMIT_ANTIVIRUS = 20000000; //20MB
const APP_LIMIT_ENCRYPTION = 20000000; //20MB
const APP_LIMIT_COMPRESSION = 20000000; //20MB
const APP_LIMIT_ARRAY_PARAMS_SIZE = 100; // Default maximum of how many elements can there be in API parameter that expects array value
+const APP_LIMIT_SUBQUERY = 1000;
const APP_CACHE_BUSTER = 305;
const APP_VERSION_STABLE = '0.14.2';
const APP_DATABASE_ATTRIBUTE_EMAIL = 'email';
@@ -191,46 +192,50 @@ if (!empty($user) || !empty($pass)) {
*/
Database::addFilter(
'casting',
- function ($value) {
+ function (mixed $value) {
return json_encode(['value' => $value], JSON_PRESERVE_ZERO_FRACTION);
},
- function ($value) {
+ function (mixed $value) {
if (is_null($value)) {
return null;
}
+
return json_decode($value, true)['value'];
}
);
Database::addFilter(
'enum',
- function ($value, Document $attribute) {
+ function (mixed $value, Document $attribute) {
if ($attribute->isSet('elements')) {
$attribute->removeAttribute('elements');
}
+
return $value;
},
- function ($value, Document $attribute) {
+ function (mixed $value, Document $attribute) {
$formatOptions = json_decode($attribute->getAttribute('formatOptions', '[]'), true);
if (isset($formatOptions['elements'])) {
$attribute->setAttribute('elements', $formatOptions['elements']);
}
+
return $value;
}
);
Database::addFilter(
'range',
- function ($value, Document $attribute) {
+ function (mixed $value, Document $attribute) {
if ($attribute->isSet('min')) {
$attribute->removeAttribute('min');
}
if ($attribute->isSet('max')) {
$attribute->removeAttribute('max');
}
+
return $value;
},
- function ($value, Document $attribute) {
+ function (mixed $value, Document $attribute) {
$formatOptions = json_decode($attribute->getAttribute('formatOptions', '[]'), true);
if (isset($formatOptions['min']) || isset($formatOptions['max'])) {
$attribute
@@ -238,134 +243,134 @@ Database::addFilter(
->setAttribute('max', $formatOptions['max'])
;
}
+
return $value;
}
);
Database::addFilter(
'subQueryAttributes',
- function ($value) {
+ function (mixed $value) {
return null;
},
- function ($value, Document $document, Database $database) {
+ function (mixed $value, Document $document, Database $database) {
return $database
->find('attributes', [
new Query('collectionId', Query::TYPE_EQUAL, [$document->getId()])
- ], $database->getAttributeLimit(), 0, []);
+ ], $database->getAttributeLimit());
}
);
Database::addFilter(
'subQueryIndexes',
- function ($value) {
+ function (mixed $value) {
return null;
},
- function ($value, Document $document, Database $database) {
+ function (mixed $value, Document $document, Database $database) {
return $database
->find('indexes', [
new Query('collectionId', Query::TYPE_EQUAL, [$document->getId()])
- ], 64, 0, []);
+ ], 64);
}
);
Database::addFilter(
'subQueryPlatforms',
- function ($value) {
+ function (mixed $value) {
return null;
},
- function ($value, Document $document, Database $database) {
+ function (mixed $value, Document $document, Database $database) {
return $database
->find('platforms', [
new Query('projectId', Query::TYPE_EQUAL, [$document->getId()])
- ], $database->getIndexLimit(), 0, []);
+ ], APP_LIMIT_SUBQUERY);
}
);
Database::addFilter(
'subQueryDomains',
- function ($value) {
+ function (mixed $value) {
return null;
},
- function ($value, Document $document, Database $database) {
+ function (mixed $value, Document $document, Database $database) {
return $database
->find('domains', [
new Query('projectId', Query::TYPE_EQUAL, [$document->getId()])
- ], $database->getIndexLimit(), 0, []);
+ ], APP_LIMIT_SUBQUERY);
}
);
Database::addFilter(
'subQueryKeys',
- function ($value) {
+ function (mixed $value) {
return null;
},
- function ($value, Document $document, Database $database) {
+ function (mixed $value, Document $document, Database $database) {
return $database
->find('keys', [
new Query('projectId', Query::TYPE_EQUAL, [$document->getId()])
- ], $database->getIndexLimit(), 0, []);
+ ], APP_LIMIT_SUBQUERY);
}
);
Database::addFilter(
'subQueryWebhooks',
- function ($value) {
+ function (mixed $value) {
return null;
},
- function ($value, Document $document, Database $database) {
+ function (mixed $value, Document $document, Database $database) {
return $database
->find('webhooks', [
new Query('projectId', Query::TYPE_EQUAL, [$document->getId()])
- ], $database->getIndexLimit(), 0, []);
+ ], APP_LIMIT_SUBQUERY);
}
);
Database::addFilter(
'subQuerySessions',
- function ($value) {
+ function (mixed $value) {
return null;
},
- function ($value, Document $document, Database $database) {
- $sessions = Authorization::skip(fn () => $database->find('sessions', [
+ function (mixed $value, Document $document, Database $database) {
+ return Authorization::skip(fn () => $database->find('sessions', [
new Query('userId', Query::TYPE_EQUAL, [$document->getId()])
- ], $database->getIndexLimit(), 0, []));
-
- return $sessions;
+ ], APP_LIMIT_SUBQUERY));
}
);
Database::addFilter(
'subQueryTokens',
- function ($value) {
+ function (mixed $value) {
return null;
},
- function ($value, Document $document, Database $database) {
+ function (mixed $value, Document $document, Database $database) {
return Authorization::skip(fn() => $database
->find('tokens', [
new Query('userId', Query::TYPE_EQUAL, [$document->getId()])
- ], $database->getIndexLimit(), 0, []));
+ ], APP_LIMIT_SUBQUERY));
}
);
Database::addFilter(
'subQueryMemberships',
- function ($value) {
+ function (mixed $value) {
return null;
},
- function ($value, Document $document, Database $database) {
+ function (mixed $value, Document $document, Database $database) {
return Authorization::skip(fn() => $database
->find('memberships', [
new Query('userId', Query::TYPE_EQUAL, [$document->getId()])
- ], $database->getIndexLimit(), 0, []));
+ ], APP_LIMIT_SUBQUERY));
}
);
Database::addFilter(
'encrypt',
- function ($value) {
+ function (mixed $value) {
$key = App::getEnv('_APP_OPENSSL_KEY_V1');
$iv = OpenSSL::randomPseudoBytes(OpenSSL::cipherIVLength(OpenSSL::CIPHER_AES_128_GCM));
$tag = null;
+
return json_encode([
'data' => OpenSSL::encrypt($value, OpenSSL::CIPHER_AES_128_GCM, $key, 0, $iv, $tag),
'method' => OpenSSL::CIPHER_AES_128_GCM,
@@ -374,7 +379,7 @@ Database::addFilter(
'version' => '1',
]);
},
- function ($value) {
+ function (mixed $value) {
if (is_null($value)) {
return null;
}
diff --git a/composer.lock b/composer.lock
index df0981a8ce..f9dcd577cd 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1706,16 +1706,16 @@
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.25.0",
+ "version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "30885182c981ab175d4d034db0f6f469898070ab"
+ "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab",
- "reference": "30885182c981ab175d4d034db0f6f469898070ab",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
+ "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"shasum": ""
},
"require": {
@@ -1730,7 +1730,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1768,7 +1768,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
},
"funding": [
{
@@ -1784,20 +1784,20 @@
"type": "tidelift"
}
],
- "time": "2021-10-20T20:35:02+00:00"
+ "time": "2022-05-24T11:49:31+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.25.0",
+ "version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c"
+ "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c",
- "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
+ "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
"shasum": ""
},
"require": {
@@ -1806,7 +1806,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1851,7 +1851,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.25.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0"
},
"funding": [
{
@@ -1867,7 +1867,7 @@
"type": "tidelift"
}
],
- "time": "2022-03-04T08:16:47+00:00"
+ "time": "2022-05-10T07:21:04+00:00"
},
{
"name": "utopia-php/abuse",
@@ -5088,16 +5088,16 @@
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.25.0",
+ "version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825"
+ "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825",
- "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
+ "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
"shasum": ""
},
"require": {
@@ -5112,7 +5112,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -5151,7 +5151,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0"
},
"funding": [
{
@@ -5167,7 +5167,7 @@
"type": "tidelift"
}
],
- "time": "2021-11-30T18:21:41+00:00"
+ "time": "2022-05-24T11:49:31+00:00"
},
{
"name": "textalk/websocket",
diff --git a/phpcs.xml b/phpcs.xml
index 550678584f..cb31d549e0 100644
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -15,4 +15,8 @@
*
+
+
+ ./app
+
\ No newline at end of file
diff --git a/src/Appwrite/Auth/Auth.php b/src/Appwrite/Auth/Auth.php
index 8b16871025..40560371f4 100644
--- a/src/Appwrite/Auth/Auth.php
+++ b/src/Appwrite/Auth/Auth.php
@@ -10,38 +10,38 @@ class Auth
/**
* User Roles.
*/
- const USER_ROLE_ALL = 'all';
- const USER_ROLE_GUEST = 'guest';
- const USER_ROLE_MEMBER = 'member';
- const USER_ROLE_ADMIN = 'admin';
- const USER_ROLE_DEVELOPER = 'developer';
- const USER_ROLE_OWNER = 'owner';
- const USER_ROLE_APP = 'app';
- const USER_ROLE_SYSTEM = 'system';
+ public const USER_ROLE_ALL = 'all';
+ public const USER_ROLE_GUEST = 'guest';
+ public const USER_ROLE_MEMBER = 'member';
+ public const USER_ROLE_ADMIN = 'admin';
+ public const USER_ROLE_DEVELOPER = 'developer';
+ public const USER_ROLE_OWNER = 'owner';
+ public const USER_ROLE_APP = 'app';
+ public const USER_ROLE_SYSTEM = 'system';
/**
* Token Types.
*/
- const TOKEN_TYPE_LOGIN = 1; // Deprecated
- const TOKEN_TYPE_VERIFICATION = 2;
- const TOKEN_TYPE_RECOVERY = 3;
- const TOKEN_TYPE_INVITE = 4;
- const TOKEN_TYPE_MAGIC_URL = 5;
+ public const TOKEN_TYPE_LOGIN = 1; // Deprecated
+ public const TOKEN_TYPE_VERIFICATION = 2;
+ public const TOKEN_TYPE_RECOVERY = 3;
+ public const TOKEN_TYPE_INVITE = 4;
+ public const TOKEN_TYPE_MAGIC_URL = 5;
/**
* Session Providers.
*/
- const SESSION_PROVIDER_EMAIL = 'email';
- const SESSION_PROVIDER_ANONYMOUS = 'anonymous';
- const SESSION_PROVIDER_MAGIC_URL = 'magic-url';
+ public const SESSION_PROVIDER_EMAIL = 'email';
+ public const SESSION_PROVIDER_ANONYMOUS = 'anonymous';
+ public const SESSION_PROVIDER_MAGIC_URL = 'magic-url';
/**
* Token Expiration times.
*/
- const TOKEN_EXPIRATION_LOGIN_LONG = 31536000; /* 1 year */
- const TOKEN_EXPIRATION_LOGIN_SHORT = 3600; /* 1 hour */
- const TOKEN_EXPIRATION_RECOVERY = 3600; /* 1 hour */
- const TOKEN_EXPIRATION_CONFIRM = 3600 * 24 * 7; /* 7 days */
+ public const TOKEN_EXPIRATION_LOGIN_LONG = 31536000; /* 1 year */
+ public const TOKEN_EXPIRATION_LOGIN_SHORT = 3600; /* 1 hour */
+ public const TOKEN_EXPIRATION_RECOVERY = 3600; /* 1 hour */
+ public const TOKEN_EXPIRATION_CONFIRM = 3600 * 24 * 7; /* 7 days */
/**
* @var string
diff --git a/src/Appwrite/Auth/OAuth2/Tradeshift.php b/src/Appwrite/Auth/OAuth2/Tradeshift.php
index fb12493d4b..8d0bfa8784 100644
--- a/src/Appwrite/Auth/OAuth2/Tradeshift.php
+++ b/src/Appwrite/Auth/OAuth2/Tradeshift.php
@@ -9,8 +9,8 @@ use Appwrite\Auth\OAuth2;
class Tradeshift extends OAuth2
{
- const TRADESHIFT_SANDBOX_API_DOMAIN = 'api-sandbox.tradeshift.com';
- const TRADESHIFT_API_DOMAIN = 'api.tradeshift.com';
+ public const TRADESHIFT_SANDBOX_API_DOMAIN = 'api-sandbox.tradeshift.com';
+ public const TRADESHIFT_API_DOMAIN = 'api.tradeshift.com';
private array $apiDomain = [
'sandbox' => self::TRADESHIFT_SANDBOX_API_DOMAIN,
diff --git a/src/Appwrite/Auth/OAuth2/Twitter.php b/src/Appwrite/Auth/OAuth2/Twitter.php
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/src/Appwrite/Event/Event.php b/src/Appwrite/Event/Event.php
index 45fefb3b12..629a058fed 100644
--- a/src/Appwrite/Event/Event.php
+++ b/src/Appwrite/Event/Event.php
@@ -8,29 +8,29 @@ use Utopia\Database\Document;
class Event
{
- const DATABASE_QUEUE_NAME = 'v1-database';
- const DATABASE_CLASS_NAME = 'DatabaseV1';
+ public const DATABASE_QUEUE_NAME = 'v1-database';
+ public const DATABASE_CLASS_NAME = 'DatabaseV1';
- const DELETE_QUEUE_NAME = 'v1-deletes';
- const DELETE_CLASS_NAME = 'DeletesV1';
+ public const DELETE_QUEUE_NAME = 'v1-deletes';
+ public const DELETE_CLASS_NAME = 'DeletesV1';
- const AUDITS_QUEUE_NAME = 'v1-audits';
- const AUDITS_CLASS_NAME = 'AuditsV1';
+ public const AUDITS_QUEUE_NAME = 'v1-audits';
+ public const AUDITS_CLASS_NAME = 'AuditsV1';
- const MAILS_QUEUE_NAME = 'v1-mails';
- const MAILS_CLASS_NAME = 'MailsV1';
+ public const MAILS_QUEUE_NAME = 'v1-mails';
+ public const MAILS_CLASS_NAME = 'MailsV1';
- const FUNCTIONS_QUEUE_NAME = 'v1-functions';
- const FUNCTIONS_CLASS_NAME = 'FunctionsV1';
+ public const FUNCTIONS_QUEUE_NAME = 'v1-functions';
+ public const FUNCTIONS_CLASS_NAME = 'FunctionsV1';
- const WEBHOOK_QUEUE_NAME = 'v1-webhooks';
- const WEBHOOK_CLASS_NAME = 'WebhooksV1';
+ public const WEBHOOK_QUEUE_NAME = 'v1-webhooks';
+ public const WEBHOOK_CLASS_NAME = 'WebhooksV1';
- const CERTIFICATES_QUEUE_NAME = 'v1-certificates';
- const CERTIFICATES_CLASS_NAME = 'CertificatesV1';
+ public const CERTIFICATES_QUEUE_NAME = 'v1-certificates';
+ public const CERTIFICATES_CLASS_NAME = 'CertificatesV1';
- const BUILDS_QUEUE_NAME = 'v1-builds';
- const BUILDS_CLASS_NAME = 'BuildsV1';
+ public const BUILDS_QUEUE_NAME = 'v1-builds';
+ public const BUILDS_CLASS_NAME = 'BuildsV1';
protected string $queue = '';
protected string $class = '';
@@ -332,7 +332,7 @@ class Event
* @return array
* @throws \InvalidArgumentException
*/
- static function generateEvents(string $pattern, array $params = []): array
+ public static function generateEvents(string $pattern, array $params = []): array
{
// $params = \array_filter($params, fn($param) => !\is_array($param));
$paramKeys = \array_keys($params);
diff --git a/src/Appwrite/Extend/Exception.php b/src/Appwrite/Extend/Exception.php
index 47b77be353..625c89a136 100644
--- a/src/Appwrite/Extend/Exception.php
+++ b/src/Appwrite/Extend/Exception.php
@@ -32,136 +32,136 @@ class Exception extends \Exception
*/
/** General */
- const GENERAL_UNKNOWN = 'general_unknown';
- const GENERAL_MOCK = 'general_mock';
- const GENERAL_ACCESS_FORBIDDEN = 'general_access_forbidden';
- const GENERAL_UNKNOWN_ORIGIN = 'general_unknown_origin';
- const GENERAL_SERVICE_DISABLED = 'general_service_disabled';
- const GENERAL_UNAUTHORIZED_SCOPE = 'general_unauthorized_scope';
- const GENERAL_RATE_LIMIT_EXCEEDED = 'general_rate_limit_exceeded';
- const GENERAL_SMTP_DISABLED = 'general_smtp_disabled';
- const GENERAL_ARGUMENT_INVALID = 'general_argument_invalid';
- const GENERAL_QUERY_LIMIT_EXCEEDED = 'general_query_limit_exceeded';
- const GENERAL_QUERY_INVALID = 'general_query_invalid';
- const GENERAL_ROUTE_NOT_FOUND = 'general_route_not_found';
- const GENERAL_CURSOR_NOT_FOUND = 'general_cursor_not_found';
- const GENERAL_SERVER_ERROR = 'general_server_error';
- const GENERAL_PROTOCOL_UNSUPPORTED = 'general_protocol_unsupported';
+ public const GENERAL_UNKNOWN = 'general_unknown';
+ public const GENERAL_MOCK = 'general_mock';
+ public const GENERAL_ACCESS_FORBIDDEN = 'general_access_forbidden';
+ public const GENERAL_UNKNOWN_ORIGIN = 'general_unknown_origin';
+ public const GENERAL_SERVICE_DISABLED = 'general_service_disabled';
+ public const GENERAL_UNAUTHORIZED_SCOPE = 'general_unauthorized_scope';
+ public const GENERAL_RATE_LIMIT_EXCEEDED = 'general_rate_limit_exceeded';
+ public const GENERAL_SMTP_DISABLED = 'general_smtp_disabled';
+ public const GENERAL_ARGUMENT_INVALID = 'general_argument_invalid';
+ public const GENERAL_QUERY_LIMIT_EXCEEDED = 'general_query_limit_exceeded';
+ public const GENERAL_QUERY_INVALID = 'general_query_invalid';
+ public const GENERAL_ROUTE_NOT_FOUND = 'general_route_not_found';
+ public const GENERAL_CURSOR_NOT_FOUND = 'general_cursor_not_found';
+ public const GENERAL_SERVER_ERROR = 'general_server_error';
+ public const GENERAL_PROTOCOL_UNSUPPORTED = 'general_protocol_unsupported';
/** Users */
- const USER_COUNT_EXCEEDED = 'user_count_exceeded';
- const USER_JWT_INVALID = 'user_jwt_invalid';
- const USER_ALREADY_EXISTS = 'user_already_exists';
- const USER_BLOCKED = 'user_blocked';
- const USER_INVALID_TOKEN = 'user_invalid_token';
- const USER_PASSWORD_RESET_REQUIRED = 'user_password_reset_required';
- const USER_EMAIL_NOT_WHITELISTED = 'user_email_not_whitelisted';
- const USER_IP_NOT_WHITELISTED = 'user_ip_not_whitelisted';
- const USER_INVALID_CREDENTIALS = 'user_invalid_credentials';
- const USER_ANONYMOUS_CONSOLE_PROHIBITED = 'user_anonymous_console_prohibited';
- const USER_SESSION_ALREADY_EXISTS = 'user_session_already_exists';
- const USER_NOT_FOUND = 'user_not_found';
- const USER_EMAIL_ALREADY_EXISTS = 'user_email_already_exists';
- const USER_PASSWORD_MISMATCH = 'user_password_mismatch';
- const USER_SESSION_NOT_FOUND = 'user_session_not_found';
- const USER_UNAUTHORIZED = 'user_unauthorized';
- const USER_AUTH_METHOD_UNSUPPORTED = 'user_auth_method_unsupported';
+ public const USER_COUNT_EXCEEDED = 'user_count_exceeded';
+ public const USER_JWT_INVALID = 'user_jwt_invalid';
+ public const USER_ALREADY_EXISTS = 'user_already_exists';
+ public const USER_BLOCKED = 'user_blocked';
+ public const USER_INVALID_TOKEN = 'user_invalid_token';
+ public const USER_PASSWORD_RESET_REQUIRED = 'user_password_reset_required';
+ public const USER_EMAIL_NOT_WHITELISTED = 'user_email_not_whitelisted';
+ public const USER_IP_NOT_WHITELISTED = 'user_ip_not_whitelisted';
+ public const USER_INVALID_CREDENTIALS = 'user_invalid_credentials';
+ public const USER_ANONYMOUS_CONSOLE_PROHIBITED = 'user_anonymous_console_prohibited';
+ public const USER_SESSION_ALREADY_EXISTS = 'user_session_already_exists';
+ public const USER_NOT_FOUND = 'user_not_found';
+ public const USER_EMAIL_ALREADY_EXISTS = 'user_email_already_exists';
+ public const USER_PASSWORD_MISMATCH = 'user_password_mismatch';
+ public const USER_SESSION_NOT_FOUND = 'user_session_not_found';
+ public const USER_UNAUTHORIZED = 'user_unauthorized';
+ public const USER_AUTH_METHOD_UNSUPPORTED = 'user_auth_method_unsupported';
/** Teams */
- const TEAM_NOT_FOUND = 'team_not_found';
- const TEAM_INVITE_ALREADY_EXISTS = 'team_invite_already_exists';
- const TEAM_INVITE_NOT_FOUND = 'team_invite_not_found';
- const TEAM_INVALID_SECRET = 'team_invalid_secret';
- const TEAM_MEMBERSHIP_MISMATCH = 'team_membership_mismatch';
- const TEAM_INVITE_MISMATCH = 'team_invite_mismatch';
+ public const TEAM_NOT_FOUND = 'team_not_found';
+ public const TEAM_INVITE_ALREADY_EXISTS = 'team_invite_already_exists';
+ public const TEAM_INVITE_NOT_FOUND = 'team_invite_not_found';
+ public const TEAM_INVALID_SECRET = 'team_invalid_secret';
+ public const TEAM_MEMBERSHIP_MISMATCH = 'team_membership_mismatch';
+ public const TEAM_INVITE_MISMATCH = 'team_invite_mismatch';
/** Membership */
- const MEMBERSHIP_NOT_FOUND = 'membership_not_found';
+ public const MEMBERSHIP_NOT_FOUND = 'membership_not_found';
/** Avatars */
- const AVATAR_SET_NOT_FOUND = 'avatar_set_not_found';
- const AVATAR_NOT_FOUND = 'avatar_not_found';
- const AVATAR_IMAGE_NOT_FOUND = 'avatar_image_not_found';
- const AVATAR_REMOTE_URL_FAILED = 'avatar_remote_url_failed';
- const AVATAR_ICON_NOT_FOUND = 'avatar_icon_not_found';
+ public const AVATAR_SET_NOT_FOUND = 'avatar_set_not_found';
+ public const AVATAR_NOT_FOUND = 'avatar_not_found';
+ public const AVATAR_IMAGE_NOT_FOUND = 'avatar_image_not_found';
+ public const AVATAR_REMOTE_URL_FAILED = 'avatar_remote_url_failed';
+ public const AVATAR_ICON_NOT_FOUND = 'avatar_icon_not_found';
/** Storage */
- const STORAGE_FILE_NOT_FOUND = 'storage_file_not_found';
- const STORAGE_DEVICE_NOT_FOUND = 'storage_device_not_found';
- const STORAGE_FILE_EMPTY = 'storage_file_empty';
- const STORAGE_FILE_TYPE_UNSUPPORTED = 'storage_file_type_unsupported';
- const STORAGE_INVALID_FILE_SIZE = 'storage_invalid_file_size';
- const STORAGE_INVALID_FILE = 'storage_invalid_file';
- const STORAGE_BUCKET_ALREADY_EXISTS = 'storage_bucket_already_exists';
- const STORAGE_BUCKET_NOT_FOUND = 'storage_bucket_not_found';
- const STORAGE_INVALID_CONTENT_RANGE = 'storage_invalid_content_range';
- const STORAGE_INVALID_RANGE = 'storage_invalid_range';
+ public const STORAGE_FILE_NOT_FOUND = 'storage_file_not_found';
+ public const STORAGE_DEVICE_NOT_FOUND = 'storage_device_not_found';
+ public const STORAGE_FILE_EMPTY = 'storage_file_empty';
+ public const STORAGE_FILE_TYPE_UNSUPPORTED = 'storage_file_type_unsupported';
+ public const STORAGE_INVALID_FILE_SIZE = 'storage_invalid_file_size';
+ public const STORAGE_INVALID_FILE = 'storage_invalid_file';
+ public const STORAGE_BUCKET_ALREADY_EXISTS = 'storage_bucket_already_exists';
+ public const STORAGE_BUCKET_NOT_FOUND = 'storage_bucket_not_found';
+ public const STORAGE_INVALID_CONTENT_RANGE = 'storage_invalid_content_range';
+ public const STORAGE_INVALID_RANGE = 'storage_invalid_range';
/** Functions */
- const FUNCTION_NOT_FOUND = 'function_not_found';
- const FUNCTION_RUNTIME_UNSUPPORTED = 'function_runtime_unsupported';
+ public const FUNCTION_NOT_FOUND = 'function_not_found';
+ public const FUNCTION_RUNTIME_UNSUPPORTED = 'function_runtime_unsupported';
/** Deployments */
- const DEPLOYMENT_NOT_FOUND = 'deployment_not_found';
+ public const DEPLOYMENT_NOT_FOUND = 'deployment_not_found';
/** Builds */
- const BUILD_NOT_FOUND = 'build_not_found';
- const BUILD_NOT_READY = 'build_not_ready';
- const BUILD_IN_PROGRESS = 'build_in_progress';
+ public const BUILD_NOT_FOUND = 'build_not_found';
+ public const BUILD_NOT_READY = 'build_not_ready';
+ public const BUILD_IN_PROGRESS = 'build_in_progress';
/** Execution */
- const EXECUTION_NOT_FOUND = 'execution_not_found';
+ public const EXECUTION_NOT_FOUND = 'execution_not_found';
/** Collections */
- const COLLECTION_NOT_FOUND = 'collection_not_found';
- const COLLECTION_ALREADY_EXISTS = 'collection_already_exists';
- const COLLECTION_LIMIT_EXCEEDED = 'collection_limit_exceeded';
+ public const COLLECTION_NOT_FOUND = 'collection_not_found';
+ public const COLLECTION_ALREADY_EXISTS = 'collection_already_exists';
+ public const COLLECTION_LIMIT_EXCEEDED = 'collection_limit_exceeded';
/** Documents */
- const DOCUMENT_NOT_FOUND = 'document_not_found';
- const DOCUMENT_INVALID_STRUCTURE = 'document_invalid_structure';
- const DOCUMENT_MISSING_PAYLOAD = 'document_missing_payload';
- const DOCUMENT_ALREADY_EXISTS = 'document_already_exists';
+ public const DOCUMENT_NOT_FOUND = 'document_not_found';
+ public const DOCUMENT_INVALID_STRUCTURE = 'document_invalid_structure';
+ public const DOCUMENT_MISSING_PAYLOAD = 'document_missing_payload';
+ public const DOCUMENT_ALREADY_EXISTS = 'document_already_exists';
/** Attribute */
- const ATTRIBUTE_NOT_FOUND = 'attribute_not_found';
- const ATTRIBUTE_UNKNOWN = 'attribute_unknown';
- const ATTRIBUTE_NOT_AVAILABLE = 'attribute_not_available';
- const ATTRIBUTE_FORMAT_UNSUPPORTED = 'attribute_format_unsupported';
- const ATTRIBUTE_DEFAULT_UNSUPPORTED = 'attribute_default_unsupported';
- const ATTRIBUTE_ALREADY_EXISTS = 'attribute_already_exists';
- const ATTRIBUTE_LIMIT_EXCEEDED = 'attribute_limit_exceeded';
- const ATTRIBUTE_VALUE_INVALID = 'attribute_value_invalid';
+ public const ATTRIBUTE_NOT_FOUND = 'attribute_not_found';
+ public const ATTRIBUTE_UNKNOWN = 'attribute_unknown';
+ public const ATTRIBUTE_NOT_AVAILABLE = 'attribute_not_available';
+ public const ATTRIBUTE_FORMAT_UNSUPPORTED = 'attribute_format_unsupported';
+ public const ATTRIBUTE_DEFAULT_UNSUPPORTED = 'attribute_default_unsupported';
+ public const ATTRIBUTE_ALREADY_EXISTS = 'attribute_already_exists';
+ public const ATTRIBUTE_LIMIT_EXCEEDED = 'attribute_limit_exceeded';
+ public const ATTRIBUTE_VALUE_INVALID = 'attribute_value_invalid';
/** Indexes */
- const INDEX_NOT_FOUND = 'index_not_found';
- const INDEX_LIMIT_EXCEEDED = 'index_limit_exceeded';
- const INDEX_ALREADY_EXISTS = 'index_already_exists';
+ public const INDEX_NOT_FOUND = 'index_not_found';
+ public const INDEX_LIMIT_EXCEEDED = 'index_limit_exceeded';
+ public const INDEX_ALREADY_EXISTS = 'index_already_exists';
/** Projects */
- const PROJECT_NOT_FOUND = 'project_not_found';
- const PROJECT_UNKNOWN = 'project_unknown';
- const PROJECT_PROVIDER_DISABLED = 'project_provider_disabled';
- const PROJECT_PROVIDER_UNSUPPORTED = 'project_provider_unsupported';
- const PROJECT_INVALID_SUCCESS_URL = 'project_invalid_success_url';
- const PROJECT_INVALID_FAILURE_URL = 'project_invalid_failure_url';
- const PROJECT_MISSING_USER_ID = 'project_missing_user_id';
- const PROJECT_RESERVED_PROJECT = 'project_reserved_project';
- const PROJECT_KEY_EXPIRED = 'project_key_expired';
+ public const PROJECT_NOT_FOUND = 'project_not_found';
+ public const PROJECT_UNKNOWN = 'project_unknown';
+ public const PROJECT_PROVIDER_DISABLED = 'project_provider_disabled';
+ public const PROJECT_PROVIDER_UNSUPPORTED = 'project_provider_unsupported';
+ public const PROJECT_INVALID_SUCCESS_URL = 'project_invalid_success_url';
+ public const PROJECT_INVALID_FAILURE_URL = 'project_invalid_failure_url';
+ public const PROJECT_MISSING_USER_ID = 'project_missing_user_id';
+ public const PROJECT_RESERVED_PROJECT = 'project_reserved_project';
+ public const PROJECT_KEY_EXPIRED = 'project_key_expired';
/** Webhooks */
- const WEBHOOK_NOT_FOUND = 'webhook_not_found';
+ public const WEBHOOK_NOT_FOUND = 'webhook_not_found';
/** Keys */
- const KEY_NOT_FOUND = 'key_not_found';
+ public const KEY_NOT_FOUND = 'key_not_found';
/** Platform */
- const PLATFORM_NOT_FOUND = 'platform_not_found';
+ public const PLATFORM_NOT_FOUND = 'platform_not_found';
/** Domain */
- const DOMAIN_NOT_FOUND = 'domain_not_found';
- const DOMAIN_ALREADY_EXISTS = 'domain_already_exists';
- const DOMAIN_VERIFICATION_FAILED = 'domain_verification_failed';
+ public const DOMAIN_NOT_FOUND = 'domain_not_found';
+ public const DOMAIN_ALREADY_EXISTS = 'domain_already_exists';
+ public const DOMAIN_VERIFICATION_FAILED = 'domain_verification_failed';
private $type = '';
diff --git a/src/Appwrite/Migration/Version/V13.php b/src/Appwrite/Migration/Version/V13.php
index 277b84ae99..d204be84f3 100644
--- a/src/Appwrite/Migration/Version/V13.php
+++ b/src/Appwrite/Migration/Version/V13.php
@@ -319,7 +319,7 @@ class V13 extends Migration
return 'buckets.*.' . implode('.', $parts);
case 'files':
return 'buckets.*.' . $second . '.*.' . implode('.', $parts);
- }
+ } // intentional fallthrough
case 'database':
$second = array_shift($parts);
switch ($second) {
diff --git a/src/Appwrite/Resque/Worker.php b/src/Appwrite/Resque/Worker.php
index 0b3e4db1a3..84feb0f961 100644
--- a/src/Appwrite/Resque/Worker.php
+++ b/src/Appwrite/Resque/Worker.php
@@ -81,8 +81,8 @@ abstract class Worker
throw new Exception("Please implement shutdown method in worker");
}
- const DATABASE_PROJECT = 'project';
- const DATABASE_CONSOLE = 'console';
+ public const DATABASE_PROJECT = 'project';
+ public const DATABASE_CONSOLE = 'console';
/**
* A wrapper around 'init' function with non-worker-specific code
diff --git a/src/Appwrite/Utopia/Response.php b/src/Appwrite/Utopia/Response.php
index baef255d4e..8a876ecb4d 100644
--- a/src/Appwrite/Utopia/Response.php
+++ b/src/Appwrite/Utopia/Response.php
@@ -76,116 +76,116 @@ use Appwrite\Utopia\Response\Model\UsageUsers;
class Response extends SwooleResponse
{
// General
- const MODEL_NONE = 'none';
- const MODEL_ANY = 'any';
- const MODEL_LOG = 'log';
- const MODEL_LOG_LIST = 'logList';
- const MODEL_ERROR = 'error';
- const MODEL_METRIC = 'metric';
- const MODEL_METRIC_LIST = 'metricList';
- const MODEL_ERROR_DEV = 'errorDev';
- const MODEL_BASE_LIST = 'baseList';
- const MODEL_USAGE_DATABASE = 'usageDatabase';
- const MODEL_USAGE_COLLECTION = 'usageCollection';
- const MODEL_USAGE_USERS = 'usageUsers';
- const MODEL_USAGE_BUCKETS = 'usageBuckets';
- const MODEL_USAGE_STORAGE = 'usageStorage';
- const MODEL_USAGE_FUNCTIONS = 'usageFunctions';
- const MODEL_USAGE_PROJECT = 'usageProject';
+ public const MODEL_NONE = 'none';
+ public const MODEL_ANY = 'any';
+ public const MODEL_LOG = 'log';
+ public const MODEL_LOG_LIST = 'logList';
+ public const MODEL_ERROR = 'error';
+ public const MODEL_METRIC = 'metric';
+ public const MODEL_METRIC_LIST = 'metricList';
+ public const MODEL_ERROR_DEV = 'errorDev';
+ public const MODEL_BASE_LIST = 'baseList';
+ public const MODEL_USAGE_DATABASE = 'usageDatabase';
+ public const MODEL_USAGE_COLLECTION = 'usageCollection';
+ public const MODEL_USAGE_USERS = 'usageUsers';
+ public const MODEL_USAGE_BUCKETS = 'usageBuckets';
+ public const MODEL_USAGE_STORAGE = 'usageStorage';
+ public const MODEL_USAGE_FUNCTIONS = 'usageFunctions';
+ public const MODEL_USAGE_PROJECT = 'usageProject';
// Database
- const MODEL_COLLECTION = 'collection';
- const MODEL_COLLECTION_LIST = 'collectionList';
- const MODEL_INDEX = 'index';
- const MODEL_INDEX_LIST = 'indexList';
- const MODEL_DOCUMENT = 'document';
- const MODEL_DOCUMENT_LIST = 'documentList';
+ public const MODEL_COLLECTION = 'collection';
+ public const MODEL_COLLECTION_LIST = 'collectionList';
+ public const MODEL_INDEX = 'index';
+ public const MODEL_INDEX_LIST = 'indexList';
+ public const MODEL_DOCUMENT = 'document';
+ public const MODEL_DOCUMENT_LIST = 'documentList';
// Database Attributes
- const MODEL_ATTRIBUTE = 'attribute';
- const MODEL_ATTRIBUTE_LIST = 'attributeList';
- const MODEL_ATTRIBUTE_STRING = 'attributeString';
- const MODEL_ATTRIBUTE_INTEGER = 'attributeInteger';
- const MODEL_ATTRIBUTE_FLOAT = 'attributeFloat';
- const MODEL_ATTRIBUTE_BOOLEAN = 'attributeBoolean';
- const MODEL_ATTRIBUTE_EMAIL = 'attributeEmail';
- const MODEL_ATTRIBUTE_ENUM = 'attributeEnum';
- const MODEL_ATTRIBUTE_IP = 'attributeIp';
- const MODEL_ATTRIBUTE_URL = 'attributeUrl';
+ public const MODEL_ATTRIBUTE = 'attribute';
+ public const MODEL_ATTRIBUTE_LIST = 'attributeList';
+ public const MODEL_ATTRIBUTE_STRING = 'attributeString';
+ public const MODEL_ATTRIBUTE_INTEGER = 'attributeInteger';
+ public const MODEL_ATTRIBUTE_FLOAT = 'attributeFloat';
+ public const MODEL_ATTRIBUTE_BOOLEAN = 'attributeBoolean';
+ public const MODEL_ATTRIBUTE_EMAIL = 'attributeEmail';
+ public const MODEL_ATTRIBUTE_ENUM = 'attributeEnum';
+ public const MODEL_ATTRIBUTE_IP = 'attributeIp';
+ public const MODEL_ATTRIBUTE_URL = 'attributeUrl';
// Users
- const MODEL_USER = 'user';
- const MODEL_USER_LIST = 'userList';
- const MODEL_SESSION = 'session';
- const MODEL_SESSION_LIST = 'sessionList';
- const MODEL_TOKEN = 'token';
- const MODEL_JWT = 'jwt';
- const MODEL_PREFERENCES = 'preferences';
+ public const MODEL_USER = 'user';
+ public const MODEL_USER_LIST = 'userList';
+ public const MODEL_SESSION = 'session';
+ public const MODEL_SESSION_LIST = 'sessionList';
+ public const MODEL_TOKEN = 'token';
+ public const MODEL_JWT = 'jwt';
+ public const MODEL_PREFERENCES = 'preferences';
// Storage
- const MODEL_FILE = 'file';
- const MODEL_FILE_LIST = 'fileList';
- const MODEL_BUCKET = 'bucket';
- const MODEL_BUCKET_LIST = 'bucketList';
+ public const MODEL_FILE = 'file';
+ public const MODEL_FILE_LIST = 'fileList';
+ public const MODEL_BUCKET = 'bucket';
+ public const MODEL_BUCKET_LIST = 'bucketList';
// Locale
- const MODEL_LOCALE = 'locale';
- const MODEL_COUNTRY = 'country';
- const MODEL_COUNTRY_LIST = 'countryList';
- const MODEL_CONTINENT = 'continent';
- const MODEL_CONTINENT_LIST = 'continentList';
- const MODEL_CURRENCY = 'currency';
- const MODEL_CURRENCY_LIST = 'currencyList';
- const MODEL_LANGUAGE = 'language';
- const MODEL_LANGUAGE_LIST = 'languageList';
- const MODEL_PHONE = 'phone';
- const MODEL_PHONE_LIST = 'phoneList';
+ public const MODEL_LOCALE = 'locale';
+ public const MODEL_COUNTRY = 'country';
+ public const MODEL_COUNTRY_LIST = 'countryList';
+ public const MODEL_CONTINENT = 'continent';
+ public const MODEL_CONTINENT_LIST = 'continentList';
+ public const MODEL_CURRENCY = 'currency';
+ public const MODEL_CURRENCY_LIST = 'currencyList';
+ public const MODEL_LANGUAGE = 'language';
+ public const MODEL_LANGUAGE_LIST = 'languageList';
+ public const MODEL_PHONE = 'phone';
+ public const MODEL_PHONE_LIST = 'phoneList';
// Teams
- const MODEL_TEAM = 'team';
- const MODEL_TEAM_LIST = 'teamList';
- const MODEL_MEMBERSHIP = 'membership';
- const MODEL_MEMBERSHIP_LIST = 'membershipList';
+ public const MODEL_TEAM = 'team';
+ public const MODEL_TEAM_LIST = 'teamList';
+ public const MODEL_MEMBERSHIP = 'membership';
+ public const MODEL_MEMBERSHIP_LIST = 'membershipList';
// Functions
- const MODEL_FUNCTION = 'function';
- const MODEL_FUNCTION_LIST = 'functionList';
- const MODEL_RUNTIME = 'runtime';
- const MODEL_RUNTIME_LIST = 'runtimeList';
- const MODEL_DEPLOYMENT = 'deployment';
- const MODEL_DEPLOYMENT_LIST = 'deploymentList';
- const MODEL_EXECUTION = 'execution';
- const MODEL_EXECUTION_LIST = 'executionList';
- const MODEL_BUILD = 'build';
- const MODEL_BUILD_LIST = 'buildList'; // Not used anywhere yet
- const MODEL_FUNC_PERMISSIONS = 'funcPermissions';
+ public const MODEL_FUNCTION = 'function';
+ public const MODEL_FUNCTION_LIST = 'functionList';
+ public const MODEL_RUNTIME = 'runtime';
+ public const MODEL_RUNTIME_LIST = 'runtimeList';
+ public const MODEL_DEPLOYMENT = 'deployment';
+ public const MODEL_DEPLOYMENT_LIST = 'deploymentList';
+ public const MODEL_EXECUTION = 'execution';
+ public const MODEL_EXECUTION_LIST = 'executionList';
+ public const MODEL_BUILD = 'build';
+ public const MODEL_BUILD_LIST = 'buildList'; // Not used anywhere yet
+ public const MODEL_FUNC_PERMISSIONS = 'funcPermissions';
// Project
- const MODEL_PROJECT = 'project';
- const MODEL_PROJECT_LIST = 'projectList';
- const MODEL_WEBHOOK = 'webhook';
- const MODEL_WEBHOOK_LIST = 'webhookList';
- const MODEL_KEY = 'key';
- const MODEL_KEY_LIST = 'keyList';
- const MODEL_PLATFORM = 'platform';
- const MODEL_PLATFORM_LIST = 'platformList';
- const MODEL_DOMAIN = 'domain';
- const MODEL_DOMAIN_LIST = 'domainList';
+ public const MODEL_PROJECT = 'project';
+ public const MODEL_PROJECT_LIST = 'projectList';
+ public const MODEL_WEBHOOK = 'webhook';
+ public const MODEL_WEBHOOK_LIST = 'webhookList';
+ public const MODEL_KEY = 'key';
+ public const MODEL_KEY_LIST = 'keyList';
+ public const MODEL_PLATFORM = 'platform';
+ public const MODEL_PLATFORM_LIST = 'platformList';
+ public const MODEL_DOMAIN = 'domain';
+ public const MODEL_DOMAIN_LIST = 'domainList';
// Health
- const MODEL_HEALTH_STATUS = 'healthStatus';
- const MODEL_HEALTH_VERSION = 'healthVersion';
- const MODEL_HEALTH_QUEUE = 'healthQueue';
- const MODEL_HEALTH_TIME = 'healthTime';
- const MODEL_HEALTH_ANTIVIRUS = 'healthAntivirus';
+ public const MODEL_HEALTH_STATUS = 'healthStatus';
+ public const MODEL_HEALTH_VERSION = 'healthVersion';
+ public const MODEL_HEALTH_QUEUE = 'healthQueue';
+ public const MODEL_HEALTH_TIME = 'healthTime';
+ public const MODEL_HEALTH_ANTIVIRUS = 'healthAntivirus';
// Deprecated
- const MODEL_PERMISSIONS = 'permissions';
- const MODEL_RULE = 'rule';
- const MODEL_TASK = 'task';
+ public const MODEL_PERMISSIONS = 'permissions';
+ public const MODEL_RULE = 'rule';
+ public const MODEL_TASK = 'task';
// Tests (keep last)
- const MODEL_MOCK = 'mock';
+ public const MODEL_MOCK = 'mock';
/**
* @var Filter
@@ -302,7 +302,7 @@ class Response extends SwooleResponse
/**
* HTTP content types
*/
- const CONTENT_TYPE_YAML = 'application/x-yaml';
+ public const CONTENT_TYPE_YAML = 'application/x-yaml';
/**
* List of defined output objects
diff --git a/src/Appwrite/Utopia/Response/Model.php b/src/Appwrite/Utopia/Response/Model.php
index 6aefe1fc9b..6407c85118 100644
--- a/src/Appwrite/Utopia/Response/Model.php
+++ b/src/Appwrite/Utopia/Response/Model.php
@@ -6,11 +6,11 @@ use Utopia\Database\Document;
abstract class Model
{
- const TYPE_STRING = 'string';
- const TYPE_INTEGER = 'integer';
- const TYPE_FLOAT = 'double';
- const TYPE_BOOLEAN = 'boolean';
- const TYPE_JSON = 'json';
+ public const TYPE_STRING = 'string';
+ public const TYPE_INTEGER = 'integer';
+ public const TYPE_FLOAT = 'double';
+ public const TYPE_BOOLEAN = 'boolean';
+ public const TYPE_JSON = 'json';
/**
* @var bool
diff --git a/src/Executor/Executor.php b/src/Executor/Executor.php
index fa17ce2a8a..82b09ffe6b 100644
--- a/src/Executor/Executor.php
+++ b/src/Executor/Executor.php
@@ -8,15 +8,15 @@ use Utopia\CLI\Console;
class Executor
{
- const METHOD_GET = 'GET';
- const METHOD_POST = 'POST';
- const METHOD_PUT = 'PUT';
- const METHOD_PATCH = 'PATCH';
- const METHOD_DELETE = 'DELETE';
- const METHOD_HEAD = 'HEAD';
- const METHOD_OPTIONS = 'OPTIONS';
- const METHOD_CONNECT = 'CONNECT';
- const METHOD_TRACE = 'TRACE';
+ public const METHOD_GET = 'GET';
+ public const METHOD_POST = 'POST';
+ public const METHOD_PUT = 'PUT';
+ public const METHOD_PATCH = 'PATCH';
+ public const METHOD_DELETE = 'DELETE';
+ public const METHOD_HEAD = 'HEAD';
+ public const METHOD_OPTIONS = 'OPTIONS';
+ public const METHOD_CONNECT = 'CONNECT';
+ public const METHOD_TRACE = 'TRACE';
private $endpoint;
diff --git a/tests/e2e/Client.php b/tests/e2e/Client.php
index 63b6f30191..226556b789 100644
--- a/tests/e2e/Client.php
+++ b/tests/e2e/Client.php
@@ -6,15 +6,15 @@ use Exception;
class Client
{
- const METHOD_GET = 'GET';
- const METHOD_POST = 'POST';
- const METHOD_PUT = 'PUT';
- const METHOD_PATCH = 'PATCH';
- const METHOD_DELETE = 'DELETE';
- const METHOD_HEAD = 'HEAD';
- const METHOD_OPTIONS = 'OPTIONS';
- const METHOD_CONNECT = 'CONNECT';
- const METHOD_TRACE = 'TRACE';
+ public const METHOD_GET = 'GET';
+ public const METHOD_POST = 'POST';
+ public const METHOD_PUT = 'PUT';
+ public const METHOD_PATCH = 'PATCH';
+ public const METHOD_DELETE = 'DELETE';
+ public const METHOD_HEAD = 'HEAD';
+ public const METHOD_OPTIONS = 'OPTIONS';
+ public const METHOD_CONNECT = 'CONNECT';
+ public const METHOD_TRACE = 'TRACE';
/**
* Is Self Signed Certificates Allowed?
diff --git a/tests/e2e/Services/Account/AccountBase.php b/tests/e2e/Services/Account/AccountBase.php
index 301ffff8ac..7ffa9eb7c9 100644
--- a/tests/e2e/Services/Account/AccountBase.php
+++ b/tests/e2e/Services/Account/AccountBase.php
@@ -6,9 +6,9 @@ use Tests\E2E\Client;
trait AccountBase
{
- public function testCreateAccount():array
+ public function testCreateAccount(): array
{
- $email = uniqid().'user@localhost.test';
+ $email = uniqid() . 'user@localhost.test';
$password = 'password';
$name = 'User Name';
@@ -98,7 +98,7 @@ trait AccountBase
/**
* @depends testCreateAccount
*/
- public function testCreateAccountSession($data):array
+ public function testCreateAccountSession($data): array
{
$email = $data['email'] ?? '';
$password = $data['password'] ?? '';
@@ -118,7 +118,7 @@ trait AccountBase
$this->assertEquals($response['headers']['status-code'], 201);
$sessionId = $response['body']['$id'];
- $session = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_'.$this->getProject()['$id']];
+ $session = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_' . $this->getProject()['$id']];
/**
* Test for FAILURE
@@ -128,7 +128,7 @@ trait AccountBase
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
]), [
- 'email' => $email.'x',
+ 'email' => $email . 'x',
'password' => $password,
]);
@@ -140,7 +140,7 @@ trait AccountBase
'x-appwrite-project' => $this->getProject()['$id'],
]), [
'email' => $email,
- 'password' => $password.'x',
+ 'password' => $password . 'x',
]);
$this->assertEquals($response['headers']['status-code'], 401);
@@ -165,7 +165,7 @@ trait AccountBase
/**
* @depends testCreateAccountSession
*/
- public function testGetAccount($data):array
+ public function testGetAccount($data): array
{
$email = $data['email'] ?? '';
$name = $data['name'] ?? '';
@@ -178,7 +178,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]));
$this->assertEquals($response['headers']['status-code'], 200);
@@ -200,7 +200,7 @@ trait AccountBase
$response = $this->client->call(Client::METHOD_GET, '/account', [
'content-type' => 'application/json',
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session.'xx',
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session . 'xx',
'x-appwrite-project' => $this->getProject()['$id'],
]);
@@ -212,7 +212,7 @@ trait AccountBase
/**
* @depends testCreateAccountSession
*/
- public function testGetAccountPrefs($data):array
+ public function testGetAccountPrefs($data): array
{
$session = $data['session'] ?? '';
@@ -223,7 +223,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]));
$this->assertEquals($response['headers']['status-code'], 200);
@@ -248,7 +248,7 @@ trait AccountBase
/**
* @depends testCreateAccountSession
*/
- public function testGetAccountSessions($data):array
+ public function testGetAccountSessions($data): array
{
$session = $data['session'] ?? '';
$sessionId = $data['sessionId'] ?? '';
@@ -260,7 +260,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]));
$this->assertEquals($response['headers']['status-code'], 200);
@@ -269,7 +269,7 @@ trait AccountBase
$this->assertCount(2, $response['body']);
$this->assertEquals(1, $response['body']['total']);
$this->assertEquals($sessionId, $response['body']['sessions'][0]['$id']);
-
+
$this->assertEquals('Windows', $response['body']['sessions'][0]['osName']);
$this->assertEquals('WIN', $response['body']['sessions'][0]['osCode']);
$this->assertEquals('10', $response['body']['sessions'][0]['osVersion']);
@@ -306,7 +306,7 @@ trait AccountBase
/**
* @depends testCreateAccountSession
*/
- public function testGetAccountLogs($data):array
+ public function testGetAccountLogs($data): array
{
sleep(10);
$session = $data['session'] ?? '';
@@ -319,7 +319,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]));
$this->assertEquals($response['headers']['status-code'], 200);
@@ -375,7 +375,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'limit' => 1
]);
@@ -392,7 +392,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'offset' => 1
]);
@@ -409,7 +409,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'limit' => 1,
'offset' => 1
@@ -441,7 +441,7 @@ trait AccountBase
/**
* @depends testCreateAccountSession
*/
- public function testUpdateAccountName($data):array
+ public function testUpdateAccountName($data): array
{
$email = $data['email'] ?? '';
$session = $data['session'] ?? '';
@@ -454,7 +454,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'name' => $newName
]);
@@ -482,7 +482,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
]);
@@ -492,7 +492,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'name' => 'ocSRq1d3QphHivJyUmYY7WMnrxyjdk5YvVwcDqx2zS0coxESN8RmsQwLWw5Whnf0WbVohuFWTRAaoKgCOO0Y0M7LwgFnZmi8881Y72222222222222222222222222222'
]);
@@ -507,7 +507,7 @@ trait AccountBase
/**
* @depends testUpdateAccountName
*/
- public function testUpdateAccountPassword($data):array
+ public function testUpdateAccountPassword($data): array
{
$email = $data['email'] ?? '';
$password = $data['password'] ?? '';
@@ -520,7 +520,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'password' => 'new-password',
'oldPassword' => $password,
@@ -554,15 +554,14 @@ trait AccountBase
]));
$this->assertEquals($response['headers']['status-code'], 401);
-
$response = $this->client->call(Client::METHOD_PATCH, '/account/password', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
]);
-
+
$this->assertEquals($response['headers']['status-code'], 400);
/**
@@ -572,7 +571,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'password' => 'new-password',
'oldPassword' => $password,
@@ -580,13 +579,13 @@ trait AccountBase
$this->assertEquals($response['headers']['status-code'], 401);
/**
- * Existing user tries to update password without passing old password -> SHOULD FAIL
+ * Existing user tries to update password without passing old password -> SHOULD FAIL
*/
$response = $this->client->call(Client::METHOD_PATCH, '/account/password', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'password' => 'new-password'
]);
@@ -600,9 +599,9 @@ trait AccountBase
/**
* @depends testUpdateAccountPassword
*/
- public function testUpdateAccountEmail($data):array
+ public function testUpdateAccountEmail($data): array
{
- $newEmail = uniqid().'new@localhost.test';
+ $newEmail = uniqid() . 'new@localhost.test';
$session = $data['session'] ?? '';
/**
@@ -612,7 +611,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'email' => $newEmail,
'password' => 'new-password',
@@ -640,7 +639,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
]);
@@ -667,8 +666,8 @@ trait AccountBase
$this->assertNotEmpty($response['body']['$id']);
$this->assertIsNumeric($response['body']['registration']);
$this->assertEquals($response['body']['email'], $data['email']);
- $this->assertEquals($response['body']['name'], $data['name'],);
-
+ $this->assertEquals($response['body']['name'], $data['name']);
+
$data['email'] = $newEmail;
@@ -678,9 +677,9 @@ trait AccountBase
/**
* @depends testUpdateAccountEmail
*/
- public function testUpdateAccountPrefs($data):array
+ public function testUpdateAccountPrefs($data): array
{
- $newEmail = uniqid().'new@localhost.test';
+ $newEmail = uniqid() . 'new@localhost.test';
$session = $data['session'] ?? '';
/**
@@ -690,7 +689,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'prefs' => [
'prefKey1' => 'prefValue1',
@@ -714,35 +713,35 @@ trait AccountBase
]));
$this->assertEquals($response['headers']['status-code'], 401);
-
+
$response = $this->client->call(Client::METHOD_PATCH, '/account/prefs', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'prefs' => '{}'
]);
$this->assertEquals($response['headers']['status-code'], 400);
-
-
+
+
$response = $this->client->call(Client::METHOD_PATCH, '/account/prefs', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'prefs' => '[]'
]);
$this->assertEquals($response['headers']['status-code'], 400);
-
+
$response = $this->client->call(Client::METHOD_PATCH, '/account/prefs', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'prefs' => '{"test": "value"}'
]);
@@ -758,7 +757,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'prefs' => $prefsObject
]);
@@ -772,7 +771,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'prefs' => $prefsObject
]);
@@ -785,7 +784,7 @@ trait AccountBase
/**
* @depends testUpdateAccountPrefs
*/
- public function testCreateAccountVerification($data):array
+ public function testCreateAccountVerification($data): array
{
$email = $data['email'] ?? '';
$name = $data['name'] ?? '';
@@ -798,8 +797,8 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
-
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
+
]), [
'url' => 'http://localhost/verification',
]);
@@ -817,15 +816,15 @@ trait AccountBase
$verification = substr($lastEmail['text'], strpos($lastEmail['text'], '&secret=', 0) + 8, 256);
- $expireTime = strpos($lastEmail['text'], 'expire='.$response['body']['expire'], 0);
+ $expireTime = strpos($lastEmail['text'], 'expire=' . $response['body']['expire'], 0);
$this->assertNotFalse($expireTime);
-
- $secretTest = strpos($lastEmail['text'], 'secret='.$response['body']['secret'], 0);
+
+ $secretTest = strpos($lastEmail['text'], 'secret=' . $response['body']['secret'], 0);
$this->assertNotFalse($secretTest);
- $userIDTest = strpos($lastEmail['text'], 'userId='.$response['body']['userId'], 0);
+ $userIDTest = strpos($lastEmail['text'], 'userId=' . $response['body']['userId'], 0);
$this->assertNotFalse($userIDTest);
@@ -836,7 +835,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'url' => 'localhost/verification',
]);
@@ -847,7 +846,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'url' => 'http://remotehost/verification',
]);
@@ -862,12 +861,12 @@ trait AccountBase
/**
* @depends testCreateAccountVerification
*/
- public function testUpdateAccountVerification($data):array
+ public function testUpdateAccountVerification($data): array
{
$id = $data['id'] ?? '';
$session = $data['session'] ?? '';
$verification = $data['verification'] ?? '';
-
+
/**
* Test for SUCCESS
*/
@@ -875,14 +874,14 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'userId' => $id,
'secret' => $verification,
]);
$this->assertEquals(200, $response['headers']['status-code']);
-
+
/**
* Test for FAILURE
*/
@@ -890,7 +889,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'userId' => 'ewewe',
'secret' => $verification,
@@ -902,7 +901,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'userId' => $id,
'secret' => 'sdasdasdasd',
@@ -916,7 +915,7 @@ trait AccountBase
/**
* @depends testUpdateAccountVerification
*/
- public function testDeleteAccountSession($data):array
+ public function testDeleteAccountSession($data): array
{
$email = $data['email'] ?? '';
$password = $data['password'] ?? '';
@@ -935,7 +934,7 @@ trait AccountBase
]);
$sessionNewId = $response['body']['$id'];
- $sessionNew = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_'.$this->getProject()['$id']];
+ $sessionNew = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_' . $this->getProject()['$id']];
$this->assertEquals($response['headers']['status-code'], 201);
@@ -943,16 +942,16 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $sessionNew,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $sessionNew,
]);
$this->assertEquals($response['headers']['status-code'], 200);
- $response = $this->client->call(Client::METHOD_DELETE, '/account/sessions/'.$sessionNewId, array_merge([
+ $response = $this->client->call(Client::METHOD_DELETE, '/account/sessions/' . $sessionNewId, array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $sessionNew,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $sessionNew,
]));
$this->assertEquals($response['headers']['status-code'], 204);
@@ -961,7 +960,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]));
$this->assertEquals($response['headers']['status-code'], 200);
@@ -973,7 +972,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $sessionNew,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $sessionNew,
]);
$this->assertEquals($response['headers']['status-code'], 401);
@@ -984,7 +983,7 @@ trait AccountBase
/**
* @depends testUpdateAccountVerification
*/
- public function testDeleteAccountSessionCurrent($data):array
+ public function testDeleteAccountSessionCurrent($data): array
{
$email = $data['email'] ?? '';
$password = $data['password'] ?? '';
@@ -1001,14 +1000,14 @@ trait AccountBase
'password' => $password,
]);
- $sessionNew = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_'.$this->getProject()['$id']];
+ $sessionNew = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_' . $this->getProject()['$id']];
$this->assertEquals($response['headers']['status-code'], 201);
$response = $this->client->call(Client::METHOD_GET, '/account', [
'origin' => 'http://localhost',
'content-type' => 'application/json',
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $sessionNew,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $sessionNew,
'x-appwrite-project' => $this->getProject()['$id'],
]);
@@ -1017,7 +1016,7 @@ trait AccountBase
$response = $this->client->call(Client::METHOD_DELETE, '/account/sessions/current', [
'origin' => 'http://localhost',
'content-type' => 'application/json',
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $sessionNew,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $sessionNew,
'x-appwrite-project' => $this->getProject()['$id'],
]);
@@ -1029,7 +1028,7 @@ trait AccountBase
$response = $this->client->call(Client::METHOD_GET, '/account', [
'origin' => 'http://localhost',
'content-type' => 'application/json',
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $sessionNew,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $sessionNew,
'x-appwrite-project' => $this->getProject()['$id'],
]);
@@ -1041,7 +1040,7 @@ trait AccountBase
/**
* @depends testUpdateAccountVerification
*/
- public function testDeleteAccountSessions($data):array
+ public function testDeleteAccountSessions($data): array
{
$session = $data['session'] ?? '';
@@ -1052,7 +1051,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]));
$this->assertEquals($response['headers']['status-code'], 204);
@@ -1083,7 +1082,7 @@ trait AccountBase
'password' => $password,
]);
- $data['session'] = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_'.$this->getProject()['$id']];
+ $data['session'] = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_' . $this->getProject()['$id']];
return $data;
}
@@ -1091,7 +1090,7 @@ trait AccountBase
/**
* @depends testDeleteAccountSession
*/
- public function testCreateAccountRecovery($data):array
+ public function testCreateAccountRecovery($data): array
{
$email = $data['email'] ?? '';
$name = $data['name'] ?? '';
@@ -1121,15 +1120,15 @@ trait AccountBase
$recovery = substr($lastEmail['text'], strpos($lastEmail['text'], '&secret=', 0) + 8, 256);
- $expireTime = strpos($lastEmail['text'], 'expire='.$response['body']['expire'], 0);
+ $expireTime = strpos($lastEmail['text'], 'expire=' . $response['body']['expire'], 0);
$this->assertNotFalse($expireTime);
-
- $secretTest = strpos($lastEmail['text'], 'secret='.$response['body']['secret'], 0);
+
+ $secretTest = strpos($lastEmail['text'], 'secret=' . $response['body']['secret'], 0);
$this->assertNotFalse($secretTest);
- $userIDTest = strpos($lastEmail['text'], 'userId='.$response['body']['userId'], 0);
+ $userIDTest = strpos($lastEmail['text'], 'userId=' . $response['body']['userId'], 0);
$this->assertNotFalse($userIDTest);
@@ -1177,12 +1176,12 @@ trait AccountBase
/**
* @depends testCreateAccountRecovery
*/
- public function testUpdateAccountRecovery($data):array
+ public function testUpdateAccountRecovery($data): array
{
$id = $data['id'] ?? '';
$recovery = $data['recovery'] ?? '';
$newPassowrd = 'test-recovery';
-
+
/**
* Test for SUCCESS
*/
@@ -1198,7 +1197,7 @@ trait AccountBase
]);
$this->assertEquals(200, $response['headers']['status-code']);
-
+
/**
* Test for FAILURE
*/
@@ -1235,18 +1234,18 @@ trait AccountBase
]), [
'userId' => $id,
'secret' => $recovery,
- 'password' => $newPassowrd.'x',
+ 'password' => $newPassowrd . 'x',
'passwordAgain' => $newPassowrd,
]);
$this->assertEquals(400, $response['headers']['status-code']);
-
+
return $data;
}
- public function testCreateMagicUrl():array
+ public function testCreateMagicUrl(): array
{
- $email = \time().'user@appwrite.io';
+ $email = \time() . 'user@appwrite.io';
/**
* Test for SUCCESS
@@ -1274,15 +1273,15 @@ trait AccountBase
$token = substr($lastEmail['text'], strpos($lastEmail['text'], '&secret=', 0) + 8, 256);
- $expireTime = strpos($lastEmail['text'], 'expire='.$response['body']['expire'], 0);
+ $expireTime = strpos($lastEmail['text'], 'expire=' . $response['body']['expire'], 0);
$this->assertNotFalse($expireTime);
- $secretTest = strpos($lastEmail['text'], 'secret='.$response['body']['secret'], 0);
+ $secretTest = strpos($lastEmail['text'], 'secret=' . $response['body']['secret'], 0);
$this->assertNotFalse($secretTest);
- $userIDTest = strpos($lastEmail['text'], 'userId='.$response['body']['userId'], 0);
+ $userIDTest = strpos($lastEmail['text'], 'userId=' . $response['body']['userId'], 0);
$this->assertNotFalse($userIDTest);
@@ -1333,7 +1332,7 @@ trait AccountBase
/**
* @depends testCreateMagicUrl
*/
- public function testCreateSessionWithMagicUrl($data):array
+ public function testCreateSessionWithMagicUrl($data): array
{
$id = $data['id'] ?? '';
$token = $data['token'] ?? '';
@@ -1358,13 +1357,13 @@ trait AccountBase
$this->assertNotEmpty($response['body']['userId']);
$sessionId = $response['body']['$id'];
- $session = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_'.$this->getProject()['$id']];
+ $session = $this->client->parseCookie((string)$response['headers']['set-cookie'])['a_session_' . $this->getProject()['$id']];
$response = $this->client->call(Client::METHOD_GET, '/account', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]));
$this->assertEquals($response['headers']['status-code'], 200);
@@ -1409,7 +1408,7 @@ trait AccountBase
/**
* @depends testCreateSessionWithMagicUrl
*/
- public function testUpdateAccountPasswordWithMagicUrl($data):array
+ public function testUpdateAccountPasswordWithMagicUrl($data): array
{
$email = $data['email'] ?? '';
$session = $data['session'] ?? '';
@@ -1421,7 +1420,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'password' => 'new-password'
]);
@@ -1454,15 +1453,15 @@ trait AccountBase
]));
$this->assertEquals($response['headers']['status-code'], 401);
-
+
$response = $this->client->call(Client::METHOD_PATCH, '/account/password', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
]);
-
+
$this->assertEquals($response['headers']['status-code'], 400);
/**
@@ -1472,7 +1471,7 @@ trait AccountBase
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'password' => 'new-password',
'oldPassword' => 'wrong-password',
@@ -1480,13 +1479,13 @@ trait AccountBase
$this->assertEquals($response['headers']['status-code'], 401);
/**
- * Existing user tries to update password without passing old password -> SHOULD FAIL
+ * Existing user tries to update password without passing old password -> SHOULD FAIL
*/
$response = $this->client->call(Client::METHOD_PATCH, '/account/password', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
- 'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
+ 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session,
]), [
'password' => 'new-password'
]);
@@ -1496,5 +1495,4 @@ trait AccountBase
return $data;
}
-
-}
\ No newline at end of file
+}
diff --git a/tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php b/tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php
index 6290c6e763..211dff937f 100644
--- a/tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php
+++ b/tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php
@@ -45,7 +45,7 @@ class WebhooksCustomClientTest extends Scope
$this->assertEquals($webhook['headers']['User-Agent'], 'Appwrite-Server vdev. Please report abuse at security@appwrite.io');
$this->assertStringContainsString('users.*', $webhook['headers']['X-Appwrite-Webhook-Events']);
$this->assertStringContainsString('users.*.create', $webhook['headers']['X-Appwrite-Webhook-Events']);
- $this->assertStringContainsString("users.{$id}", $webhook['headers']['X-Appwrite-Webhook-Events'],);
+ $this->assertStringContainsString("users.{$id}", $webhook['headers']['X-Appwrite-Webhook-Events']);
$this->assertStringContainsString("users.{$id}.create", $webhook['headers']['X-Appwrite-Webhook-Events']);
$this->assertEquals($webhook['headers']['X-Appwrite-Webhook-Signature'], 'not-yet-implemented');
$this->assertEquals($webhook['headers']['X-Appwrite-Webhook-Id'] ?? '', $this->getProject()['webhookId']);
diff --git a/tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php b/tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php
index 7c815595fe..aa9d0fbd2d 100644
--- a/tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php
+++ b/tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php
@@ -173,7 +173,7 @@ class WebhooksCustomServerTest extends Scope
$this->assertEquals($webhook['headers']['User-Agent'], 'Appwrite-Server vdev. Please report abuse at security@appwrite.io');
$this->assertStringContainsString('collections.*', $webhook['headers']['X-Appwrite-Webhook-Events']);
$this->assertStringContainsString('collections.*.delete', $webhook['headers']['X-Appwrite-Webhook-Events']);
- $this->assertStringContainsString("collections.{$id}", $webhook['headers']['X-Appwrite-Webhook-Events'],);
+ $this->assertStringContainsString("collections.{$id}", $webhook['headers']['X-Appwrite-Webhook-Events']);
$this->assertStringContainsString("collections.{$id}.delete", $webhook['headers']['X-Appwrite-Webhook-Events']);
$this->assertEquals($webhook['headers']['X-Appwrite-Webhook-Signature'], 'not-yet-implemented');
$this->assertEquals($webhook['headers']['X-Appwrite-Webhook-Id'] ?? '', $this->getProject()['webhookId']);
@@ -220,7 +220,7 @@ class WebhooksCustomServerTest extends Scope
$this->assertEquals($webhook['headers']['User-Agent'], 'Appwrite-Server vdev. Please report abuse at security@appwrite.io');
$this->assertStringContainsString('users.*', $webhook['headers']['X-Appwrite-Webhook-Events']);
$this->assertStringContainsString('users.*.create', $webhook['headers']['X-Appwrite-Webhook-Events']);
- $this->assertStringContainsString("users.{$id}", $webhook['headers']['X-Appwrite-Webhook-Events'],);
+ $this->assertStringContainsString("users.{$id}", $webhook['headers']['X-Appwrite-Webhook-Events']);
$this->assertStringContainsString("users.{$id}.create", $webhook['headers']['X-Appwrite-Webhook-Events']);
$this->assertEquals($webhook['headers']['X-Appwrite-Webhook-Signature'], 'not-yet-implemented');
$this->assertEquals($webhook['headers']['X-Appwrite-Webhook-Id'] ?? '', $this->getProject()['webhookId']);
@@ -402,7 +402,7 @@ class WebhooksCustomServerTest extends Scope
$this->assertEquals($webhook['headers']['X-Appwrite-Webhook-Project-Id'] ?? '', $this->getProject()['$id']);
/**
- * Test for FAILURE
+ * Test for FAILURE
*/
return [
@@ -542,7 +542,7 @@ class WebhooksCustomServerTest extends Scope
$this->assertEquals($webhook['headers']['X-Appwrite-Webhook-Project-Id'] ?? '', $this->getProject()['$id']);
/**
- * Test for FAILURE
+ * Test for FAILURE
*/
return $data;
@@ -610,14 +610,14 @@ class WebhooksCustomServerTest extends Scope
$this->assertEquals($webhook['headers']['X-Appwrite-Webhook-Project-Id'] ?? '', $this->getProject()['$id']);
/**
- * Test for FAILURE
+ * Test for FAILURE
*/
return $data;
}
/**
- * @depends testExecutions
+ * @depends testExecutions
*/
public function testDeleteDeployment($data): array
{