From 6bc186512e22c14cff41959df5cc8cda46eb6354 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Mon, 30 May 2022 14:01:39 +0200 Subject: [PATCH 01/12] fix: increase subquery limit --- app/init.php | 79 ++++++++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 37 deletions(-) diff --git a/app/init.php b/app/init.php index 7e501b84a6..7f2ecc2ac2 100644 --- a/app/init.php +++ b/app/init.php @@ -77,6 +77,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'; @@ -189,44 +190,48 @@ if(!empty($user) || !empty($pass)) { * New DB Filters */ 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 @@ -234,15 +239,16 @@ Database::addFilter('range', ->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()]) @@ -251,10 +257,10 @@ Database::addFilter('subQueryAttributes', ); 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()]) @@ -263,95 +269,94 @@ Database::addFilter('subQueryIndexes', ); 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, 0, []); } ); 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, 0, []); } ); 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, 0, []); } ); 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, 0, []); } ); 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, 0, [])); } ); 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, 0, [])); } ); - + 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, 0, [])); } ); 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, @@ -360,7 +365,7 @@ Database::addFilter('encrypt', 'version' => '1', ]); }, - function($value) { + function(mixed $value) { if(is_null($value)) { return null; } From 2255c789dff40d58286f1647434e6f445d7a4208 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 1 Jun 2022 19:13:15 +0200 Subject: [PATCH 02/12] fix: subquery return for sessions --- app/init.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/init.php b/app/init.php index 7e03ed1922..0e1848b2c3 100644 --- a/app/init.php +++ b/app/init.php @@ -257,7 +257,7 @@ Database::addFilter( return $database ->find('attributes', [ new Query('collectionId', Query::TYPE_EQUAL, [$document->getId()]) - ], $database->getAttributeLimit(), 0, []); + ], $database->getAttributeLimit()); } ); @@ -270,7 +270,7 @@ Database::addFilter( return $database ->find('indexes', [ new Query('collectionId', Query::TYPE_EQUAL, [$document->getId()]) - ], 64, 0, []); + ], 64); } ); @@ -283,7 +283,7 @@ Database::addFilter( return $database ->find('platforms', [ new Query('projectId', Query::TYPE_EQUAL, [$document->getId()]) - ], APP_LIMIT_SUBQUERY, 0, []); + ], APP_LIMIT_SUBQUERY); } ); @@ -296,7 +296,7 @@ Database::addFilter( return $database ->find('domains', [ new Query('projectId', Query::TYPE_EQUAL, [$document->getId()]) - ], APP_LIMIT_SUBQUERY, 0, []); + ], APP_LIMIT_SUBQUERY); } ); @@ -309,7 +309,7 @@ Database::addFilter( return $database ->find('keys', [ new Query('projectId', Query::TYPE_EQUAL, [$document->getId()]) - ], APP_LIMIT_SUBQUERY, 0, []); + ], APP_LIMIT_SUBQUERY); } ); @@ -322,7 +322,7 @@ Database::addFilter( return $database ->find('webhooks', [ new Query('projectId', Query::TYPE_EQUAL, [$document->getId()]) - ], APP_LIMIT_SUBQUERY, 0, []); + ], APP_LIMIT_SUBQUERY); } ); @@ -332,9 +332,9 @@ Database::addFilter( return null; }, function (mixed $value, Document $document, Database $database) { - $sessions = Authorization::skip(fn () => $database->find('sessions', [ + return Authorization::skip(fn () => $database->find('sessions', [ new Query('userId', Query::TYPE_EQUAL, [$document->getId()]) - ], APP_LIMIT_SUBQUERY, 0, [])); + ], APP_LIMIT_SUBQUERY)); } ); @@ -347,7 +347,7 @@ Database::addFilter( return Authorization::skip(fn() => $database ->find('tokens', [ new Query('userId', Query::TYPE_EQUAL, [$document->getId()]) - ], APP_LIMIT_SUBQUERY, 0, [])); + ], APP_LIMIT_SUBQUERY)); } ); @@ -360,7 +360,7 @@ Database::addFilter( return Authorization::skip(fn() => $database ->find('memberships', [ new Query('userId', Query::TYPE_EQUAL, [$document->getId()]) - ], APP_LIMIT_SUBQUERY, 0, [])); + ], APP_LIMIT_SUBQUERY)); } ); From 69607b4ade677f40c843428e0cb977369ca98bcf Mon Sep 17 00:00:00 2001 From: Everly Precia Suresh Date: Thu, 2 Jun 2022 12:14:58 +0000 Subject: [PATCH 03/12] fix linitng issues in WebhooksCustomServerTest.php --- .../Services/Webhooks/WebhooksCustomServerTest.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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 { From 5a5c11ac16cb33d46531fadea24f4f0617a84628 Mon Sep 17 00:00:00 2001 From: Everly Precia Suresh Date: Thu, 2 Jun 2022 12:19:02 +0000 Subject: [PATCH 04/12] fix linting issues --- tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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']); From e95be7d92219973f522955085cf5883e13bb2e25 Mon Sep 17 00:00:00 2001 From: Everly Precia Suresh Date: Thu, 2 Jun 2022 12:47:07 +0000 Subject: [PATCH 05/12] fix linting issues AccountBase.php --- tests/e2e/Services/Account/AccountBase.php | 212 ++++++++++----------- 1 file changed, 105 insertions(+), 107 deletions(-) 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 +} From 8d0581e401cf6a756a2f58b1c5c1c73ac7e2b260 Mon Sep 17 00:00:00 2001 From: Everly Precia Suresh Date: Thu, 2 Jun 2022 12:49:01 +0000 Subject: [PATCH 06/12] fix linting issues in client.php --- tests/e2e/Client.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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? From d41aff1861523fbc61cbbc08ffe25a3d908cbcfc Mon Sep 17 00:00:00 2001 From: Everly Precia Suresh Date: Thu, 2 Jun 2022 13:03:37 +0000 Subject: [PATCH 07/12] fix linting issues --- src/Appwrite/Auth/Auth.php | 40 ++--- src/Appwrite/Auth/OAuth2/Tradeshift.php | 4 +- src/Appwrite/Auth/OAuth2/Twitter.php | 0 src/Appwrite/Event/Event.php | 32 ++-- src/Appwrite/Extend/Exception.php | 186 ++++++++++++------------ src/Appwrite/Resque/Worker.php | 4 +- src/Appwrite/Utopia/Response.php | 178 +++++++++++------------ src/Appwrite/Utopia/Response/Model.php | 10 +- src/Executor/Executor.php | 18 +-- 9 files changed, 236 insertions(+), 236 deletions(-) delete mode 100644 src/Appwrite/Auth/OAuth2/Twitter.php 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..af98b0a433 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 = ''; diff --git a/src/Appwrite/Extend/Exception.php b/src/Appwrite/Extend/Exception.php index a74ec609db..62695742f0 100644 --- a/src/Appwrite/Extend/Exception.php +++ b/src/Appwrite/Extend/Exception.php @@ -32,135 +32,135 @@ 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'; + 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'; /** 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/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; From 3b14ccb7d480ccf484d1328a1f673fe201fe0203 Mon Sep 17 00:00:00 2001 From: Everly Precia Suresh Date: Thu, 2 Jun 2022 13:09:04 +0000 Subject: [PATCH 08/12] fix linting issues --- app/workers/audits.php | 2 ++ composer.lock | 42 ++++++++++++++++++------------------ src/Appwrite/Event/Event.php | 2 +- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/app/workers/audits.php b/app/workers/audits.php index 696eb6df50..bb36876aa2 100644 --- a/app/workers/audits.php +++ b/app/workers/audits.php @@ -1,5 +1,7 @@ !\is_array($param)); $paramKeys = \array_keys($params); From 02838cc1b2d8e89d55bb5a67bf083cc40ef5fdae Mon Sep 17 00:00:00 2001 From: Everly Precia Suresh Date: Thu, 2 Jun 2022 13:36:51 +0000 Subject: [PATCH 09/12] Remove namespace --- app/workers/audits.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/workers/audits.php b/app/workers/audits.php index bb36876aa2..696eb6df50 100644 --- a/app/workers/audits.php +++ b/app/workers/audits.php @@ -1,7 +1,5 @@ Date: Thu, 2 Jun 2022 14:10:55 +0000 Subject: [PATCH 10/12] add rule to exclude namespace --- phpcs.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/phpcs.xml b/phpcs.xml index 550678584f..e9131c8f43 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -15,4 +15,8 @@ * + + + ./app/workers + \ No newline at end of file From 5a8bbf6457842eccea52c5ed37a126bf223b279b Mon Sep 17 00:00:00 2001 From: Everly Precia Suresh Date: Thu, 2 Jun 2022 14:20:15 +0000 Subject: [PATCH 11/12] add rule to exclude namespace --- phpcs.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpcs.xml b/phpcs.xml index e9131c8f43..cb31d549e0 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -15,8 +15,8 @@ * - + - ./app/workers + ./app \ No newline at end of file From 616e813229f6cdbd6c24c41a89124e1cdfa6d1c1 Mon Sep 17 00:00:00 2001 From: Everly Precia Suresh Date: Thu, 2 Jun 2022 22:18:42 +0000 Subject: [PATCH 12/12] add comment when fall-through is intentional in a non-empty case body --- .github/workflows/linter.yml | 2 +- src/Appwrite/Migration/Version/V13.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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/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) {