diff --git a/app/controllers/api/databases.php b/app/controllers/api/databases.php index 3f420396e7..405af7253e 100644 --- a/app/controllers/api/databases.php +++ b/app/controllers/api/databases.php @@ -6,7 +6,7 @@ use Appwrite\Extend\Exception; use Utopia\Audit\Audit; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; use Utopia\Database\Helpers\ID; use Utopia\Validator\Boolean; use Utopia\Validator\FloatValidator; @@ -1329,6 +1329,69 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/attributes/dateti ->dynamic($attribute, Response::MODEL_ATTRIBUTE_DATETIME); }); +App::post('/v1/databases/:databaseId/collections/:collectionId/attributes/relation') + ->alias('/v1/database/collections/:collectionId/attributes/relation', ['databaseId' => 'default']) + ->desc('Create relation Attribute') + ->groups(['api', 'database']) + ->label('event', 'databases.[databaseId].collections.[collectionId].attributes.[attributeId].create') + ->label('scope', 'collections.write') + ->label('audits.event', 'attribute.create') + ->label('audits.resource', 'database/{request.databaseId}/collection/{request.collectionId}') + ->label('usage.metric', 'collections.{scope}.requests.update') + ->label('usage.params', ['databaseId:{request.databaseId}']) + ->label('sdk.namespace', 'databases') + ->label('sdk.auth', [APP_AUTH_TYPE_KEY]) + ->label('sdk.method', 'createRelationAttribute') + ->label('sdk.description', '/docs/references/databases/create-relation-attribute.md') + ->label('sdk.response.code', Response::STATUS_CODE_ACCEPTED) + ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) + ->label('sdk.response.model', Response::MODEL_ATTRIBUTE_RELATION) + ->param('databaseId', '', new UID(), 'Database ID.') + ->param('collectionId', '', new UID(), 'Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).') + ->param('relatedCollectionId', '', new UID(), 'Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).') + ->param('type', '', new WhiteList([Database::RELATION_ONE_TO_ONE, Database::RELATION_MANY_TO_ONE, Database::RELATION_MANY_TO_MANY, Database::RELATION_ONE_TO_MANY]), 'Relation type') + ->param('twoWay', false, new Boolean(), 'Is Two Way?', true) + ->param('twoWayKey', '', new Text(40), 'Two Way Key', true) + ->param('type', '', new WhiteList([Database::RELATION_ONE_TO_ONE, Database::RELATION_MANY_TO_ONE, Database::RELATION_MANY_TO_MANY, Database::RELATION_ONE_TO_MANY]), 'Relation type') + ->param('onUpdate', 'restrict', new WhiteList([Database::RELATION_MUTATE_CASCADE, Database::RELATION_MUTATE_RESTRICT, Database::RELATION_MUTATE_SET_NULL]), 'Constraints option', true) + ->param('onDelete', 'restrict', new WhiteList([Database::RELATION_MUTATE_CASCADE, Database::RELATION_MUTATE_RESTRICT, Database::RELATION_MUTATE_SET_NULL]), 'Constraints option', true) + ->param('key', '', new Key(), 'Attribute Key.') + ->inject('response') + ->inject('dbForProject') + ->inject('database') + ->inject('events') + ->action(function ( + string $databaseId, + string $collectionId, + string $relatedCollectionId, + string $type, + bool $twoWay, + string $twoWayKey, + string $onUpdate, + string $onDelete, + string $key, + Response $response, + Database $dbForProject, + EventDatabase $database, + Event $events +) { + + $dbForProject->createRelationship(); + + $attribute = createAttribute($databaseId, $collectionId, new Document([ + 'key' => $key, + 'type' => Database::VAR_DATETIME, + 'size' => 0, + 'required' => false, + 'default' => null, + 'array' => false, + 'filters' => [] + ]), $response, $dbForProject, $database, $events); + + $response + ->setStatusCode(Response::STATUS_CODE_ACCEPTED) + ->dynamic($attribute, Response::MODEL_ATTRIBUTE_DATETIME); + }); App::get('/v1/databases/:databaseId/collections/:collectionId/attributes') ->alias('/v1/database/collections/:collectionId/attributes', ['databaseId' => 'default']) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index b4be20a90d..2c648aeb97 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -23,7 +23,7 @@ use Utopia\Database\Helpers\Permission; use Utopia\Database\Query; use Utopia\Database\Helpers\Role; use Utopia\Database\Validator\Authorization; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; use Utopia\Database\Validator\UID; use Utopia\Domains\Domain; use Utopia\Registry\Registry; diff --git a/app/init.php b/app/init.php index 1e6e7de94a..e486d97073 100644 --- a/app/init.php +++ b/app/init.php @@ -53,7 +53,7 @@ use Utopia\Database\Database; use Utopia\Database\Document; use Utopia\Database\Query; use Utopia\Database\Validator\Authorization; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; use Utopia\Database\Validator\Structure; use Utopia\Locale\Locale; use Utopia\Messaging\Adapters\SMS\Mock; diff --git a/composer.json b/composer.json index 4fae985fdd..d4a1ae2473 100644 --- a/composer.json +++ b/composer.json @@ -43,13 +43,13 @@ "ext-sockets": "*", "appwrite/php-clamav": "1.1.*", "appwrite/php-runtimes": "0.11.*", - "utopia-php/abuse": "0.19.*", + "utopia-php/abuse": "0.21.*", "utopia-php/analytics": "0.2.*", - "utopia-php/audit": "0.21.*", + "utopia-php/audit": "0.23.*", "utopia-php/cache": "0.8.*", "utopia-php/cli": "0.13.*", "utopia-php/config": "0.2.*", - "utopia-php/database": "0.31.*", + "utopia-php/database": "dev-feat-relationships as 0.33.0", "utopia-php/preloader": "0.2.*", "utopia-php/domains": "1.1.*", "utopia-php/framework": "0.26.*", diff --git a/composer.lock b/composer.lock index 7dd2ce89aa..8c93bc3026 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3e00aa37bea907b7dcca7f912402a392", + "content-hash": "e7e0842fdf3271fe3fbaff873860f163", "packages": [ { "name": "adhocore/jwt", @@ -693,16 +693,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.4.3", + "version": "2.4.4", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "67c26b443f348a51926030c83481b85718457d3d" + "reference": "3cf1b6d4f0c820a2cf8bcaec39fc698f3443b5cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d", - "reference": "67c26b443f348a51926030c83481b85718457d3d", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/3cf1b6d4f0c820a2cf8bcaec39fc698f3443b5cf", + "reference": "3cf1b6d4f0c820a2cf8bcaec39fc698f3443b5cf", "shasum": "" }, "require": { @@ -792,7 +792,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.4.3" + "source": "https://github.com/guzzle/psr7/tree/2.4.4" }, "funding": [ { @@ -808,7 +808,7 @@ "type": "tidelift" } ], - "time": "2022-10-26T14:07:24+00:00" + "time": "2023-03-09T13:19:02+00:00" }, { "name": "influxdb/influxdb-php", @@ -1658,16 +1658,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.2.0", + "version": "v3.2.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3" + "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3", - "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", + "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", "shasum": "" }, "require": { @@ -1705,7 +1705,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1" }, "funding": [ { @@ -1721,7 +1721,7 @@ "type": "tidelift" } ], - "time": "2022-11-25T10:21:52+00:00" + "time": "2023-03-01T10:25:55+00:00" }, { "name": "symfony/polyfill-php80", @@ -1808,23 +1808,23 @@ }, { "name": "utopia-php/abuse", - "version": "0.19.0", + "version": "0.21.0", "source": { "type": "git", "url": "https://github.com/utopia-php/abuse.git", - "reference": "419b6e2e0a5dec35ea83a25758df9cd129b6c412" + "reference": "7483068b192b27d698da9534c80091f69666d5eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/abuse/zipball/419b6e2e0a5dec35ea83a25758df9cd129b6c412", - "reference": "419b6e2e0a5dec35ea83a25758df9cd129b6c412", + "url": "https://api.github.com/repos/utopia-php/abuse/zipball/7483068b192b27d698da9534c80091f69666d5eb", + "reference": "7483068b192b27d698da9534c80091f69666d5eb", "shasum": "" }, "require": { "ext-curl": "*", "ext-pdo": "*", "php": ">=8.0", - "utopia-php/database": "0.31.*" + "utopia-php/database": "0.33.*" }, "require-dev": { "laravel/pint": "1.2.*", @@ -1851,9 +1851,9 @@ ], "support": { "issues": "https://github.com/utopia-php/abuse/issues", - "source": "https://github.com/utopia-php/abuse/tree/0.19.0" + "source": "https://github.com/utopia-php/abuse/tree/0.21.0" }, - "time": "2023-02-26T03:28:48+00:00" + "time": "2023-03-10T08:49:10+00:00" }, { "name": "utopia-php/analytics", @@ -1912,28 +1912,27 @@ }, { "name": "utopia-php/audit", - "version": "0.21.0", + "version": "0.23.0", "source": { "type": "git", "url": "https://github.com/utopia-php/audit.git", - "reference": "7f9783a14718c82570c6effb35a3cb42c30b13a2" + "reference": "f16e893a22b93560d2af02afcb4761b3a940148a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/audit/zipball/7f9783a14718c82570c6effb35a3cb42c30b13a2", - "reference": "7f9783a14718c82570c6effb35a3cb42c30b13a2", + "url": "https://api.github.com/repos/utopia-php/audit/zipball/f16e893a22b93560d2af02afcb4761b3a940148a", + "reference": "f16e893a22b93560d2af02afcb4761b3a940148a", "shasum": "" }, "require": { "ext-pdo": "*", "php": ">=8.0", - "utopia-php/database": "0.31.*" + "utopia-php/database": "0.33.*" }, "require-dev": { "laravel/pint": "1.2.*", "phpstan/phpstan": "^1.8", - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.0.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "autoload": { @@ -1955,9 +1954,9 @@ ], "support": { "issues": "https://github.com/utopia-php/audit/issues", - "source": "https://github.com/utopia-php/audit/tree/0.21.0" + "source": "https://github.com/utopia-php/audit/tree/0.23.0" }, - "time": "2023-02-26T03:28:30+00:00" + "time": "2023-03-10T08:51:26+00:00" }, { "name": "utopia-php/cache", @@ -2114,33 +2113,37 @@ }, { "name": "utopia-php/database", - "version": "0.31.0", + "version": "dev-feat-relationships", "source": { "type": "git", "url": "https://github.com/utopia-php/database.git", - "reference": "61f9f4743a317f1d78558a5f981adf74e7fdc931" + "reference": "bbe883c7b2ab41bb2820ba858157d1f614269a70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/61f9f4743a317f1d78558a5f981adf74e7fdc931", - "reference": "61f9f4743a317f1d78558a5f981adf74e7fdc931", + "url": "https://api.github.com/repos/utopia-php/database/zipball/bbe883c7b2ab41bb2820ba858157d1f614269a70", + "reference": "bbe883c7b2ab41bb2820ba858157d1f614269a70", "shasum": "" }, "require": { + "ext-pdo": "*", "php": ">=8.0", "utopia-php/cache": "0.8.*", "utopia-php/framework": "0.*.*", - "utopia-php/mongo": "0.0.2" + "utopia-php/mongo": "0.1.*" }, "require-dev": { "ext-mongodb": "*", "ext-redis": "*", "fakerphp/faker": "^1.14", + "laravel/pint": "1.4.*", "mongodb/mongodb": "1.8.0", + "pcov/clobber": "^2.0", + "phpstan/phpstan": "1.9.*", "phpunit/phpunit": "^9.4", + "rregeer/phpunit-coverage-check": "^0.3.1", "swoole/ide-helper": "4.8.0", - "utopia-php/cli": "^0.14.0", - "vimeo/psalm": "4.0.1" + "utopia-php/cli": "^0.14.0" }, "type": "library", "autoload": { @@ -2152,7 +2155,7 @@ "license": [ "MIT" ], - "description": "A simple library to manage application persistency using multiple database adapters", + "description": "A simple library to manage application persistence using multiple database adapters", "keywords": [ "database", "framework", @@ -2162,9 +2165,9 @@ ], "support": { "issues": "https://github.com/utopia-php/database/issues", - "source": "https://github.com/utopia-php/database/tree/0.31.0" + "source": "https://github.com/utopia-php/database/tree/feat-relationships" }, - "time": "2023-02-23T09:49:44+00:00" + "time": "2023-03-12T06:08:11+00:00" }, { "name": "utopia-php/domains", @@ -2470,16 +2473,16 @@ }, { "name": "utopia-php/mongo", - "version": "0.0.2", + "version": "0.1.0", "source": { "type": "git", "url": "https://github.com/utopia-php/mongo.git", - "reference": "62f9a9c0201af91b6d0dd4f0aa8a335ec9b56a1e" + "reference": "f4b6ec74c5323ca16c500dd19109518d2eeb1f8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/mongo/zipball/62f9a9c0201af91b6d0dd4f0aa8a335ec9b56a1e", - "reference": "62f9a9c0201af91b6d0dd4f0aa8a335ec9b56a1e", + "url": "https://api.github.com/repos/utopia-php/mongo/zipball/f4b6ec74c5323ca16c500dd19109518d2eeb1f8f", + "reference": "f4b6ec74c5323ca16c500dd19109518d2eeb1f8f", "shasum": "" }, "require": { @@ -2524,9 +2527,9 @@ ], "support": { "issues": "https://github.com/utopia-php/mongo/issues", - "source": "https://github.com/utopia-php/mongo/tree/0.0.2" + "source": "https://github.com/utopia-php/mongo/tree/0.1.0" }, - "time": "2022-11-08T11:58:46+00:00" + "time": "2023-01-12T14:02:08+00:00" }, { "name": "utopia-php/orchestration", @@ -3282,16 +3285,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.11.0", + "version": "1.11.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", - "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", "shasum": "" }, "require": { @@ -3329,7 +3332,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" }, "funding": [ { @@ -3337,20 +3340,20 @@ "type": "tidelift" } ], - "time": "2022-03-03T13:19:32+00:00" + "time": "2023-03-08T13:26:56+00:00" }, { "name": "nikic/php-parser", - "version": "v4.15.3", + "version": "v4.15.4", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039" + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039", - "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", "shasum": "" }, "require": { @@ -3391,9 +3394,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" }, - "time": "2023-01-16T22:05:37+00:00" + "time": "2023-03-05T19:49:14+00:00" }, { "name": "phar-io/manifest", @@ -3741,16 +3744,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.25", + "version": "9.2.26", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "0e2b40518197a8c0d4b08bc34dfff1c99c508954" + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/0e2b40518197a8c0d4b08bc34dfff1c99c508954", - "reference": "0e2b40518197a8c0d4b08bc34dfff1c99c508954", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", "shasum": "" }, "require": { @@ -3772,8 +3775,8 @@ "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-pcov": "*", - "ext-xdebug": "*" + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, "type": "library", "extra": { @@ -3806,7 +3809,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.25" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" }, "funding": [ { @@ -3814,7 +3817,7 @@ "type": "github" } ], - "time": "2023-02-25T05:32:00+00:00" + "time": "2023-03-06T12:58:08+00:00" }, { "name": "phpunit/php-file-iterator", @@ -5564,9 +5567,18 @@ "time": "2023-02-08T07:49:20+00:00" } ], - "aliases": [], + "aliases": [ + { + "package": "utopia-php/database", + "version": "dev-feat-relationships", + "alias": "0.33.0", + "alias_normalized": "0.33.0.0" + } + ], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "utopia-php/database": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { @@ -5590,5 +5602,5 @@ "platform-overrides": { "php": "8.0" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.2.0" } diff --git a/src/Appwrite/Utopia/Response.php b/src/Appwrite/Utopia/Response.php index 2ab514f91c..ef55759d6a 100644 --- a/src/Appwrite/Utopia/Response.php +++ b/src/Appwrite/Utopia/Response.php @@ -132,6 +132,7 @@ class Response extends SwooleResponse public const MODEL_ATTRIBUTE_IP = 'attributeIp'; public const MODEL_ATTRIBUTE_URL = 'attributeUrl'; public const MODEL_ATTRIBUTE_DATETIME = 'attributeDatetime'; + public const MODEL_ATTRIBUTE_RELATION = 'attributeRelation'; // Users public const MODEL_ACCOUNT = 'account'; diff --git a/tests/e2e/General/UsageTest.php b/tests/e2e/General/UsageTest.php index afa8433cbb..fec6d75db3 100644 --- a/tests/e2e/General/UsageTest.php +++ b/tests/e2e/General/UsageTest.php @@ -11,7 +11,7 @@ use CURLFile; use Tests\E2E\Services\Functions\FunctionsBase; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; class UsageTest extends Scope { diff --git a/tests/e2e/Services/Account/AccountBase.php b/tests/e2e/Services/Account/AccountBase.php index 785b2af097..ba751516d3 100644 --- a/tests/e2e/Services/Account/AccountBase.php +++ b/tests/e2e/Services/Account/AccountBase.php @@ -6,7 +6,7 @@ use Appwrite\Tests\Retry; use Tests\E2E\Client; use Utopia\Database\Helpers\ID; use Utopia\Database\DateTime; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; trait AccountBase { diff --git a/tests/e2e/Services/Account/AccountCustomClientTest.php b/tests/e2e/Services/Account/AccountCustomClientTest.php index 82002eb485..6f75a998c1 100644 --- a/tests/e2e/Services/Account/AccountCustomClientTest.php +++ b/tests/e2e/Services/Account/AccountCustomClientTest.php @@ -10,7 +10,7 @@ use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\SideClient; use Utopia\Database\DateTime; use Utopia\Database\Helpers\ID; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; use function sleep; diff --git a/tests/e2e/Services/Databases/DatabasesBase.php b/tests/e2e/Services/Databases/DatabasesBase.php index e5efa36965..90d996dcd3 100644 --- a/tests/e2e/Services/Databases/DatabasesBase.php +++ b/tests/e2e/Services/Databases/DatabasesBase.php @@ -8,7 +8,7 @@ use Utopia\Database\DateTime; use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; trait DatabasesBase { diff --git a/tests/e2e/Services/Functions/FunctionsCustomServerTest.php b/tests/e2e/Services/Functions/FunctionsCustomServerTest.php index 3fb8ee9171..05ac241664 100644 --- a/tests/e2e/Services/Functions/FunctionsCustomServerTest.php +++ b/tests/e2e/Services/Functions/FunctionsCustomServerTest.php @@ -9,7 +9,7 @@ use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\SideServer; use Utopia\Database\Helpers\ID; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; class FunctionsCustomServerTest extends Scope { diff --git a/tests/e2e/Services/Storage/StorageBase.php b/tests/e2e/Services/Storage/StorageBase.php index 72d3a99537..baef838979 100644 --- a/tests/e2e/Services/Storage/StorageBase.php +++ b/tests/e2e/Services/Storage/StorageBase.php @@ -7,7 +7,7 @@ use Tests\E2E\Client; use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; trait StorageBase { diff --git a/tests/e2e/Services/Storage/StorageCustomClientTest.php b/tests/e2e/Services/Storage/StorageCustomClientTest.php index 46ef1d6986..96e70f9b0b 100644 --- a/tests/e2e/Services/Storage/StorageCustomClientTest.php +++ b/tests/e2e/Services/Storage/StorageCustomClientTest.php @@ -10,7 +10,7 @@ use Tests\E2E\Scopes\SideClient; use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; class StorageCustomClientTest extends Scope { diff --git a/tests/e2e/Services/Storage/StorageCustomServerTest.php b/tests/e2e/Services/Storage/StorageCustomServerTest.php index 86c9c54302..e25ae52df1 100644 --- a/tests/e2e/Services/Storage/StorageCustomServerTest.php +++ b/tests/e2e/Services/Storage/StorageCustomServerTest.php @@ -7,7 +7,7 @@ use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\SideServer; use Utopia\Database\Helpers\ID; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; class StorageCustomServerTest extends Scope { diff --git a/tests/e2e/Services/Teams/TeamsBase.php b/tests/e2e/Services/Teams/TeamsBase.php index daaf65494d..e56d4f5562 100644 --- a/tests/e2e/Services/Teams/TeamsBase.php +++ b/tests/e2e/Services/Teams/TeamsBase.php @@ -4,7 +4,7 @@ namespace Tests\E2E\Services\Teams; use Tests\E2E\Client; use Utopia\Database\Helpers\ID; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; trait TeamsBase { diff --git a/tests/e2e/Services/Teams/TeamsBaseClient.php b/tests/e2e/Services/Teams/TeamsBaseClient.php index 7892491e08..b540210553 100644 --- a/tests/e2e/Services/Teams/TeamsBaseClient.php +++ b/tests/e2e/Services/Teams/TeamsBaseClient.php @@ -4,7 +4,7 @@ namespace Tests\E2E\Services\Teams; use Tests\E2E\Client; use Utopia\Database\Helpers\ID; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; trait TeamsBaseClient { diff --git a/tests/e2e/Services/Teams/TeamsBaseServer.php b/tests/e2e/Services/Teams/TeamsBaseServer.php index 0714192bdf..aa1be49f41 100644 --- a/tests/e2e/Services/Teams/TeamsBaseServer.php +++ b/tests/e2e/Services/Teams/TeamsBaseServer.php @@ -3,7 +3,7 @@ namespace Tests\E2E\Services\Teams; use Tests\E2E\Client; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; trait TeamsBaseServer { diff --git a/tests/e2e/Services/Webhooks/WebhooksBase.php b/tests/e2e/Services/Webhooks/WebhooksBase.php index 1afa9cdb52..332b72fc54 100644 --- a/tests/e2e/Services/Webhooks/WebhooksBase.php +++ b/tests/e2e/Services/Webhooks/WebhooksBase.php @@ -8,7 +8,7 @@ use Tests\E2E\Client; use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; trait WebhooksBase { diff --git a/tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php b/tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php index aaf7901e19..22c90b5453 100644 --- a/tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php +++ b/tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php @@ -8,7 +8,7 @@ use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\SideClient; use Utopia\Database\Helpers\ID; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; class WebhooksCustomClientTest extends Scope { diff --git a/tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php b/tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php index 0ccb138d44..c25216358c 100644 --- a/tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php +++ b/tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php @@ -11,7 +11,7 @@ use Utopia\CLI\Console; use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; -use Utopia\Database\Validator\DatetimeValidator; +use Utopia\Database\Validator\Datetime as DatetimeValidator; class WebhooksCustomServerTest extends Scope {