1
0
Fork 0
mirror of synced 2024-10-02 10:16:27 +13:00

Merge pull request #4864 from appwrite/feat-technical-debt-2

Feat technical debt for database changes
This commit is contained in:
Jake Barnby 2023-02-15 20:13:23 +13:00 committed by GitHub
commit 0f2349faa2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
82 changed files with 774 additions and 401 deletions

View file

@ -3,7 +3,7 @@
use Appwrite\Auth\Auth; use Appwrite\Auth\Auth;
use Utopia\Config\Config; use Utopia\Config\Config;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
$providers = Config::getParam('providers', []); $providers = Config::getParam('providers', []);
$auth = Config::getParam('auth', []); $auth = Config::getParam('auth', []);

View file

@ -29,10 +29,10 @@ use Utopia\Database\Database;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\Exception\Duplicate; use Utopia\Database\Exception\Duplicate;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Query; use Utopia\Database\Query;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
use Utopia\Database\Validator\UID; use Utopia\Database\Validator\UID;
use Utopia\Locale\Locale; use Utopia\Locale\Locale;

View file

@ -4,10 +4,10 @@ use Utopia\App;
use Appwrite\Event\Delete; use Appwrite\Event\Delete;
use Appwrite\Extend\Exception; use Appwrite\Extend\Exception;
use Utopia\Audit\Audit; use Utopia\Audit\Audit;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\DatetimeValidator; use Utopia\Database\Validator\DatetimeValidator;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Validator\Boolean; use Utopia\Validator\Boolean;
use Utopia\Validator\FloatValidator; use Utopia\Validator\FloatValidator;
use Utopia\Validator\Integer; use Utopia\Validator\Integer;

View file

@ -9,9 +9,9 @@ use Appwrite\Event\Func;
use Appwrite\Event\Validator\Event as ValidatorEvent; use Appwrite\Event\Validator\Event as ValidatorEvent;
use Appwrite\Extend\Exception; use Appwrite\Extend\Exception;
use Appwrite\Utopia\Database\Validator\CustomId; use Appwrite\Utopia\Database\Validator\CustomId;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\UID; use Utopia\Database\Validator\UID;
use Appwrite\Usage\Stats; use Appwrite\Usage\Stats;
use Utopia\Storage\Device; use Utopia\Storage\Device;

View file

@ -17,11 +17,11 @@ use Utopia\Audit\Audit;
use Utopia\Config\Config; use Utopia\Config\Config;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Query; use Utopia\Database\Query;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
use Utopia\Database\Validator\DatetimeValidator; use Utopia\Database\Validator\DatetimeValidator;
use Utopia\Database\Validator\UID; use Utopia\Database\Validator\UID;
@ -32,7 +32,6 @@ use Appwrite\Utopia\Database\Validator\Queries\Projects;
use Utopia\Validator\ArrayList; use Utopia\Validator\ArrayList;
use Utopia\Validator\Boolean; use Utopia\Validator\Boolean;
use Utopia\Validator\Hostname; use Utopia\Validator\Hostname;
use Utopia\Validator\Integer;
use Utopia\Validator\Range; use Utopia\Validator\Range;
use Utopia\Validator\Text; use Utopia\Validator\Text;
use Utopia\Validator\WhiteList; use Utopia\Validator\WhiteList;

View file

@ -16,10 +16,10 @@ use Utopia\Database\Exception\Duplicate;
use Utopia\Database\Exception\Authorization as AuthorizationException; use Utopia\Database\Exception\Authorization as AuthorizationException;
use Utopia\Database\Exception\Duplicate as DuplicateException; use Utopia\Database\Exception\Duplicate as DuplicateException;
use Utopia\Database\Exception\Structure as StructureException; use Utopia\Database\Exception\Structure as StructureException;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Query; use Utopia\Database\Query;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\Permissions;
use Utopia\Database\Validator\UID; use Utopia\Database\Validator\UID;

View file

@ -26,11 +26,11 @@ use Utopia\Database\Database;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Database\Exception\Authorization as AuthorizationException; use Utopia\Database\Exception\Authorization as AuthorizationException;
use Utopia\Database\Exception\Duplicate; use Utopia\Database\Exception\Duplicate;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Query; use Utopia\Database\Query;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
use Utopia\Database\Validator\Key; use Utopia\Database\Validator\Key;
use Utopia\Database\Validator\UID; use Utopia\Database\Validator\UID;

View file

@ -16,9 +16,9 @@ use Appwrite\Utopia\Response;
use Utopia\App; use Utopia\App;
use Utopia\Audit\Audit; use Utopia\Audit\Audit;
use Utopia\Config\Config; use Utopia\Config\Config;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Locale\Locale; use Utopia\Locale\Locale;
use Appwrite\Extend\Exception; use Appwrite\Extend\Exception;
use Utopia\Database\Document; use Utopia\Database\Document;

View file

@ -3,7 +3,7 @@
require_once __DIR__ . '/../init.php'; require_once __DIR__ . '/../init.php';
use Utopia\App; use Utopia\App;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Locale\Locale; use Utopia\Locale\Locale;
use Utopia\Logger\Logger; use Utopia\Logger\Logger;
use Utopia\Logger\Log; use Utopia\Logger\Log;

View file

@ -14,7 +14,7 @@ use Utopia\Validator\Integer;
use Utopia\Validator\Text; use Utopia\Validator\Text;
use Utopia\Storage\Validator\File; use Utopia\Storage\Validator\File;
use Utopia\Validator\WhiteList; use Utopia\Validator\WhiteList;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
App::get('/v1/mock/tests/foo') App::get('/v1/mock/tests/foo')
->desc('Get Foo') ->desc('Get Foo')

View file

@ -10,9 +10,9 @@ use Swoole\Http\Response as SwooleResponse;
use Utopia\App; use Utopia\App;
use Utopia\CLI\Console; use Utopia\CLI\Console;
use Utopia\Config\Config; use Utopia\Config\Config;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
use Utopia\Audit\Audit; use Utopia\Audit\Audit;
use Utopia\Abuse\Adapters\TimeLimit; use Utopia\Abuse\Adapters\TimeLimit;

View file

@ -43,19 +43,19 @@ use Swoole\Database\PDOPool;
use Swoole\Database\RedisConfig; use Swoole\Database\RedisConfig;
use Swoole\Database\RedisPool; use Swoole\Database\RedisPool;
use Utopia\App; use Utopia\App;
use Utopia\Database\Helpers\ID;
use Utopia\Logger\Logger;
use Utopia\Cache\Adapter\Redis as RedisCache; use Utopia\Cache\Adapter\Redis as RedisCache;
use Utopia\Cache\Cache; use Utopia\Cache\Cache;
use Utopia\Config\Config; use Utopia\Config\Config;
use Utopia\Database\Adapter\MariaDB; use Utopia\Database\Adapter\MariaDB;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Database\ID;
use Utopia\Database\Query; use Utopia\Database\Query;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
use Utopia\Database\Validator\DatetimeValidator; use Utopia\Database\Validator\DatetimeValidator;
use Utopia\Database\Validator\Structure; use Utopia\Database\Validator\Structure;
use Utopia\Locale\Locale; use Utopia\Locale\Locale;
use Utopia\Logger\Logger;
use Utopia\Messaging\Adapters\SMS\Mock; use Utopia\Messaging\Adapters\SMS\Mock;
use Utopia\Messaging\Adapters\SMS\Msg91; use Utopia\Messaging\Adapters\SMS\Msg91;
use Utopia\Messaging\Adapters\SMS\Telesign; use Utopia\Messaging\Adapters\SMS\Telesign;

View file

@ -13,8 +13,8 @@ use Utopia\Abuse\Abuse;
use Utopia\Abuse\Adapters\TimeLimit; use Utopia\Abuse\Adapters\TimeLimit;
use Utopia\App; use Utopia\App;
use Utopia\CLI\Console; use Utopia\CLI\Console;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Logger\Log; use Utopia\Logger\Log;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;

View file

@ -40,6 +40,7 @@ class AuditsV1 extends Worker
$dbForProject = $this->getProjectDB($project->getId()); $dbForProject = $this->getProjectDB($project->getId());
$audit = new Audit($dbForProject); $audit = new Audit($dbForProject);
$audit->log( $audit->log(
userInternalId: $user->getInternalId(),
userId: $user->getId(), userId: $user->getId(),
// Pass first, most verbose event pattern // Pass first, most verbose event pattern
event: $event, event: $event,

View file

@ -11,7 +11,7 @@ use Utopia\Database\Database;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\App; use Utopia\App;
use Utopia\CLI\Console; use Utopia\CLI\Console;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Storage\Storage; use Utopia\Storage\Storage;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Config\Config; use Utopia\Config\Config;

View file

@ -10,7 +10,7 @@ use Utopia\CLI\Console;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Query; use Utopia\Database\Query;
use Utopia\Domains\Domain; use Utopia\Domains\Domain;
use Utopia\Locale\Locale; use Utopia\Locale\Locale;

View file

@ -14,10 +14,10 @@ use Utopia\Config\Config;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Query; use Utopia\Database\Query;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
require_once __DIR__ . '/../init.php'; require_once __DIR__ . '/../init.php';

View file

@ -43,13 +43,14 @@
"ext-sockets": "*", "ext-sockets": "*",
"appwrite/php-clamav": "1.1.*", "appwrite/php-clamav": "1.1.*",
"appwrite/php-runtimes": "0.11.*", "appwrite/php-runtimes": "0.11.*",
"utopia-php/abuse": "0.16.*", "utopia-php/abuse": "0.18.*",
"utopia-php/analytics": "0.2.*", "utopia-php/analytics": "0.2.*",
"utopia-php/audit": "0.17.*", "utopia-php/audit": "0.20.*",
"utopia-php/cache": "0.8.*", "utopia-php/cache": "0.8.*",
"utopia-php/cli": "0.13.*", "utopia-php/cli": "0.13.*",
"utopia-php/config": "0.2.*", "utopia-php/config": "0.2.*",
"utopia-php/database": "0.28.*", "utopia-php/database": "0.30.*",
"utopia-php/preloader": "0.2.*",
"utopia-php/domains": "1.1.*", "utopia-php/domains": "1.1.*",
"utopia-php/framework": "0.26.*", "utopia-php/framework": "0.26.*",
"utopia-php/image": "0.5.*", "utopia-php/image": "0.5.*",
@ -57,7 +58,6 @@
"utopia-php/logger": "0.3.*", "utopia-php/logger": "0.3.*",
"utopia-php/messaging": "0.1.*", "utopia-php/messaging": "0.1.*",
"utopia-php/orchestration": "0.6.*", "utopia-php/orchestration": "0.6.*",
"utopia-php/preloader": "0.2.*",
"utopia-php/registry": "0.5.*", "utopia-php/registry": "0.5.*",
"utopia-php/storage": "0.13.*", "utopia-php/storage": "0.13.*",
"utopia-php/swoole": "0.5.*", "utopia-php/swoole": "0.5.*",
@ -94,4 +94,4 @@
"php": "8.0" "php": "8.0"
} }
} }
} }

553
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "8782e69514f4564a3dcb44455161eedc", "content-hash": "ac80cafdd8c2c6deaec3dfe628084655",
"packages": [ "packages": [
{ {
"name": "adhocore/jwt", "name": "adhocore/jwt",
@ -345,6 +345,79 @@
}, },
"time": "2022-11-09T01:18:39+00:00" "time": "2022-11-09T01:18:39+00:00"
}, },
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.5",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7 || ^8"
},
"replace": {
"ocramius/package-versions": "1.11.99"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"ext-zip": "^1.13",
"phpunit/phpunit": "^6.5 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"support": {
"issues": "https://github.com/composer/package-versions-deprecated/issues",
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2022-01-17T14:14:24+00:00"
},
{ {
"name": "dragonmantank/cron-expression", "name": "dragonmantank/cron-expression",
"version": "v3.3.1", "version": "v3.3.1",
@ -804,6 +877,61 @@
"abandoned": true, "abandoned": true,
"time": "2020-12-26T17:45:17+00:00" "time": "2020-12-26T17:45:17+00:00"
}, },
{
"name": "jean85/pretty-package-versions",
"version": "1.6.0",
"source": {
"type": "git",
"url": "https://github.com/Jean85/pretty-package-versions.git",
"reference": "1e0104b46f045868f11942aea058cd7186d6c303"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/1e0104b46f045868f11942aea058cd7186d6c303",
"reference": "1e0104b46f045868f11942aea058cd7186d6c303",
"shasum": ""
},
"require": {
"composer/package-versions-deprecated": "^1.8.0",
"php": "^7.0|^8.0"
},
"require-dev": {
"phpunit/phpunit": "^6.0|^8.5|^9.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Jean85\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alessandro Lai",
"email": "alessandro.lai85@gmail.com"
}
],
"description": "A wrapper for ocramius/package-versions to get pretty versions strings",
"keywords": [
"composer",
"package",
"release",
"versions"
],
"support": {
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
"source": "https://github.com/Jean85/pretty-package-versions/tree/1.6.0"
},
"time": "2021-02-04T16:20:16+00:00"
},
{ {
"name": "laravel/pint", "name": "laravel/pint",
"version": "v1.2.1", "version": "v1.2.1",
@ -939,6 +1067,74 @@
}, },
"time": "2022-04-11T09:58:17+00:00" "time": "2022-04-11T09:58:17+00:00"
}, },
{
"name": "mongodb/mongodb",
"version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/mongodb/mongo-php-library.git",
"reference": "953dbc19443aa9314c44b7217a16873347e6840d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/953dbc19443aa9314c44b7217a16873347e6840d",
"reference": "953dbc19443aa9314c44b7217a16873347e6840d",
"shasum": ""
},
"require": {
"ext-hash": "*",
"ext-json": "*",
"ext-mongodb": "^1.8.1",
"jean85/pretty-package-versions": "^1.2",
"php": "^7.0 || ^8.0",
"symfony/polyfill-php80": "^1.19"
},
"require-dev": {
"squizlabs/php_codesniffer": "^3.5, <3.5.5",
"symfony/phpunit-bridge": "5.x-dev"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8.x-dev"
}
},
"autoload": {
"files": [
"src/functions.php"
],
"psr-4": {
"MongoDB\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Andreas Braun",
"email": "andreas.braun@mongodb.com"
},
{
"name": "Jeremy Mikola",
"email": "jmikola@gmail.com"
}
],
"description": "MongoDB driver library",
"homepage": "https://jira.mongodb.org/browse/PHPLIB",
"keywords": [
"database",
"driver",
"mongodb",
"persistence"
],
"support": {
"issues": "https://github.com/mongodb/mongo-php-library/issues",
"source": "https://github.com/mongodb/mongo-php-library/tree/1.8.0"
},
"time": "2020-11-25T12:26:02+00:00"
},
{ {
"name": "mustangostang/spyc", "name": "mustangostang/spyc",
"version": "0.6.3", "version": "0.6.3",
@ -1528,26 +1724,111 @@
"time": "2022-11-25T10:21:52+00:00" "time": "2022-11-25T10:21:52+00:00"
}, },
{ {
"name": "utopia-php/abuse", "name": "symfony/polyfill-php80",
"version": "0.16.0", "version": "v1.27.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/utopia-php/abuse.git", "url": "https://github.com/symfony/polyfill-php80.git",
"reference": "6370d9150425460416583feba0990504ac789e98" "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/utopia-php/abuse/zipball/6370d9150425460416583feba0990504ac789e98", "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"reference": "6370d9150425460416583feba0990504ac789e98", "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2022-11-03T14:55:06+00:00"
},
{
"name": "utopia-php/abuse",
"version": "0.18.0",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/abuse.git",
"reference": "8496401234f73a49f8c4259d3e89ab4a7c1f9ecf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/abuse/zipball/8496401234f73a49f8c4259d3e89ab4a7c1f9ecf",
"reference": "8496401234f73a49f8c4259d3e89ab4a7c1f9ecf",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-curl": "*", "ext-curl": "*",
"ext-pdo": "*", "ext-pdo": "*",
"php": ">=8.0", "php": ">=8.0",
"utopia-php/database": "0.28.*" "utopia-php/database": "0.30.*"
}, },
"require-dev": { "require-dev": {
"laravel/pint": "1.2.*",
"phpstan/phpstan": "1.9.x-dev",
"phpunit/phpunit": "^9.4", "phpunit/phpunit": "^9.4",
"vimeo/psalm": "4.0.1" "vimeo/psalm": "4.0.1"
}, },
@ -1561,12 +1842,6 @@
"license": [ "license": [
"MIT" "MIT"
], ],
"authors": [
{
"name": "Eldad Fux",
"email": "eldad@appwrite.io"
}
],
"description": "A simple abuse library to manage application usage limits", "description": "A simple abuse library to manage application usage limits",
"keywords": [ "keywords": [
"Abuse", "Abuse",
@ -1577,9 +1852,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/utopia-php/abuse/issues", "issues": "https://github.com/utopia-php/abuse/issues",
"source": "https://github.com/utopia-php/abuse/tree/0.16.0" "source": "https://github.com/utopia-php/abuse/tree/0.18.0"
}, },
"time": "2022-10-31T14:46:41+00:00" "time": "2023-02-14T09:56:04+00:00"
}, },
{ {
"name": "utopia-php/analytics", "name": "utopia-php/analytics",
@ -1638,24 +1913,26 @@
}, },
{ {
"name": "utopia-php/audit", "name": "utopia-php/audit",
"version": "0.17.0", "version": "0.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/utopia-php/audit.git", "url": "https://github.com/utopia-php/audit.git",
"reference": "455471bd4de8d74026809e843f8c9740eb32922c" "reference": "3fce3f4ad3ea9dfcb39b79668abd76331412a5ed"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/utopia-php/audit/zipball/455471bd4de8d74026809e843f8c9740eb32922c", "url": "https://api.github.com/repos/utopia-php/audit/zipball/3fce3f4ad3ea9dfcb39b79668abd76331412a5ed",
"reference": "455471bd4de8d74026809e843f8c9740eb32922c", "reference": "3fce3f4ad3ea9dfcb39b79668abd76331412a5ed",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-pdo": "*", "ext-pdo": "*",
"php": ">=8.0", "php": ">=8.0",
"utopia-php/database": "0.28.*" "utopia-php/database": "0.30.*"
}, },
"require-dev": { "require-dev": {
"laravel/pint": "1.2.*",
"phpstan/phpstan": "^1.8",
"phpunit/phpunit": "^9.3", "phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.0.1" "vimeo/psalm": "4.0.1"
}, },
@ -1679,9 +1956,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/utopia-php/audit/issues", "issues": "https://github.com/utopia-php/audit/issues",
"source": "https://github.com/utopia-php/audit/tree/0.17.0" "source": "https://github.com/utopia-php/audit/tree/0.20.0"
}, },
"time": "2022-10-31T14:44:52+00:00" "time": "2023-02-14T09:46:54+00:00"
}, },
{ {
"name": "utopia-php/cache", "name": "utopia-php/cache",
@ -1838,32 +2115,32 @@
}, },
{ {
"name": "utopia-php/database", "name": "utopia-php/database",
"version": "0.28.0", "version": "0.30.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/utopia-php/database.git", "url": "https://github.com/utopia-php/database.git",
"reference": "ef6506af1c09c22f5dc1e7859159d323f7fafa94" "reference": "1cea72c1217357bf0747ae4f28ebef57e9dc0e65"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/utopia-php/database/zipball/ef6506af1c09c22f5dc1e7859159d323f7fafa94", "url": "https://api.github.com/repos/utopia-php/database/zipball/1cea72c1217357bf0747ae4f28ebef57e9dc0e65",
"reference": "ef6506af1c09c22f5dc1e7859159d323f7fafa94", "reference": "1cea72c1217357bf0747ae4f28ebef57e9dc0e65",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.0", "php": ">=8.0",
"utopia-php/cache": "0.8.*", "utopia-php/cache": "0.8.*",
"utopia-php/framework": "0.*.*" "utopia-php/framework": "0.*.*",
"utopia-php/mongo": "0.0.2"
}, },
"require-dev": { "require-dev": {
"ext-mongodb": "*", "ext-mongodb": "*",
"ext-pdo": "*",
"ext-redis": "*", "ext-redis": "*",
"fakerphp/faker": "^1.14", "fakerphp/faker": "^1.14",
"mongodb/mongodb": "1.8.0", "mongodb/mongodb": "1.8.0",
"phpunit/phpunit": "^9.4", "phpunit/phpunit": "^9.4",
"swoole/ide-helper": "4.8.0", "swoole/ide-helper": "4.8.0",
"utopia-php/cli": "^0.11.0", "utopia-php/cli": "^0.14.0",
"vimeo/psalm": "4.0.1" "vimeo/psalm": "4.0.1"
}, },
"type": "library", "type": "library",
@ -1886,9 +2163,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/utopia-php/database/issues", "issues": "https://github.com/utopia-php/database/issues",
"source": "https://github.com/utopia-php/database/tree/0.28.0" "source": "https://github.com/utopia-php/database/tree/0.30.1"
}, },
"time": "2022-10-31T09:58:46+00:00" "time": "2023-02-14T06:25:03+00:00"
}, },
{ {
"name": "utopia-php/domains", "name": "utopia-php/domains",
@ -2093,22 +2370,23 @@
}, },
{ {
"name": "utopia-php/logger", "name": "utopia-php/logger",
"version": "0.3.0", "version": "0.3.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/utopia-php/logger.git", "url": "https://github.com/utopia-php/logger.git",
"reference": "079656cb5169ca9600861eda0b6819199e3d4a57" "reference": "de623f1ec1c672c795d113dd25c5bf212f7ef4fc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/utopia-php/logger/zipball/079656cb5169ca9600861eda0b6819199e3d4a57", "url": "https://api.github.com/repos/utopia-php/logger/zipball/de623f1ec1c672c795d113dd25c5bf212f7ef4fc",
"reference": "079656cb5169ca9600861eda0b6819199e3d4a57", "reference": "de623f1ec1c672c795d113dd25c5bf212f7ef4fc",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.0" "php": ">=8.0"
}, },
"require-dev": { "require-dev": {
"phpstan/phpstan": "1.9.x-dev",
"phpunit/phpunit": "^9.3", "phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.0.1" "vimeo/psalm": "4.0.1"
}, },
@ -2122,20 +2400,6 @@
"license": [ "license": [
"MIT" "MIT"
], ],
"authors": [
{
"name": "Eldad Fux",
"email": "eldad@appwrite.io"
},
{
"name": "Matej Bačo",
"email": "matej@appwrite.io"
},
{
"name": "Christy Jacob",
"email": "christy@appwrite.io"
}
],
"description": "Utopia Logger library is simple and lite library for logging information, such as errors or warnings. This library is aiming to be as simple and easy to learn and use.", "description": "Utopia Logger library is simple and lite library for logging information, such as errors or warnings. This library is aiming to be as simple and easy to learn and use.",
"keywords": [ "keywords": [
"appsignal", "appsignal",
@ -2153,22 +2417,22 @@
], ],
"support": { "support": {
"issues": "https://github.com/utopia-php/logger/issues", "issues": "https://github.com/utopia-php/logger/issues",
"source": "https://github.com/utopia-php/logger/tree/0.3.0" "source": "https://github.com/utopia-php/logger/tree/0.3.1"
}, },
"time": "2022-03-18T10:56:57+00:00" "time": "2023-02-10T15:52:50+00:00"
}, },
{ {
"name": "utopia-php/messaging", "name": "utopia-php/messaging",
"version": "0.1.0", "version": "0.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/utopia-php/messaging.git", "url": "https://github.com/utopia-php/messaging.git",
"reference": "501272fad666f06bec8f130076862e7981a73f8c" "reference": "a75d66ddd59b834ab500a4878a2c084e6572604a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/utopia-php/messaging/zipball/501272fad666f06bec8f130076862e7981a73f8c", "url": "https://api.github.com/repos/utopia-php/messaging/zipball/a75d66ddd59b834ab500a4878a2c084e6572604a",
"reference": "501272fad666f06bec8f130076862e7981a73f8c", "reference": "a75d66ddd59b834ab500a4878a2c084e6572604a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2176,9 +2440,9 @@
"php": ">=8.0.0" "php": ">=8.0.0"
}, },
"require-dev": { "require-dev": {
"laravel/pint": "^1.2",
"phpmailer/phpmailer": "6.6.*", "phpmailer/phpmailer": "6.6.*",
"phpunit/phpunit": "9.5.*", "phpunit/phpunit": "9.5.*"
"squizlabs/php_codesniffer": "^3.6"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2190,12 +2454,6 @@
"license": [ "license": [
"MIT" "MIT"
], ],
"authors": [
{
"name": "Jake Barnby",
"email": "jake@appwrite.io"
}
],
"description": "A simple, light and advanced PHP messaging library", "description": "A simple, light and advanced PHP messaging library",
"keywords": [ "keywords": [
"library", "library",
@ -2207,9 +2465,69 @@
], ],
"support": { "support": {
"issues": "https://github.com/utopia-php/messaging/issues", "issues": "https://github.com/utopia-php/messaging/issues",
"source": "https://github.com/utopia-php/messaging/tree/0.1.0" "source": "https://github.com/utopia-php/messaging/tree/0.1.1"
}, },
"time": "2022-09-29T11:22:48+00:00" "time": "2023-02-07T05:42:46+00:00"
},
{
"name": "utopia-php/mongo",
"version": "0.0.2",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/mongo.git",
"reference": "62f9a9c0201af91b6d0dd4f0aa8a335ec9b56a1e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/mongo/zipball/62f9a9c0201af91b6d0dd4f0aa8a335ec9b56a1e",
"reference": "62f9a9c0201af91b6d0dd4f0aa8a335ec9b56a1e",
"shasum": ""
},
"require": {
"ext-mongodb": "*",
"mongodb/mongodb": "1.8.0",
"php": ">=8.0"
},
"require-dev": {
"fakerphp/faker": "^1.14",
"laravel/pint": "1.2.*",
"phpstan/phpstan": "1.8.*",
"phpunit/phpunit": "^9.4",
"swoole/ide-helper": "4.8.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Utopia\\Mongo\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Eldad Fux",
"email": "eldad@appwrite.io"
},
{
"name": "Wess",
"email": "wess@appwrite.io"
}
],
"description": "A simple library to manage Mongo database",
"keywords": [
"database",
"mongo",
"php",
"upf",
"utopia"
],
"support": {
"issues": "https://github.com/utopia-php/mongo/issues",
"source": "https://github.com/utopia-php/mongo/tree/0.0.2"
},
"time": "2022-11-08T11:58:46+00:00"
}, },
{ {
"name": "utopia-php/orchestration", "name": "utopia-php/orchestration",
@ -2720,16 +3038,16 @@
"packages-dev": [ "packages-dev": [
{ {
"name": "appwrite/sdk-generator", "name": "appwrite/sdk-generator",
"version": "0.29.2", "version": "0.29.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/appwrite/sdk-generator.git", "url": "https://github.com/appwrite/sdk-generator.git",
"reference": "d5352e09ffe9442eb1bf7a5ddbaf2618df8ade6a" "reference": "35ec927d1de1854bebe8894e16b1646c3fdd5567"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/d5352e09ffe9442eb1bf7a5ddbaf2618df8ade6a", "url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/35ec927d1de1854bebe8894e16b1646c3fdd5567",
"reference": "d5352e09ffe9442eb1bf7a5ddbaf2618df8ade6a", "reference": "35ec927d1de1854bebe8894e16b1646c3fdd5567",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2765,9 +3083,9 @@
"description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms", "description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms",
"support": { "support": {
"issues": "https://github.com/appwrite/sdk-generator/issues", "issues": "https://github.com/appwrite/sdk-generator/issues",
"source": "https://github.com/appwrite/sdk-generator/tree/0.29.2" "source": "https://github.com/appwrite/sdk-generator/tree/0.29.4"
}, },
"time": "2022-12-28T06:52:51+00:00" "time": "2023-02-03T05:44:59+00:00"
}, },
{ {
"name": "doctrine/instantiator", "name": "doctrine/instantiator",
@ -3024,16 +3342,16 @@
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
"version": "v4.15.2", "version": "v4.15.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nikic/PHP-Parser.git", "url": "https://github.com/nikic/PHP-Parser.git",
"reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039",
"reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3074,9 +3392,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/nikic/PHP-Parser/issues", "issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2" "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3"
}, },
"time": "2022-11-12T15:38:23+00:00" "time": "2023-01-16T22:05:37+00:00"
}, },
{ {
"name": "phar-io/manifest", "name": "phar-io/manifest",
@ -3356,20 +3674,20 @@
}, },
{ {
"name": "phpspec/prophecy", "name": "phpspec/prophecy",
"version": "v1.16.0", "version": "v1.17.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpspec/prophecy.git", "url": "https://github.com/phpspec/prophecy.git",
"reference": "be8cac52a0827776ff9ccda8c381ac5b71aeb359" "reference": "15873c65b207b07765dbc3c95d20fdf4a320cbe2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/be8cac52a0827776ff9ccda8c381ac5b71aeb359", "url": "https://api.github.com/repos/phpspec/prophecy/zipball/15873c65b207b07765dbc3c95d20fdf4a320cbe2",
"reference": "be8cac52a0827776ff9ccda8c381ac5b71aeb359", "reference": "15873c65b207b07765dbc3c95d20fdf4a320cbe2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/instantiator": "^1.2", "doctrine/instantiator": "^1.2 || ^2.0",
"php": "^7.2 || 8.0.* || 8.1.* || 8.2.*", "php": "^7.2 || 8.0.* || 8.1.* || 8.2.*",
"phpdocumentor/reflection-docblock": "^5.2", "phpdocumentor/reflection-docblock": "^5.2",
"sebastian/comparator": "^3.0 || ^4.0", "sebastian/comparator": "^3.0 || ^4.0",
@ -3377,6 +3695,7 @@
}, },
"require-dev": { "require-dev": {
"phpspec/phpspec": "^6.0 || ^7.0", "phpspec/phpspec": "^6.0 || ^7.0",
"phpstan/phpstan": "^1.9",
"phpunit/phpunit": "^8.0 || ^9.0" "phpunit/phpunit": "^8.0 || ^9.0"
}, },
"type": "library", "type": "library",
@ -3417,22 +3736,22 @@
], ],
"support": { "support": {
"issues": "https://github.com/phpspec/prophecy/issues", "issues": "https://github.com/phpspec/prophecy/issues",
"source": "https://github.com/phpspec/prophecy/tree/v1.16.0" "source": "https://github.com/phpspec/prophecy/tree/v1.17.0"
}, },
"time": "2022-11-29T15:06:56+00:00" "time": "2023-02-02T15:41:36+00:00"
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
"version": "9.2.23", "version": "9.2.24",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "9f1f0f9a2fbb680b26d1cf9b61b6eac43a6e4e9c" "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/9f1f0f9a2fbb680b26d1cf9b61b6eac43a6e4e9c", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed",
"reference": "9f1f0f9a2fbb680b26d1cf9b61b6eac43a6e4e9c", "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3488,7 +3807,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.23" "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24"
}, },
"funding": [ "funding": [
{ {
@ -3496,7 +3815,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-12-28T12:41:10+00:00" "time": "2023-01-26T08:26:55+00:00"
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",
@ -4208,16 +4527,16 @@
}, },
{ {
"name": "sebastian/environment", "name": "sebastian/environment",
"version": "5.1.4", "version": "5.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/environment.git", "url": "https://github.com/sebastianbergmann/environment.git",
"reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4259,7 +4578,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/environment/issues", "issues": "https://github.com/sebastianbergmann/environment/issues",
"source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
}, },
"funding": [ "funding": [
{ {
@ -4267,7 +4586,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-04-03T09:37:03+00:00" "time": "2023-02-03T06:03:51+00:00"
}, },
{ {
"name": "sebastian/exporter", "name": "sebastian/exporter",
@ -4581,16 +4900,16 @@
}, },
{ {
"name": "sebastian/recursion-context", "name": "sebastian/recursion-context",
"version": "4.0.4", "version": "4.0.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git", "url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4629,10 +4948,10 @@
} }
], ],
"description": "Provides functionality to recursively process PHP variables", "description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context", "homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues", "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
}, },
"funding": [ "funding": [
{ {
@ -4640,7 +4959,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2020-10-26T13:17:30+00:00" "time": "2023-02-03T06:07:39+00:00"
}, },
{ {
"name": "sebastian/resource-operations", "name": "sebastian/resource-operations",
@ -4699,16 +5018,16 @@
}, },
{ {
"name": "sebastian/type", "name": "sebastian/type",
"version": "3.2.0", "version": "3.2.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/type.git", "url": "https://github.com/sebastianbergmann/type.git",
"reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e" "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4743,7 +5062,7 @@
"homepage": "https://github.com/sebastianbergmann/type", "homepage": "https://github.com/sebastianbergmann/type",
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/type/issues", "issues": "https://github.com/sebastianbergmann/type/issues",
"source": "https://github.com/sebastianbergmann/type/tree/3.2.0" "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
}, },
"funding": [ "funding": [
{ {
@ -4751,7 +5070,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-09-12T14:47:03+00:00" "time": "2023-02-03T06:13:03+00:00"
}, },
{ {
"name": "sebastian/version", "name": "sebastian/version",
@ -5170,16 +5489,16 @@
}, },
{ {
"name": "twig/twig", "name": "twig/twig",
"version": "v3.5.0", "version": "v3.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/Twig.git", "url": "https://github.com/twigphp/Twig.git",
"reference": "3ffcf4b7d890770466da3b2666f82ac054e7ec72" "reference": "a6e0510cc793912b451fd40ab983a1d28f611c15"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3ffcf4b7d890770466da3b2666f82ac054e7ec72", "url": "https://api.github.com/repos/twigphp/Twig/zipball/a6e0510cc793912b451fd40ab983a1d28f611c15",
"reference": "3ffcf4b7d890770466da3b2666f82ac054e7ec72", "reference": "a6e0510cc793912b451fd40ab983a1d28f611c15",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5230,7 +5549,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/twigphp/Twig/issues", "issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.5.0" "source": "https://github.com/twigphp/Twig/tree/v3.5.1"
}, },
"funding": [ "funding": [
{ {
@ -5242,7 +5561,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-12-27T12:28:18+00:00" "time": "2023-02-08T07:49:20+00:00"
} }
], ],
"aliases": [], "aliases": [],
@ -5271,5 +5590,5 @@
"platform-overrides": { "platform-overrides": {
"php": "8.0" "php": "8.0"
}, },
"plugin-api-version": "2.1.0" "plugin-api-version": "2.2.0"
} }

View file

@ -12,7 +12,7 @@ use Appwrite\Auth\Hash\Sha;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
use Utopia\Database\Validator\Roles; use Utopia\Database\Validator\Roles;

View file

@ -6,8 +6,8 @@ use Utopia\Database\DateTime;
use Utopia\Database\Document; use Utopia\Database\Document;
use Appwrite\Messaging\Adapter; use Appwrite\Messaging\Adapter;
use Utopia\App; use Utopia\App;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class Realtime extends Adapter class Realtime extends Adapter
{ {

View file

@ -10,7 +10,7 @@ use Utopia\CLI\Console;
use Utopia\Config\Config; use Utopia\Config\Config;
use Exception; use Exception;
use Utopia\App; use Utopia\App;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
Runtime::enableCoroutine(SWOOLE_HOOK_ALL); Runtime::enableCoroutine(SWOOLE_HOOK_ALL);

View file

@ -11,9 +11,9 @@ use Utopia\CLI\Console;
use Utopia\Config\Config; use Utopia\Config\Config;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class V15 extends Migration class V15 extends Migration
{ {

View file

@ -5,8 +5,8 @@ namespace Appwrite\Specification\Format;
use Appwrite\Specification\Format; use Appwrite\Specification\Format;
use Appwrite\Template\Template; use Appwrite\Template\Template;
use Appwrite\Utopia\Response\Model; use Appwrite\Utopia\Response\Model;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Validator; use Utopia\Validator;
class OpenAPI3 extends Format class OpenAPI3 extends Format

View file

@ -5,8 +5,8 @@ namespace Appwrite\Specification\Format;
use Appwrite\Specification\Format; use Appwrite\Specification\Format;
use Appwrite\Template\Template; use Appwrite\Template\Template;
use Appwrite\Utopia\Response\Model; use Appwrite\Utopia\Response\Model;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Validator; use Utopia\Validator;
class Swagger2 extends Format class Swagger2 extends Format

View file

@ -4,9 +4,9 @@ namespace Appwrite\Utopia\Request\Filters;
use Appwrite\Utopia\Request\Filter; use Appwrite\Utopia\Request\Filter;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Query; use Utopia\Database\Query;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class V15 extends Filter class V15 extends Filter
{ {

View file

@ -5,8 +5,8 @@ namespace Appwrite\Utopia\Response\Filters;
use Appwrite\Utopia\Response; use Appwrite\Utopia\Response;
use Appwrite\Utopia\Response\Filter; use Appwrite\Utopia\Response\Filter;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class V15 extends Filter class V15 extends Filter
{ {

View file

@ -4,7 +4,7 @@ namespace Appwrite\Utopia\Response\Model;
use Appwrite\Utopia\Response; use Appwrite\Utopia\Response;
use Appwrite\Utopia\Response\Model; use Appwrite\Utopia\Response\Model;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class Execution extends Model class Execution extends Model
{ {

View file

@ -8,9 +8,9 @@ use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideNone; use Tests\E2E\Scopes\SideNone;
use Utopia\App; use Utopia\App;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class AbuseTest extends Scope class AbuseTest extends Scope
{ {

View file

@ -9,9 +9,9 @@ use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use CURLFile; use CURLFile;
use Tests\E2E\Services\Functions\FunctionsBase; use Tests\E2E\Services\Functions\FunctionsBase;
use Utopia\Database\DateTime; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Role;
use Utopia\Database\Role; use Utopia\Database\Validator\DatetimeValidator;
class UsageTest extends Scope class UsageTest extends Scope
{ {
@ -601,6 +601,7 @@ class UsageTest extends Scope
/** @depends testDatabaseStats */ /** @depends testDatabaseStats */
public function testPrepareFunctionsStats(array $data): array public function testPrepareFunctionsStats(array $data): array
{ {
$dateValidator = new DatetimeValidator();
$headers = $data['headers']; $headers = $data['headers'];
$functionId = ''; $functionId = '';
$executionTime = 0; $executionTime = 0;
@ -642,7 +643,7 @@ class UsageTest extends Scope
$this->assertEquals(202, $deployment['headers']['status-code']); $this->assertEquals(202, $deployment['headers']['status-code']);
$this->assertNotEmpty($deployment['body']['$id']); $this->assertNotEmpty($deployment['body']['$id']);
$this->assertEquals(true, DateTime::isValid($deployment['body']['$createdAt'])); $this->assertEquals(true, $dateValidator->isValid($deployment['body']['$createdAt']));
$this->assertEquals('index.php', $deployment['body']['entrypoint']); $this->assertEquals('index.php', $deployment['body']['entrypoint']);
// Wait for deployment to build. // Wait for deployment to build.
@ -652,8 +653,8 @@ class UsageTest extends Scope
$this->assertEquals(200, $response['headers']['status-code']); $this->assertEquals(200, $response['headers']['status-code']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['$createdAt'])); $this->assertEquals(true, $dateValidator->isValid($response['body']['$createdAt']));
$this->assertEquals(true, DateTime::isValid($response['body']['$updatedAt'])); $this->assertEquals(true, $dateValidator->isValid($response['body']['$updatedAt']));
$this->assertEquals($deploymentId, $response['body']['deployment']); $this->assertEquals($deploymentId, $response['body']['deployment']);
$execution = $this->client->call(Client::METHOD_POST, '/functions/' . $functionId . '/executions', $headers, [ $execution = $this->client->call(Client::METHOD_POST, '/functions/' . $functionId . '/executions', $headers, [

View file

@ -2,7 +2,7 @@
namespace Tests\E2E\Scopes; namespace Tests\E2E\Scopes;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
trait ProjectConsole trait ProjectConsole
{ {

View file

@ -3,7 +3,7 @@
namespace Tests\E2E\Scopes; namespace Tests\E2E\Scopes;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
trait ProjectCustom trait ProjectCustom
{ {

View file

@ -5,21 +5,14 @@ namespace Tests\E2E\Scopes;
use Appwrite\Tests\Retryable; use Appwrite\Tests\Retryable;
use Tests\E2E\Client; use Tests\E2E\Client;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
abstract class Scope extends TestCase abstract class Scope extends TestCase
{ {
use Retryable; use Retryable;
/** protected ?Client $client = null;
* @var Client protected string $endpoint = 'http://localhost/v1';
*/
protected $client = null;
/**
* @var string
*/
protected $endpoint = 'http://localhost/v1';
protected function setUp(): void protected function setUp(): void
{ {

View file

@ -4,8 +4,9 @@ namespace Tests\E2E\Services\Account;
use Appwrite\Tests\Retry; use Appwrite\Tests\Retry;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\Validator\DatetimeValidator;
trait AccountBase trait AccountBase
{ {
@ -34,7 +35,8 @@ trait AccountBase
$this->assertEquals($response['headers']['status-code'], 201); $this->assertEquals($response['headers']['status-code'], 201);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$this->assertEquals($response['body']['name'], $name); $this->assertEquals($response['body']['name'], $name);
@ -198,7 +200,8 @@ trait AccountBase
$this->assertEquals($response['headers']['status-code'], 200); $this->assertEquals($response['headers']['status-code'], 200);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$this->assertEquals($response['body']['name'], $name); $this->assertEquals($response['body']['name'], $name);
@ -343,7 +346,8 @@ trait AccountBase
$this->assertIsNumeric($response['body']['total']); $this->assertIsNumeric($response['body']['total']);
$this->assertContains($response['body']['logs'][1]['event'], ["session.create"]); $this->assertContains($response['body']['logs'][1]['event'], ["session.create"]);
$this->assertEquals($response['body']['logs'][1]['ip'], filter_var($response['body']['logs'][1]['ip'], FILTER_VALIDATE_IP)); $this->assertEquals($response['body']['logs'][1]['ip'], filter_var($response['body']['logs'][1]['ip'], FILTER_VALIDATE_IP));
$this->assertEquals(true, DateTime::isValid($response['body']['logs'][1]['time'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['logs'][1]['time']));
$this->assertEquals('Windows', $response['body']['logs'][1]['osName']); $this->assertEquals('Windows', $response['body']['logs'][1]['osName']);
$this->assertEquals('WIN', $response['body']['logs'][1]['osCode']); $this->assertEquals('WIN', $response['body']['logs'][1]['osCode']);
@ -365,7 +369,7 @@ trait AccountBase
$this->assertContains($response['body']['logs'][2]['event'], ["user.create"]); $this->assertContains($response['body']['logs'][2]['event'], ["user.create"]);
$this->assertEquals($response['body']['logs'][2]['ip'], filter_var($response['body']['logs'][2]['ip'], FILTER_VALIDATE_IP)); $this->assertEquals($response['body']['logs'][2]['ip'], filter_var($response['body']['logs'][2]['ip'], FILTER_VALIDATE_IP));
$this->assertEquals(true, DateTime::isValid($response['body']['logs'][2]['time'])); $this->assertEquals(true, $dateValidator->isValid($response['body']['logs'][2]['time']));
$this->assertEquals('Windows', $response['body']['logs'][2]['osName']); $this->assertEquals('Windows', $response['body']['logs'][2]['osName']);
$this->assertEquals('WIN', $response['body']['logs'][2]['osCode']); $this->assertEquals('WIN', $response['body']['logs'][2]['osCode']);
@ -476,7 +480,8 @@ trait AccountBase
$this->assertIsArray($response['body']); $this->assertIsArray($response['body']);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$this->assertEquals($response['body']['name'], $newName); $this->assertEquals($response['body']['name'], $newName);
@ -543,7 +548,8 @@ trait AccountBase
$this->assertIsArray($response['body']); $this->assertIsArray($response['body']);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([ $response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([
@ -633,7 +639,8 @@ trait AccountBase
$this->assertIsArray($response['body']); $this->assertIsArray($response['body']);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $newEmail); $this->assertEquals($response['body']['email'], $newEmail);
/** /**
@ -675,7 +682,7 @@ trait AccountBase
$this->assertEquals($response['headers']['status-code'], 201); $this->assertEquals($response['headers']['status-code'], 201);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $data['email']); $this->assertEquals($response['body']['email'], $data['email']);
$this->assertEquals($response['body']['name'], $data['name']); $this->assertEquals($response['body']['name'], $data['name']);
@ -817,7 +824,8 @@ trait AccountBase
$this->assertEquals(201, $response['headers']['status-code']); $this->assertEquals(201, $response['headers']['status-code']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEmpty($response['body']['secret']); $this->assertEmpty($response['body']['secret']);
$this->assertEquals(true, DateTime::isValid($response['body']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['expire']));
$lastEmail = $this->getLastEmail(); $lastEmail = $this->getLastEmail();
@ -1119,7 +1127,8 @@ trait AccountBase
$this->assertEquals(201, $response['headers']['status-code']); $this->assertEquals(201, $response['headers']['status-code']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEmpty($response['body']['secret']); $this->assertEmpty($response['body']['secret']);
$this->assertEquals(true, DateTime::isValid($response['body']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['expire']));
$lastEmail = $this->getLastEmail(); $lastEmail = $this->getLastEmail();
@ -1273,7 +1282,8 @@ trait AccountBase
$this->assertEquals(201, $response['headers']['status-code']); $this->assertEquals(201, $response['headers']['status-code']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEmpty($response['body']['secret']); $this->assertEmpty($response['body']['secret']);
$this->assertEquals(true, DateTime::isValid($response['body']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['expire']));
$userId = $response['body']['userId']; $userId = $response['body']['userId'];
@ -1379,7 +1389,8 @@ trait AccountBase
$this->assertEquals($response['headers']['status-code'], 200); $this->assertEquals($response['headers']['status-code'], 200);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$this->assertTrue($response['body']['emailVerification']); $this->assertTrue($response['body']['emailVerification']);
@ -1439,7 +1450,8 @@ trait AccountBase
$this->assertIsArray($response['body']); $this->assertIsArray($response['body']);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([ $response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([

View file

@ -9,7 +9,8 @@ use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Validator\DatetimeValidator;
use function sleep; use function sleep;
@ -449,7 +450,8 @@ class AccountCustomClientTest extends Scope
$this->assertIsArray($response['body']); $this->assertIsArray($response['body']);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([ $response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([
@ -700,7 +702,8 @@ class AccountCustomClientTest extends Scope
$this->assertEquals(201, $response['headers']['status-code']); $this->assertEquals(201, $response['headers']['status-code']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEmpty($response['body']['secret']); $this->assertEmpty($response['body']['secret']);
$this->assertEquals(true, DateTime::isValid($response['body']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['expire']));
$userId = $response['body']['userId']; $userId = $response['body']['userId'];
@ -800,7 +803,8 @@ class AccountCustomClientTest extends Scope
$this->assertEquals($response['headers']['status-code'], 200); $this->assertEquals($response['headers']['status-code'], 200);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['phone'], $number); $this->assertEquals($response['body']['phone'], $number);
$this->assertTrue($response['body']['phoneVerification']); $this->assertTrue($response['body']['phoneVerification']);
@ -851,7 +855,8 @@ class AccountCustomClientTest extends Scope
$this->assertIsArray($response['body']); $this->assertIsArray($response['body']);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([ $response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([
@ -893,7 +898,8 @@ class AccountCustomClientTest extends Scope
$this->assertIsArray($response['body']); $this->assertIsArray($response['body']);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['phone'], $newPhone); $this->assertEquals($response['body']['phone'], $newPhone);
/** /**
@ -943,7 +949,8 @@ class AccountCustomClientTest extends Scope
$this->assertEquals(201, $response['headers']['status-code']); $this->assertEquals(201, $response['headers']['status-code']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEmpty($response['body']['secret']); $this->assertEmpty($response['body']['secret']);
$this->assertEquals(true, DateTime::isValid($response['body']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['expire']));
\sleep(2); \sleep(2);

View file

@ -6,7 +6,7 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class AccountCustomServerTest extends Scope class AccountCustomServerTest extends Scope
{ {

View file

@ -3,11 +3,10 @@
namespace Tests\E2E\Services\Databases; namespace Tests\E2E\Services\Databases;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\Database; use Utopia\Database\Helpers\ID;
use Utopia\Database\ID; use Utopia\Database\Helpers\Permission;
use Utopia\Database\DateTime; use Utopia\Database\Helpers\Role;
use Utopia\Database\Permission; use Utopia\Database\Validator\DatetimeValidator;
use Utopia\Database\Role;
trait DatabasesBase trait DatabasesBase
{ {
@ -1532,8 +1531,9 @@ trait DatabasesBase
$this->assertEquals($databaseId, $document['body']['$databaseId']); $this->assertEquals($databaseId, $document['body']['$databaseId']);
$this->assertEquals($document['body']['title'], 'Thor: Ragnaroc'); $this->assertEquals($document['body']['title'], 'Thor: Ragnaroc');
$this->assertEquals($document['body']['releaseYear'], 2017); $this->assertEquals($document['body']['releaseYear'], 2017);
$this->assertEquals(true, DateTime::isValid($document['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, DateTime::isValid($document['body']['birthDay'])); $this->assertEquals(true, $dateValidator->isValid($document['body']['$createdAt']));
$this->assertEquals(true, $dateValidator->isValid($document['body']['birthDay']));
$this->assertContains(Permission::read(Role::user($this->getUser()['$id'])), $document['body']['$permissions']); $this->assertContains(Permission::read(Role::user($this->getUser()['$id'])), $document['body']['$permissions']);
$this->assertContains(Permission::update(Role::user($this->getUser()['$id'])), $document['body']['$permissions']); $this->assertContains(Permission::update(Role::user($this->getUser()['$id'])), $document['body']['$permissions']);
$this->assertContains(Permission::delete(Role::user($this->getUser()['$id'])), $document['body']['$permissions']); $this->assertContains(Permission::delete(Role::user($this->getUser()['$id'])), $document['body']['$permissions']);

View file

@ -6,9 +6,9 @@ use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Client; use Tests\E2E\Client;
use Tests\E2E\Scopes\SideConsole; use Tests\E2E\Scopes\SideConsole;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class DatabasesConsoleClientTest extends Scope class DatabasesConsoleClientTest extends Scope
{ {

View file

@ -6,9 +6,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class DatabasesCustomClientTest extends Scope class DatabasesCustomClientTest extends Scope
{ {

View file

@ -6,10 +6,9 @@ use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\Database; use Utopia\Database\Helpers\ID;
use Utopia\Database\ID; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Role;
use Utopia\Database\Role;
class DatabasesCustomServerTest extends Scope class DatabasesCustomServerTest extends Scope
{ {

View file

@ -6,9 +6,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
class DatabasesPermissionsGuestTest extends Scope class DatabasesPermissionsGuestTest extends Scope

View file

@ -6,9 +6,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class DatabasesPermissionsMemberTest extends Scope class DatabasesPermissionsMemberTest extends Scope
{ {

View file

@ -6,9 +6,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class DatabasesPermissionsTeamTest extends Scope class DatabasesPermissionsTeamTest extends Scope
{ {

View file

@ -6,8 +6,8 @@ use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Client; use Tests\E2E\Client;
use Tests\E2E\Scopes\SideConsole; use Tests\E2E\Scopes\SideConsole;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class FunctionsConsoleClientTest extends Scope class FunctionsConsoleClientTest extends Scope
{ {

View file

@ -9,8 +9,8 @@ use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\CLI\Console; use Utopia\CLI\Console;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class FunctionsCustomClientTest extends Scope class FunctionsCustomClientTest extends Scope
{ {

View file

@ -8,10 +8,8 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\CLI\Console; use Utopia\Database\Helpers\ID;
use Utopia\Database\Database; use Utopia\Database\Validator\DatetimeValidator;
use Utopia\Database\DateTime;
use Utopia\Database\ID;
class FunctionsCustomServerTest extends Scope class FunctionsCustomServerTest extends Scope
{ {
@ -45,8 +43,9 @@ class FunctionsCustomServerTest extends Scope
$this->assertNotEmpty($response1['body']['$id']); $this->assertNotEmpty($response1['body']['$id']);
$this->assertEquals('Test', $response1['body']['name']); $this->assertEquals('Test', $response1['body']['name']);
$this->assertEquals('php-8.0', $response1['body']['runtime']); $this->assertEquals('php-8.0', $response1['body']['runtime']);
$this->assertEquals(true, DateTime::isValid($response1['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, DateTime::isValid($response1['body']['$updatedAt'])); $this->assertEquals(true, $dateValidator->isValid($response1['body']['$createdAt']));
$this->assertEquals(true, $dateValidator->isValid($response1['body']['$updatedAt']));
$this->assertEquals('', $response1['body']['deployment']); $this->assertEquals('', $response1['body']['deployment']);
$this->assertEquals([ $this->assertEquals([
'users.*.create', 'users.*.create',
@ -328,8 +327,9 @@ class FunctionsCustomServerTest extends Scope
$this->assertEquals(200, $response1['headers']['status-code']); $this->assertEquals(200, $response1['headers']['status-code']);
$this->assertNotEmpty($response1['body']['$id']); $this->assertNotEmpty($response1['body']['$id']);
$this->assertEquals('Test1', $response1['body']['name']); $this->assertEquals('Test1', $response1['body']['name']);
$this->assertEquals(true, DateTime::isValid($response1['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, DateTime::isValid($response1['body']['$updatedAt'])); $this->assertEquals(true, $dateValidator->isValid($response1['body']['$createdAt']));
$this->assertEquals(true, $dateValidator->isValid($response1['body']['$updatedAt']));
$this->assertEquals('', $response1['body']['deployment']); $this->assertEquals('', $response1['body']['deployment']);
$this->assertEquals([ $this->assertEquals([
'users.*.update.name', 'users.*.update.name',
@ -369,7 +369,8 @@ class FunctionsCustomServerTest extends Scope
$this->assertEquals(202, $deployment['headers']['status-code']); $this->assertEquals(202, $deployment['headers']['status-code']);
$this->assertNotEmpty($deployment['body']['$id']); $this->assertNotEmpty($deployment['body']['$id']);
$this->assertEquals(true, DateTime::isValid($deployment['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($deployment['body']['$createdAt']));
$this->assertEquals('index.php', $deployment['body']['entrypoint']); $this->assertEquals('index.php', $deployment['body']['entrypoint']);
// Wait for deployment to build. // Wait for deployment to build.
@ -418,7 +419,8 @@ class FunctionsCustomServerTest extends Scope
$this->assertEquals(202, $largeTag['headers']['status-code']); $this->assertEquals(202, $largeTag['headers']['status-code']);
$this->assertNotEmpty($largeTag['body']['$id']); $this->assertNotEmpty($largeTag['body']['$id']);
$this->assertEquals(true, DateTime::isValid($largeTag['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($largeTag['body']['$createdAt']));
$this->assertEquals('index.php', $largeTag['body']['entrypoint']); $this->assertEquals('index.php', $largeTag['body']['entrypoint']);
$this->assertGreaterThan(10000, $largeTag['body']['size']); $this->assertGreaterThan(10000, $largeTag['body']['size']);
@ -440,8 +442,9 @@ class FunctionsCustomServerTest extends Scope
$this->assertEquals(200, $response['headers']['status-code']); $this->assertEquals(200, $response['headers']['status-code']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, DateTime::isValid($response['body']['$updatedAt'])); $this->assertEquals(true, $dateValidator->isValid($response['body']['$createdAt']));
$this->assertEquals(true, $dateValidator->isValid($response['body']['$updatedAt']));
$this->assertEquals($data['deploymentId'], $response['body']['deployment']); $this->assertEquals($data['deploymentId'], $response['body']['deployment']);
/** /**
@ -606,7 +609,8 @@ class FunctionsCustomServerTest extends Scope
$this->assertEquals(202, $execution['headers']['status-code']); $this->assertEquals(202, $execution['headers']['status-code']);
$this->assertNotEmpty($execution['body']['$id']); $this->assertNotEmpty($execution['body']['$id']);
$this->assertNotEmpty($execution['body']['functionId']); $this->assertNotEmpty($execution['body']['functionId']);
$this->assertEquals(true, DateTime::isValid($execution['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($execution['body']['$createdAt']));
$this->assertEquals($data['functionId'], $execution['body']['functionId']); $this->assertEquals($data['functionId'], $execution['body']['functionId']);
$this->assertEquals('waiting', $execution['body']['status']); $this->assertEquals('waiting', $execution['body']['status']);
$this->assertEquals(0, $execution['body']['statusCode']); $this->assertEquals(0, $execution['body']['statusCode']);
@ -623,7 +627,7 @@ class FunctionsCustomServerTest extends Scope
$this->assertNotEmpty($execution['body']['$id']); $this->assertNotEmpty($execution['body']['$id']);
$this->assertNotEmpty($execution['body']['functionId']); $this->assertNotEmpty($execution['body']['functionId']);
$this->assertEquals(true, DateTime::isValid($execution['body']['$createdAt'])); $this->assertEquals(true, $dateValidator->isValid($execution['body']['$createdAt']));
$this->assertEquals($data['functionId'], $execution['body']['functionId']); $this->assertEquals($data['functionId'], $execution['body']['functionId']);
$this->assertEquals('completed', $execution['body']['status']); $this->assertEquals('completed', $execution['body']['status']);
$this->assertEquals(200, $execution['body']['statusCode']); $this->assertEquals(200, $execution['body']['statusCode']);

View file

@ -7,9 +7,9 @@ use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\App; use Utopia\App;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class AbuseTest extends Scope class AbuseTest extends Scope
{ {

View file

@ -6,7 +6,7 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class AccountTest extends Scope class AccountTest extends Scope
{ {

View file

@ -6,9 +6,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
class AuthTest extends Scope class AuthTest extends Scope
{ {

View file

@ -6,7 +6,7 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class BatchTest extends Scope class BatchTest extends Scope
{ {

View file

@ -7,9 +7,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class ContentTypeTest extends Scope class ContentTypeTest extends Scope
{ {

View file

@ -6,9 +6,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class DatabaseClientTest extends Scope class DatabaseClientTest extends Scope
{ {

View file

@ -7,9 +7,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class DatabaseServerTest extends Scope class DatabaseServerTest extends Scope
{ {

View file

@ -7,8 +7,8 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class FunctionsClientTest extends Scope class FunctionsClientTest extends Scope
{ {

View file

@ -7,8 +7,8 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class FunctionsServerTest extends Scope class FunctionsServerTest extends Scope
{ {

View file

@ -7,7 +7,7 @@ use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class ScopeTest extends Scope class ScopeTest extends Scope
{ {

View file

@ -7,9 +7,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class StorageClientTest extends Scope class StorageClientTest extends Scope
{ {

View file

@ -7,9 +7,9 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class StorageServerTest extends Scope class StorageServerTest extends Scope
{ {

View file

@ -6,7 +6,7 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class TeamsClientTest extends Scope class TeamsClientTest extends Scope
{ {

View file

@ -6,7 +6,7 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class TeamsServerTest extends Scope class TeamsServerTest extends Scope
{ {

View file

@ -6,7 +6,7 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Query; use Utopia\Database\Query;
class UsersTest extends Scope class UsersTest extends Scope

View file

@ -10,7 +10,7 @@ use Tests\E2E\Services\Projects\ProjectsBase;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\Database; use Utopia\Database\Database;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class ProjectsConsoleClientTest extends Scope class ProjectsConsoleClientTest extends Scope
{ {

View file

@ -8,9 +8,9 @@ use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\SideConsole; use Tests\E2E\Scopes\SideConsole;
use Tests\E2E\Services\Functions\FunctionsBase; use Tests\E2E\Services\Functions\FunctionsBase;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class RealtimeConsoleClientTest extends Scope class RealtimeConsoleClientTest extends Scope
{ {

View file

@ -8,9 +8,9 @@ use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\CLI\Console; use Utopia\CLI\Console;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use WebSocket\ConnectionException; use WebSocket\ConnectionException;
class RealtimeCustomClientTest extends Scope class RealtimeCustomClientTest extends Scope

View file

@ -4,10 +4,10 @@ namespace Tests\E2E\Services\Storage;
use CURLFile; use CURLFile;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\DateTime; use Utopia\Database\Helpers\ID;
use Utopia\Database\ID; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Role;
use Utopia\Database\Role; use Utopia\Database\Validator\DatetimeValidator;
trait StorageBase trait StorageBase
{ {
@ -52,7 +52,8 @@ trait StorageBase
]); ]);
$this->assertEquals(201, $file['headers']['status-code']); $this->assertEquals(201, $file['headers']['status-code']);
$this->assertNotEmpty($file['body']['$id']); $this->assertNotEmpty($file['body']['$id']);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('logo.png', $file['body']['name']); $this->assertEquals('logo.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);
@ -120,7 +121,7 @@ trait StorageBase
$this->assertEquals(201, $largeFile['headers']['status-code']); $this->assertEquals(201, $largeFile['headers']['status-code']);
$this->assertNotEmpty($largeFile['body']['$id']); $this->assertNotEmpty($largeFile['body']['$id']);
$this->assertEquals(true, DateTime::isValid($largeFile['body']['$createdAt'])); $this->assertEquals(true, $dateValidator->isValid($largeFile['body']['$createdAt']));
$this->assertEquals('large-file.mp4', $largeFile['body']['name']); $this->assertEquals('large-file.mp4', $largeFile['body']['name']);
$this->assertEquals('video/mp4', $largeFile['body']['mimeType']); $this->assertEquals('video/mp4', $largeFile['body']['mimeType']);
$this->assertEquals($totalSize, $largeFile['body']['sizeOriginal']); $this->assertEquals($totalSize, $largeFile['body']['sizeOriginal']);
@ -283,7 +284,8 @@ trait StorageBase
]); ]);
$this->assertEquals(201, $file['headers']['status-code']); $this->assertEquals(201, $file['headers']['status-code']);
$this->assertNotEmpty($file['body']['$id']); $this->assertNotEmpty($file['body']['$id']);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('logo.png', $file['body']['name']); $this->assertEquals('logo.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);
@ -373,7 +375,8 @@ trait StorageBase
$this->assertEquals(200, $file1['headers']['status-code']); $this->assertEquals(200, $file1['headers']['status-code']);
$this->assertNotEmpty($file1['body']['$id']); $this->assertNotEmpty($file1['body']['$id']);
$this->assertEquals(true, DateTime::isValid($file1['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file1['body']['$createdAt']));
$this->assertEquals('logo.png', $file1['body']['name']); $this->assertEquals('logo.png', $file1['body']['name']);
$this->assertEquals('image/png', $file1['body']['mimeType']); $this->assertEquals('image/png', $file1['body']['mimeType']);
$this->assertEquals(47218, $file1['body']['sizeOriginal']); $this->assertEquals(47218, $file1['body']['sizeOriginal']);
@ -712,7 +715,8 @@ trait StorageBase
$this->assertEquals(200, $file['headers']['status-code']); $this->assertEquals(200, $file['headers']['status-code']);
$this->assertNotEmpty($file['body']['$id']); $this->assertNotEmpty($file['body']['$id']);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('logo.png', $file['body']['name']); $this->assertEquals('logo.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);

View file

@ -6,7 +6,7 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\SideConsole; use Tests\E2E\Scopes\SideConsole;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class StorageConsoleClientTest extends Scope class StorageConsoleClientTest extends Scope
{ {

View file

@ -2,21 +2,15 @@
namespace Tests\E2E\Services\Storage; namespace Tests\E2E\Services\Storage;
use Appwrite\Auth\Auth;
use CURLFile; use CURLFile;
use Exception;
use PharIo\Manifest\Author;
use SebastianBergmann\RecursionContext\InvalidArgumentException;
use PHPUnit\Framework\ExpectationFailedException;
use Tests\E2E\Client; use Tests\E2E\Client;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\DateTime; use Utopia\Database\Helpers\ID;
use Utopia\Database\ID; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Role;
use Utopia\Database\Role; use Utopia\Database\Validator\DatetimeValidator;
use Utopia\Database\Validator\Authorization;
class StorageCustomClientTest extends Scope class StorageCustomClientTest extends Scope
{ {
@ -63,7 +57,8 @@ class StorageCustomClientTest extends Scope
$fileId = $file['body']['$id']; $fileId = $file['body']['$id'];
$this->assertEquals($file['headers']['status-code'], 201); $this->assertEquals($file['headers']['status-code'], 201);
$this->assertNotEmpty($fileId); $this->assertNotEmpty($fileId);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('permissions.png', $file['body']['name']); $this->assertEquals('permissions.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);
@ -159,7 +154,8 @@ class StorageCustomClientTest extends Scope
$fileId = $file['body']['$id']; $fileId = $file['body']['$id'];
$this->assertEquals($file['headers']['status-code'], 201); $this->assertEquals($file['headers']['status-code'], 201);
$this->assertNotEmpty($fileId); $this->assertNotEmpty($fileId);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('permissions.png', $file['body']['name']); $this->assertEquals('permissions.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);
@ -245,7 +241,8 @@ class StorageCustomClientTest extends Scope
$fileId = $file['body']['$id']; $fileId = $file['body']['$id'];
$this->assertEquals($file['headers']['status-code'], 201); $this->assertEquals($file['headers']['status-code'], 201);
$this->assertNotEmpty($fileId); $this->assertNotEmpty($fileId);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('permissions.png', $file['body']['name']); $this->assertEquals('permissions.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);
@ -370,7 +367,8 @@ class StorageCustomClientTest extends Scope
$fileId = $file['body']['$id']; $fileId = $file['body']['$id'];
$this->assertEquals($file['headers']['status-code'], 201); $this->assertEquals($file['headers']['status-code'], 201);
$this->assertNotEmpty($fileId); $this->assertNotEmpty($fileId);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('permissions.png', $file['body']['name']); $this->assertEquals('permissions.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);
@ -548,7 +546,8 @@ class StorageCustomClientTest extends Scope
$fileId = $file['body']['$id']; $fileId = $file['body']['$id'];
$this->assertEquals($file['headers']['status-code'], 201); $this->assertEquals($file['headers']['status-code'], 201);
$this->assertNotEmpty($fileId); $this->assertNotEmpty($fileId);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('permissions.png', $file['body']['name']); $this->assertEquals('permissions.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);
@ -710,7 +709,8 @@ class StorageCustomClientTest extends Scope
$fileId = $file1['body']['$id']; $fileId = $file1['body']['$id'];
$this->assertEquals($file1['headers']['status-code'], 201); $this->assertEquals($file1['headers']['status-code'], 201);
$this->assertNotEmpty($fileId); $this->assertNotEmpty($fileId);
$this->assertEquals(true, DateTime::isValid($file1['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file1['body']['$createdAt']));
$this->assertEquals('permissions.png', $file1['body']['name']); $this->assertEquals('permissions.png', $file1['body']['name']);
$this->assertEquals('image/png', $file1['body']['mimeType']); $this->assertEquals('image/png', $file1['body']['mimeType']);
$this->assertEquals(47218, $file1['body']['sizeOriginal']); $this->assertEquals(47218, $file1['body']['sizeOriginal']);
@ -799,7 +799,8 @@ class StorageCustomClientTest extends Scope
$fileId = $file1['body']['$id']; $fileId = $file1['body']['$id'];
$this->assertEquals($file1['headers']['status-code'], 201); $this->assertEquals($file1['headers']['status-code'], 201);
$this->assertNotEmpty($fileId); $this->assertNotEmpty($fileId);
$this->assertEquals(true, DateTime::isValid($file1['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file1['body']['$createdAt']));
$this->assertEquals('permissions.png', $file1['body']['name']); $this->assertEquals('permissions.png', $file1['body']['name']);
$this->assertEquals('image/png', $file1['body']['mimeType']); $this->assertEquals('image/png', $file1['body']['mimeType']);
$this->assertEquals(47218, $file1['body']['sizeOriginal']); $this->assertEquals(47218, $file1['body']['sizeOriginal']);
@ -888,7 +889,8 @@ class StorageCustomClientTest extends Scope
$fileId = $file1['body']['$id']; $fileId = $file1['body']['$id'];
$this->assertEquals($file1['headers']['status-code'], 201); $this->assertEquals($file1['headers']['status-code'], 201);
$this->assertNotEmpty($fileId); $this->assertNotEmpty($fileId);
$this->assertEquals(true, DateTime::isValid($file1['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file1['body']['$createdAt']));
$this->assertEquals('permissions.png', $file1['body']['name']); $this->assertEquals('permissions.png', $file1['body']['name']);
$this->assertEquals('image/png', $file1['body']['mimeType']); $this->assertEquals('image/png', $file1['body']['mimeType']);
$this->assertEquals(47218, $file1['body']['sizeOriginal']); $this->assertEquals(47218, $file1['body']['sizeOriginal']);
@ -1027,7 +1029,8 @@ class StorageCustomClientTest extends Scope
$fileId = $file['body']['$id']; $fileId = $file['body']['$id'];
$this->assertEquals($file['headers']['status-code'], 201); $this->assertEquals($file['headers']['status-code'], 201);
$this->assertNotEmpty($fileId); $this->assertNotEmpty($fileId);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('permissions.png', $file['body']['name']); $this->assertEquals('permissions.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);
@ -1262,7 +1265,8 @@ class StorageCustomClientTest extends Scope
$this->assertContains(Permission::read(Role::user($this->getUser()['$id'])), $file['body']['$permissions']); $this->assertContains(Permission::read(Role::user($this->getUser()['$id'])), $file['body']['$permissions']);
$this->assertContains(Permission::update(Role::user($this->getUser()['$id'])), $file['body']['$permissions']); $this->assertContains(Permission::update(Role::user($this->getUser()['$id'])), $file['body']['$permissions']);
$this->assertContains(Permission::delete(Role::user($this->getUser()['$id'])), $file['body']['$permissions']); $this->assertContains(Permission::delete(Role::user($this->getUser()['$id'])), $file['body']['$permissions']);
$this->assertEquals(true, DateTime::isValid($file['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($file['body']['$createdAt']));
$this->assertEquals('permissions.png', $file['body']['name']); $this->assertEquals('permissions.png', $file['body']['name']);
$this->assertEquals('image/png', $file['body']['mimeType']); $this->assertEquals('image/png', $file['body']['mimeType']);
$this->assertEquals(47218, $file['body']['sizeOriginal']); $this->assertEquals(47218, $file['body']['sizeOriginal']);

View file

@ -6,8 +6,8 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\Database\DateTime; use Utopia\Database\Helpers\ID;
use Utopia\Database\ID; use Utopia\Database\Validator\DatetimeValidator;
class StorageCustomServerTest extends Scope class StorageCustomServerTest extends Scope
{ {
@ -30,7 +30,8 @@ class StorageCustomServerTest extends Scope
]); ]);
$this->assertEquals(201, $bucket['headers']['status-code']); $this->assertEquals(201, $bucket['headers']['status-code']);
$this->assertNotEmpty($bucket['body']['$id']); $this->assertNotEmpty($bucket['body']['$id']);
$this->assertEquals(true, DateTime::isValid($bucket['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($bucket['body']['$createdAt']));
$this->assertIsArray($bucket['body']['$permissions']); $this->assertIsArray($bucket['body']['$permissions']);
$this->assertIsArray($bucket['body']['allowedFileExtensions']); $this->assertIsArray($bucket['body']['allowedFileExtensions']);
$this->assertEquals('Test Bucket', $bucket['body']['name']); $this->assertEquals('Test Bucket', $bucket['body']['name']);
@ -228,7 +229,8 @@ class StorageCustomServerTest extends Scope
]); ]);
$this->assertEquals(200, $bucket['headers']['status-code']); $this->assertEquals(200, $bucket['headers']['status-code']);
$this->assertNotEmpty($bucket['body']['$id']); $this->assertNotEmpty($bucket['body']['$id']);
$this->assertEquals(true, DateTime::isValid($bucket['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($bucket['body']['$createdAt']));
$this->assertIsArray($bucket['body']['$permissions']); $this->assertIsArray($bucket['body']['$permissions']);
$this->assertIsArray($bucket['body']['allowedFileExtensions']); $this->assertIsArray($bucket['body']['allowedFileExtensions']);
$this->assertEquals('Test Bucket Updated', $bucket['body']['name']); $this->assertEquals('Test Bucket Updated', $bucket['body']['name']);

View file

@ -3,9 +3,8 @@
namespace Tests\E2E\Services\Teams; namespace Tests\E2E\Services\Teams;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\Database; use Utopia\Database\Helpers\ID;
use Utopia\Database\DateTime; use Utopia\Database\Validator\DatetimeValidator;
use Utopia\Database\ID;
trait TeamsBase trait TeamsBase
{ {
@ -28,7 +27,8 @@ trait TeamsBase
$this->assertEquals('Arsenal', $response1['body']['name']); $this->assertEquals('Arsenal', $response1['body']['name']);
$this->assertGreaterThan(-1, $response1['body']['total']); $this->assertGreaterThan(-1, $response1['body']['total']);
$this->assertIsInt($response1['body']['total']); $this->assertIsInt($response1['body']['total']);
$this->assertEquals(true, DateTime::isValid($response1['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response1['body']['$createdAt']));
$teamUid = $response1['body']['$id']; $teamUid = $response1['body']['$id'];
$teamName = $response1['body']['name']; $teamName = $response1['body']['name'];
@ -48,7 +48,7 @@ trait TeamsBase
$this->assertEquals('Manchester United', $response2['body']['name']); $this->assertEquals('Manchester United', $response2['body']['name']);
$this->assertGreaterThan(-1, $response2['body']['total']); $this->assertGreaterThan(-1, $response2['body']['total']);
$this->assertIsInt($response2['body']['total']); $this->assertIsInt($response2['body']['total']);
$this->assertEquals(true, DateTime::isValid($response2['body']['$createdAt'])); $this->assertEquals(true, $dateValidator->isValid($response2['body']['$createdAt']));
$response3 = $this->client->call(Client::METHOD_POST, '/teams', array_merge([ $response3 = $this->client->call(Client::METHOD_POST, '/teams', array_merge([
'content-type' => 'application/json', 'content-type' => 'application/json',
@ -63,7 +63,7 @@ trait TeamsBase
$this->assertEquals('Newcastle', $response3['body']['name']); $this->assertEquals('Newcastle', $response3['body']['name']);
$this->assertGreaterThan(-1, $response3['body']['total']); $this->assertGreaterThan(-1, $response3['body']['total']);
$this->assertIsInt($response3['body']['total']); $this->assertIsInt($response3['body']['total']);
$this->assertEquals(true, DateTime::isValid($response3['body']['$createdAt'])); $this->assertEquals(true, $dateValidator->isValid($response3['body']['$createdAt']));
/** /**
* Test for FAILURE * Test for FAILURE
*/ */
@ -98,7 +98,8 @@ trait TeamsBase
$this->assertEquals('Arsenal', $response['body']['name']); $this->assertEquals('Arsenal', $response['body']['name']);
$this->assertGreaterThan(-1, $response['body']['total']); $this->assertGreaterThan(-1, $response['body']['total']);
$this->assertIsInt($response['body']['total']); $this->assertIsInt($response['body']['total']);
$this->assertEquals(true, DateTime::isValid($response['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['$createdAt']));
/** /**
* Test for FAILURE * Test for FAILURE
@ -275,7 +276,8 @@ trait TeamsBase
$this->assertEquals('Demo', $response['body']['name']); $this->assertEquals('Demo', $response['body']['name']);
$this->assertGreaterThan(-1, $response['body']['total']); $this->assertGreaterThan(-1, $response['body']['total']);
$this->assertIsInt($response['body']['total']); $this->assertIsInt($response['body']['total']);
$this->assertEquals(true, DateTime::isValid($response['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['$createdAt']));
$response = $this->client->call(Client::METHOD_PUT, '/teams/' . $response['body']['$id'], array_merge([ $response = $this->client->call(Client::METHOD_PUT, '/teams/' . $response['body']['$id'], array_merge([
'content-type' => 'application/json', 'content-type' => 'application/json',
@ -290,7 +292,7 @@ trait TeamsBase
$this->assertEquals('Demo New', $response['body']['name']); $this->assertEquals('Demo New', $response['body']['name']);
$this->assertGreaterThan(-1, $response['body']['total']); $this->assertGreaterThan(-1, $response['body']['total']);
$this->assertIsInt($response['body']['total']); $this->assertIsInt($response['body']['total']);
$this->assertEquals(true, DateTime::isValid($response['body']['$createdAt'])); $this->assertEquals(true, $dateValidator->isValid($response['body']['$createdAt']));
/** /**
* Test for FAILURE * Test for FAILURE
@ -326,7 +328,8 @@ trait TeamsBase
$this->assertEquals('Demo', $response['body']['name']); $this->assertEquals('Demo', $response['body']['name']);
$this->assertGreaterThan(-1, $response['body']['total']); $this->assertGreaterThan(-1, $response['body']['total']);
$this->assertIsInt($response['body']['total']); $this->assertIsInt($response['body']['total']);
$this->assertEquals(true, DateTime::isValid($response['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['$createdAt']));
$response = $this->client->call(Client::METHOD_DELETE, '/teams/' . $teamUid, array_merge([ $response = $this->client->call(Client::METHOD_DELETE, '/teams/' . $teamUid, array_merge([
'content-type' => 'application/json', 'content-type' => 'application/json',

View file

@ -3,8 +3,8 @@
namespace Tests\E2E\Services\Teams; namespace Tests\E2E\Services\Teams;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\DateTime; use Utopia\Database\Helpers\ID;
use Utopia\Database\ID; use Utopia\Database\Validator\DatetimeValidator;
trait TeamsBaseClient trait TeamsBaseClient
{ {
@ -150,7 +150,8 @@ trait TeamsBaseClient
$this->assertNotEmpty($response['body']['teamId']); $this->assertNotEmpty($response['body']['teamId']);
$this->assertNotEmpty($response['body']['teamName']); $this->assertNotEmpty($response['body']['teamName']);
$this->assertCount(2, $response['body']['roles']); $this->assertCount(2, $response['body']['roles']);
$this->assertEquals(false, DateTime::isValid($response['body']['joined'])); // is null in DB $dateValidator = new DatetimeValidator();
$this->assertEquals(false, $dateValidator->isValid($response['body']['joined'])); // is null in DB
$this->assertEquals(false, $response['body']['confirm']); $this->assertEquals(false, $response['body']['confirm']);
/** /**
@ -203,7 +204,8 @@ trait TeamsBaseClient
$this->assertNotEmpty($response['body']['teamId']); $this->assertNotEmpty($response['body']['teamId']);
$this->assertNotEmpty($response['body']['teamName']); $this->assertNotEmpty($response['body']['teamName']);
$this->assertCount(2, $response['body']['roles']); $this->assertCount(2, $response['body']['roles']);
$this->assertEquals(false, DateTime::isValid($response['body']['joined'])); // is null in DB $dateValidator = new DatetimeValidator();
$this->assertEquals(false, $dateValidator->isValid($response['body']['joined'])); // is null in DB
$this->assertEquals(false, $response['body']['confirm']); $this->assertEquals(false, $response['body']['confirm']);
$lastEmail = $this->getLastEmail(); $lastEmail = $this->getLastEmail();
@ -337,7 +339,8 @@ trait TeamsBaseClient
$this->assertNotEmpty($response['body']['userId']); $this->assertNotEmpty($response['body']['userId']);
$this->assertNotEmpty($response['body']['teamId']); $this->assertNotEmpty($response['body']['teamId']);
$this->assertCount(2, $response['body']['roles']); $this->assertCount(2, $response['body']['roles']);
$this->assertEquals(true, DateTime::isValid($response['body']['joined'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['joined']));
$this->assertEquals(true, $response['body']['confirm']); $this->assertEquals(true, $response['body']['confirm']);
$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']];
$data['session'] = $session; $data['session'] = $session;
@ -369,7 +372,7 @@ trait TeamsBaseClient
$this->assertIsArray($response['body']); $this->assertIsArray($response['body']);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$this->assertEquals($response['body']['name'], $name); $this->assertEquals($response['body']['name'], $name);
@ -403,7 +406,7 @@ trait TeamsBaseClient
$this->assertIsArray($response['body']); $this->assertIsArray($response['body']);
$this->assertNotEmpty($response['body']); $this->assertNotEmpty($response['body']);
$this->assertNotEmpty($response['body']['$id']); $this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(true, DateTime::isValid($response['body']['registration'])); $this->assertEquals(true, $dateValidator->isValid($response['body']['registration']));
$this->assertEquals($response['body']['email'], $email); $this->assertEquals($response['body']['email'], $email);
$this->assertEquals($response['body']['name'], $name); $this->assertEquals($response['body']['name'], $name);

View file

@ -3,8 +3,7 @@
namespace Tests\E2E\Services\Teams; namespace Tests\E2E\Services\Teams;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\Database; use Utopia\Database\Validator\DatetimeValidator;
use Utopia\Database\DateTime;
trait TeamsBaseServer trait TeamsBaseServer
{ {
@ -57,7 +56,8 @@ trait TeamsBaseServer
$this->assertNotEmpty($response['body']['teamId']); $this->assertNotEmpty($response['body']['teamId']);
$this->assertNotEmpty($response['body']['teamName']); $this->assertNotEmpty($response['body']['teamName']);
$this->assertCount(2, $response['body']['roles']); $this->assertCount(2, $response['body']['roles']);
$this->assertEquals(true, DateTime::isValid($response['body']['joined'])); // is null in DB $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['joined'])); // is null in DB
$this->assertEquals(true, $response['body']['confirm']); $this->assertEquals(true, $response['body']['confirm']);
/** /**
@ -108,7 +108,8 @@ trait TeamsBaseServer
$this->assertEquals($email, $response['body']['userEmail']); $this->assertEquals($email, $response['body']['userEmail']);
$this->assertNotEmpty($response['body']['teamId']); $this->assertNotEmpty($response['body']['teamId']);
$this->assertCount(2, $response['body']['roles']); $this->assertCount(2, $response['body']['roles']);
$this->assertEquals(true, DateTime::isValid($response['body']['joined'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['joined']));
$this->assertEquals(true, $response['body']['confirm']); $this->assertEquals(true, $response['body']['confirm']);
$userUid = $response['body']['userId']; $userUid = $response['body']['userId'];
@ -252,7 +253,8 @@ trait TeamsBaseServer
$this->assertEquals('Arsenal', $response['body']['name']); $this->assertEquals('Arsenal', $response['body']['name']);
$this->assertEquals(1, $response['body']['total']); $this->assertEquals(1, $response['body']['total']);
$this->assertIsInt($response['body']['total']); $this->assertIsInt($response['body']['total']);
$this->assertEquals(true, DateTime::isValid($response['body']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($response['body']['$createdAt']));
/** Delete User */ /** Delete User */
$user = $this->client->call(Client::METHOD_DELETE, '/users/' . $userUid, array_merge([ $user = $this->client->call(Client::METHOD_DELETE, '/users/' . $userUid, array_merge([
@ -277,6 +279,6 @@ trait TeamsBaseServer
$this->assertEquals('Arsenal', $response['body']['name']); $this->assertEquals('Arsenal', $response['body']['name']);
$this->assertEquals(0, $response['body']['total']); $this->assertEquals(0, $response['body']['total']);
$this->assertIsInt($response['body']['total']); $this->assertIsInt($response['body']['total']);
$this->assertEquals(true, DateTime::isValid($response['body']['$createdAt'])); $this->assertEquals(true, $dateValidator->isValid($response['body']['$createdAt']));
} }
} }

View file

@ -6,7 +6,7 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectConsole; use Tests\E2E\Scopes\ProjectConsole;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class TeamsConsoleClientTest extends Scope class TeamsConsoleClientTest extends Scope
{ {

View file

@ -4,7 +4,7 @@ namespace Tests\E2E\Services\Users;
use Appwrite\Tests\Retry; use Appwrite\Tests\Retry;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
trait UsersBase trait UsersBase
{ {

View file

@ -5,10 +5,10 @@ namespace Tests\E2E\Services\Webhooks;
use Appwrite\Tests\Retry; use Appwrite\Tests\Retry;
use CURLFile; use CURLFile;
use Tests\E2E\Client; use Tests\E2E\Client;
use Utopia\Database\DateTime; use Utopia\Database\Helpers\ID;
use Utopia\Database\ID; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Role;
use Utopia\Database\Role; use Utopia\Database\Validator\DatetimeValidator;
trait WebhooksBase trait WebhooksBase
{ {
@ -529,7 +529,8 @@ trait WebhooksBase
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertIsArray($webhook['data']['$permissions']); $this->assertIsArray($webhook['data']['$permissions']);
$this->assertEquals($webhook['data']['name'], 'logo.png'); $this->assertEquals($webhook['data']['name'], 'logo.png');
$this->assertEquals(true, DateTime::isValid($webhook['data']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['$createdAt']));
$this->assertNotEmpty($webhook['data']['signature']); $this->assertNotEmpty($webhook['data']['signature']);
$this->assertEquals($webhook['data']['mimeType'], 'image/png'); $this->assertEquals($webhook['data']['mimeType'], 'image/png');
$this->assertEquals($webhook['data']['sizeOriginal'], 47218); $this->assertEquals($webhook['data']['sizeOriginal'], 47218);
@ -587,7 +588,8 @@ trait WebhooksBase
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertIsArray($webhook['data']['$permissions']); $this->assertIsArray($webhook['data']['$permissions']);
$this->assertEquals($webhook['data']['name'], 'logo.png'); $this->assertEquals($webhook['data']['name'], 'logo.png');
$this->assertEquals(true, DateTime::isValid($webhook['data']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['$createdAt']));
$this->assertNotEmpty($webhook['data']['signature']); $this->assertNotEmpty($webhook['data']['signature']);
$this->assertEquals($webhook['data']['mimeType'], 'image/png'); $this->assertEquals($webhook['data']['mimeType'], 'image/png');
$this->assertEquals($webhook['data']['sizeOriginal'], 47218); $this->assertEquals($webhook['data']['sizeOriginal'], 47218);
@ -637,7 +639,8 @@ trait WebhooksBase
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertIsArray($webhook['data']['$permissions']); $this->assertIsArray($webhook['data']['$permissions']);
$this->assertEquals($webhook['data']['name'], 'logo.png'); $this->assertEquals($webhook['data']['name'], 'logo.png');
$this->assertEquals(true, DateTime::isValid($webhook['data']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['$createdAt']));
$this->assertNotEmpty($webhook['data']['signature']); $this->assertNotEmpty($webhook['data']['signature']);
$this->assertEquals($webhook['data']['mimeType'], 'image/png'); $this->assertEquals($webhook['data']['mimeType'], 'image/png');
$this->assertEquals($webhook['data']['sizeOriginal'], 47218); $this->assertEquals($webhook['data']['sizeOriginal'], 47218);
@ -719,7 +722,8 @@ trait WebhooksBase
$this->assertEquals('Arsenal', $webhook['data']['name']); $this->assertEquals('Arsenal', $webhook['data']['name']);
$this->assertGreaterThan(-1, $webhook['data']['total']); $this->assertGreaterThan(-1, $webhook['data']['total']);
$this->assertIsInt($webhook['data']['total']); $this->assertIsInt($webhook['data']['total']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['$createdAt']));
/** /**
* Test for FAILURE * Test for FAILURE
@ -764,7 +768,8 @@ trait WebhooksBase
$this->assertEquals('Demo New', $webhook['data']['name']); $this->assertEquals('Demo New', $webhook['data']['name']);
$this->assertGreaterThan(-1, $webhook['data']['total']); $this->assertGreaterThan(-1, $webhook['data']['total']);
$this->assertIsInt($webhook['data']['total']); $this->assertIsInt($webhook['data']['total']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['$createdAt']));
/** /**
* Test for FAILURE * Test for FAILURE
@ -813,7 +818,8 @@ trait WebhooksBase
$this->assertEquals('Chelsea', $webhook['data']['name']); $this->assertEquals('Chelsea', $webhook['data']['name']);
$this->assertGreaterThan(-1, $webhook['data']['total']); $this->assertGreaterThan(-1, $webhook['data']['total']);
$this->assertIsInt($webhook['data']['total']); $this->assertIsInt($webhook['data']['total']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['$createdAt'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['$createdAt']));
/** /**
* Test for FAILURE * Test for FAILURE
@ -874,7 +880,8 @@ trait WebhooksBase
$this->assertNotEmpty($webhook['data']['userId']); $this->assertNotEmpty($webhook['data']['userId']);
$this->assertNotEmpty($webhook['data']['teamId']); $this->assertNotEmpty($webhook['data']['teamId']);
$this->assertCount(2, $webhook['data']['roles']); $this->assertCount(2, $webhook['data']['roles']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['invited'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['invited']));
$this->assertEquals(('server' === $this->getSide()), $webhook['data']['confirm']); $this->assertEquals(('server' === $this->getSide()), $webhook['data']['confirm']);
/** /**
@ -946,7 +953,8 @@ trait WebhooksBase
$this->assertNotEmpty($webhook['data']['userId']); $this->assertNotEmpty($webhook['data']['userId']);
$this->assertNotEmpty($webhook['data']['teamId']); $this->assertNotEmpty($webhook['data']['teamId']);
$this->assertCount(2, $webhook['data']['roles']); $this->assertCount(2, $webhook['data']['roles']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['invited'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['invited']));
$this->assertEquals(('server' === $this->getSide()), $webhook['data']['confirm']); $this->assertEquals(('server' === $this->getSide()), $webhook['data']['confirm']);
} }
} }

View file

@ -7,8 +7,8 @@ use Tests\E2E\Client;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\ProjectCustom; use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\SideClient; use Tests\E2E\Scopes\SideClient;
use Utopia\Database\DateTime; use Utopia\Database\Helpers\ID;
use Utopia\Database\ID; use Utopia\Database\Validator\DatetimeValidator;
class WebhooksCustomClientTest extends Scope class WebhooksCustomClientTest extends Scope
{ {
@ -60,7 +60,8 @@ class WebhooksCustomClientTest extends Scope
$this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id']), true); $this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id']), true);
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertEquals($webhook['data']['name'], $name); $this->assertEquals($webhook['data']['name'], $name);
$this->assertEquals(true, DateTime::isValid($webhook['data']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['registration']));
$this->assertEquals($webhook['data']['status'], true); $this->assertEquals($webhook['data']['status'], true);
$this->assertEquals($webhook['data']['email'], $email); $this->assertEquals($webhook['data']['email'], $email);
$this->assertEquals($webhook['data']['emailVerification'], false); $this->assertEquals($webhook['data']['emailVerification'], false);
@ -136,7 +137,8 @@ class WebhooksCustomClientTest extends Scope
$this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide())); $this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide()));
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertEquals($webhook['data']['name'], $name); $this->assertEquals($webhook['data']['name'], $name);
$this->assertEquals(true, DateTime::isValid($webhook['data']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['registration']));
$this->assertEquals($webhook['data']['status'], false); $this->assertEquals($webhook['data']['status'], false);
$this->assertEquals($webhook['data']['email'], $email); $this->assertEquals($webhook['data']['email'], $email);
$this->assertEquals($webhook['data']['emailVerification'], false); $this->assertEquals($webhook['data']['emailVerification'], false);
@ -196,7 +198,8 @@ class WebhooksCustomClientTest extends Scope
$this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id']), true); $this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id']), true);
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertNotEmpty($webhook['data']['userId']); $this->assertNotEmpty($webhook['data']['userId']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['expire']));
$this->assertEquals($webhook['data']['ip'], '127.0.0.1'); $this->assertEquals($webhook['data']['ip'], '127.0.0.1');
$this->assertNotEmpty($webhook['data']['osCode']); $this->assertNotEmpty($webhook['data']['osCode']);
$this->assertIsString($webhook['data']['osCode']); $this->assertIsString($webhook['data']['osCode']);
@ -371,7 +374,8 @@ class WebhooksCustomClientTest extends Scope
$this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide())); $this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide()));
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertNotEmpty($webhook['data']['userId']); $this->assertNotEmpty($webhook['data']['userId']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['expire']));
$this->assertEquals($webhook['data']['ip'], '127.0.0.1'); $this->assertEquals($webhook['data']['ip'], '127.0.0.1');
$this->assertNotEmpty($webhook['data']['osCode']); $this->assertNotEmpty($webhook['data']['osCode']);
$this->assertIsString($webhook['data']['osCode']); $this->assertIsString($webhook['data']['osCode']);
@ -683,7 +687,8 @@ class WebhooksCustomClientTest extends Scope
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertNotEmpty($webhook['data']['userId']); $this->assertNotEmpty($webhook['data']['userId']);
$this->assertNotEmpty($webhook['data']['secret']); $this->assertNotEmpty($webhook['data']['secret']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['expire']));
$data['secret'] = $webhook['data']['secret']; $data['secret'] = $webhook['data']['secret'];
@ -743,7 +748,8 @@ class WebhooksCustomClientTest extends Scope
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertNotEmpty($webhook['data']['userId']); $this->assertNotEmpty($webhook['data']['userId']);
$this->assertNotEmpty($webhook['data']['secret']); $this->assertNotEmpty($webhook['data']['secret']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['expire']));
$data['secret'] = $webhook['data']['secret']; $data['secret'] = $webhook['data']['secret'];
@ -799,7 +805,8 @@ class WebhooksCustomClientTest extends Scope
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertNotEmpty($webhook['data']['userId']); $this->assertNotEmpty($webhook['data']['userId']);
$this->assertNotEmpty($webhook['data']['secret']); $this->assertNotEmpty($webhook['data']['secret']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['expire']));
$data['secret'] = $webhook['data']['secret']; $data['secret'] = $webhook['data']['secret'];
@ -857,7 +864,8 @@ class WebhooksCustomClientTest extends Scope
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertNotEmpty($webhook['data']['userId']); $this->assertNotEmpty($webhook['data']['userId']);
$this->assertNotEmpty($webhook['data']['secret']); $this->assertNotEmpty($webhook['data']['secret']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['expire'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['expire']));
$data['secret'] = $webhook['data']['secret']; $data['secret'] = $webhook['data']['secret'];
@ -920,7 +928,8 @@ class WebhooksCustomClientTest extends Scope
$this->assertNotEmpty($webhook['data']['userId']); $this->assertNotEmpty($webhook['data']['userId']);
$this->assertNotEmpty($webhook['data']['teamId']); $this->assertNotEmpty($webhook['data']['teamId']);
$this->assertCount(2, $webhook['data']['roles']); $this->assertCount(2, $webhook['data']['roles']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['joined'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['joined']));
$this->assertEquals(true, $webhook['data']['confirm']); $this->assertEquals(true, $webhook['data']['confirm']);
/** /**

View file

@ -8,10 +8,10 @@ use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope; use Tests\E2E\Scopes\Scope;
use Tests\E2E\Scopes\SideServer; use Tests\E2E\Scopes\SideServer;
use Utopia\CLI\Console; use Utopia\CLI\Console;
use Utopia\Database\DateTime; use Utopia\Database\Helpers\ID;
use Utopia\Database\ID; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Role;
use Utopia\Database\Role; use Utopia\Database\Validator\DatetimeValidator;
class WebhooksCustomServerTest extends Scope class WebhooksCustomServerTest extends Scope
{ {
@ -245,7 +245,8 @@ class WebhooksCustomServerTest extends Scope
$this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide())); $this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide()));
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertEquals($webhook['data']['name'], $name); $this->assertEquals($webhook['data']['name'], $name);
$this->assertEquals(true, DateTime::isValid($webhook['data']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['registration']));
$this->assertEquals($webhook['data']['status'], true); $this->assertEquals($webhook['data']['status'], true);
$this->assertEquals($webhook['data']['email'], $email); $this->assertEquals($webhook['data']['email'], $email);
$this->assertEquals($webhook['data']['emailVerification'], false); $this->assertEquals($webhook['data']['emailVerification'], false);
@ -336,7 +337,8 @@ class WebhooksCustomServerTest extends Scope
$this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide())); $this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide()));
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertEquals($webhook['data']['name'], $data['name']); $this->assertEquals($webhook['data']['name'], $data['name']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['registration']));
$this->assertEquals($webhook['data']['status'], false); $this->assertEquals($webhook['data']['status'], false);
$this->assertEquals($webhook['data']['email'], $data['email']); $this->assertEquals($webhook['data']['email'], $data['email']);
$this->assertEquals($webhook['data']['emailVerification'], false); $this->assertEquals($webhook['data']['emailVerification'], false);
@ -378,7 +380,8 @@ class WebhooksCustomServerTest extends Scope
$this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide())); $this->assertEquals(empty($webhook['headers']['X-Appwrite-Webhook-User-Id'] ?? ''), ('server' === $this->getSide()));
$this->assertNotEmpty($webhook['data']['$id']); $this->assertNotEmpty($webhook['data']['$id']);
$this->assertEquals($webhook['data']['name'], $data['name']); $this->assertEquals($webhook['data']['name'], $data['name']);
$this->assertEquals(true, DateTime::isValid($webhook['data']['registration'])); $dateValidator = new DatetimeValidator();
$this->assertEquals(true, $dateValidator->isValid($webhook['data']['registration']));
$this->assertEquals($webhook['data']['status'], false); $this->assertEquals($webhook['data']['status'], false);
$this->assertEquals($webhook['data']['email'], $data['email']); $this->assertEquals($webhook['data']['email'], $data['email']);
$this->assertEquals($webhook['data']['emailVerification'], false); $this->assertEquals($webhook['data']['emailVerification'], false);

View file

@ -5,8 +5,8 @@ namespace Tests\Unit\Auth;
use Appwrite\Auth\Auth; use Appwrite\Auth\Auth;
use Utopia\Database\DateTime; use Utopia\Database\DateTime;
use Utopia\Database\Document; use Utopia\Database\Document;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use Utopia\Database\Database; use Utopia\Database\Database;

View file

@ -6,8 +6,8 @@ use Appwrite\Auth\Auth;
use Utopia\Database\Document; use Utopia\Database\Document;
use Appwrite\Messaging\Adapter\Realtime; use Appwrite\Messaging\Adapter\Realtime;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class MessagingChannelsTest extends TestCase class MessagingChannelsTest extends TestCase
{ {

View file

@ -4,8 +4,8 @@ namespace Tests\Unit\Messaging;
use Appwrite\Messaging\Adapter\Realtime; use Appwrite\Messaging\Adapter\Realtime;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class MessagingGuestTest extends TestCase class MessagingGuestTest extends TestCase
{ {

View file

@ -5,9 +5,9 @@ namespace Tests\Unit\Messaging;
use Utopia\Database\Document; use Utopia\Database\Document;
use Appwrite\Messaging\Adapter\Realtime; use Appwrite\Messaging\Adapter\Realtime;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
class MessagingTest extends TestCase class MessagingTest extends TestCase
{ {

View file

@ -4,7 +4,7 @@ namespace Tests\Unit\Network\Validators;
use Appwrite\Network\Validator\Origin; use Appwrite\Network\Validator\Origin;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use Utopia\Database\ID; use Utopia\Database\Helpers\ID;
class OriginTest extends TestCase class OriginTest extends TestCase
{ {

View file

@ -4,8 +4,8 @@ namespace Tests\Unit\Utopia\Response\Filters;
use Appwrite\Utopia\Response\Filters\V15; use Appwrite\Utopia\Response\Filters\V15;
use Appwrite\Utopia\Response; use Appwrite\Utopia\Response;
use Utopia\Database\Permission; use Utopia\Database\Helpers\Permission;
use Utopia\Database\Role; use Utopia\Database\Helpers\Role;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use stdClass; use stdClass;